<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://abdulovera.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adept</id>
	<title>AbduloverA.com - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://abdulovera.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Adept"/>
	<link rel="alternate" type="text/html" href="https://abdulovera.com/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Adept"/>
	<updated>2026-10-20T23:52:33Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=4864</id>
		<title>Абдулизирование</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=4864"/>
		<updated>2026-10-20T20:34:06Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Абдулизирование в Абдулизирование (терминология)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Абдулизирование (терминология)]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4863</id>
		<title>Абдулизирование (терминология)</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4863"/>
		<updated>2026-10-20T20:34:06Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Абдулизирование в Абдулизирование (терминология)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Абдулизирование (терминология) =&lt;br /&gt;
&#039;&#039;&#039;Абдулизирование&#039;&#039;&#039; (&#039;&#039;абдулизация, абдулофикация&#039;&#039;) — процесс приведения чего-либо в соответствие с абдулостилистикой путём добавления соответствующей атрибутики. Зачастую термин используется контентмейкерами при создании абдулоартов и абдуловидео.&lt;br /&gt;
&lt;br /&gt;
== Культурное значение ==&lt;br /&gt;
Данный вид абдулотворчества не существует в качестве веяния времени и потребности. Абдулизация по сути и есть то, с чего начало распространять себя Абдуловерование. Самые первые арты и видео, в том числе и Пророка Абдуля, абдулизировали понятия обзоров игр, артоделия и всего подобного.&lt;br /&gt;
&lt;br /&gt;
Целью абдулизирования, прежде всего, является не само создание видео или мема, а популяризация добавляемых абдуленных частиц через сторонний контент. Допустим, вы видите сообщество любителей некой медийной личности и среди его участников продвигаете Абдуловеру. Однозначно, если просто херачить туда посты с Абдуловым, значительно меньшее количество народа заинтересуется. Однако же, в случае абдулизации понятных определённой группе лиц ассоциаций, становится намного проще приобщить их к ДОбру.&lt;br /&gt;
&lt;br /&gt;
Можно сделать вывод, что абдулизирование не является созданием чистого абдулоконтента. Этот процесс является методом его продвижения. Подход к нему тоже может встречаться разный:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Дилетантский&#039;&#039;&#039; — обычно выражается в добавлении кому-то светящихся красных глаз, что малым образом относится к понятию абдулизации.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Продвинутый&#039;&#039;&#039; — добавление атрибутики, прямо относящейся к Абдуловере: Биборан, Абдулов (или иные лица, считающиеся каноничными в абдулосообществах) и т. п.&lt;br /&gt;
&lt;br /&gt;
== Абдулонаучное значение ==&lt;br /&gt;
Абдулизация чего-либо в большинстве случаев не является расширением лора или попыткой объяснить с абдулонаучной точки зрения наличие Биборана в руках очередного Папы &amp;lt;s&amp;gt;Кейна&amp;lt;/s&amp;gt; Римского. Понимать сие стоит лишь как процесс прагматичной рекламы, дабы привлечь к изучению Абдулорелигии как можно большее количество народа.&lt;br /&gt;
&lt;br /&gt;
Тем не менее, это всё таки имеет под собой некий фундамент, так как фактически абдулизирование чужеродного контента очищает его от негативного влияния или духа Старого Сатаны, а ещё может изображать проекцию души выбранного героя в Абдулоаду.&lt;br /&gt;
&lt;br /&gt;
== Немного рекомендаций по абдулизации ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Не Абдулизируйте заведомо неабдулоугодное!&#039;&#039;&#039; В абдулосообществе, как и в любом другом обществе есть свои «табу», которые распространяются в том числе и на культуру, и на её деятелей. Так, например, если вы решите абдулизировать аниме, пидерастов &#039;&#039;(не важно какой разновидности),&#039;&#039; то столкнётесь, мягко говоря, с некоторыми недопониманиями. В случае с грешниками на первый взгляд ситуация такая же, однако абдулоиконы с ними всё таки делаются &#039;&#039;(в виде изображения копии их души)&#039;&#039; — это создаёт их земной проекции отрицательную ауру и способствует наведению порчи насмерть.&lt;br /&gt;
# &#039;&#039;&#039;Не доводите до абсурда.&#039;&#039;&#039; К Абдулизации следует подходить ответственно и осознанно: старайтесь так или иначе, но обосновать придание абдуленности условному &#039;&#039;Кайзеру Вильгельму третьему&#039;&#039;. Если ваша абдулизация становится похожа на унитаз с красными глазами, значит вы &amp;lt;s&amp;gt;мудак&amp;lt;/s&amp;gt; что-то явно делаете не так — в основном абдулизировать неодушевлённые предметы не представляется возможным &#039;&#039;(исключения встречаются, например, с водкой и табаком)&#039;&#039;. Моветоном так же считается абдулизировать себя самого и своих одноклассников/однокурсников и т. д.&lt;br /&gt;
# &#039;&#039;&#039;Пользуйтесь гайдами и ищите советов.&#039;&#039;&#039; Прежде чем приступить к абдулизации чего-либо и в случае, если у вас нет хотя бы поверхностных знаний фотошопа и абдулокультуры, непременно следует изучить различные абдуловские гайды по написанию, например, абдулоикон или созданию красных богосатанинских глаз. Немаловажным так же будет посоветоваться с абдулокреативщиками и контентмейкерами, которые обязательно вам помогут и зададут верное направление вашей абдулизации&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9_%D0%9F%D0%BE%D0%B4%D0%BD%D0%B5%D0%B1%D0%B5%D1%81%D0%BD%D1%8B%D0%B9&amp;diff=4862</id>
		<title>Алексей Поднебесный</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9_%D0%9F%D0%BE%D0%B4%D0%BD%D0%B5%D0%B1%D0%B5%D1%81%D0%BD%D1%8B%D0%B9&amp;diff=4862"/>
		<updated>2026-10-20T20:28:55Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка Грешника&lt;br /&gt;
|color=orange&lt;br /&gt;
|sinnername=Алексей Поднебесный&lt;br /&gt;
|image=Undersky.jpg&lt;br /&gt;
|nickname=Лёша Педофил&lt;br /&gt;
|firstname=Поднебесный Алексей Николаевич&lt;br /&gt;
|birthdate=4 июля 1978 года&lt;br /&gt;
|city=Нижний Новгород&lt;br /&gt;
|maincarrer=Блогер-педофил, бывший сотрудник прокуратуры&lt;br /&gt;
|diagnosis=Педофилия, озонизация, феторизм&lt;br /&gt;
|notes=Любитель маленьких девочек, а так же просто агрессивный шиз&lt;br /&gt;
|status=Под наблюдением&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Алексей Поднебесный&#039;&#039;&#039; &#039;&#039;(он же Педобесный, Ковшерылый, Лёша Педофил, Король Инцелов, MrUndersky, Ковш, Ссаный Матрас, Мальвина)&#039;&#039; — один из самых известных педофилов Нижнего (как [[Нижний интернет|интернета]], так и Новгорода тоже), классический инфантильный фрик и долбоеб, возомнивший себя &amp;quot;вождем&amp;quot; и &amp;quot;страдальцем&amp;quot;, при этом же агрессирующий на всех и неспособный к коммуникации. Этот крашеный пидор с ебалом, побитым жизнью, прославился как стример-коммунист, &amp;quot;правозащитник&amp;quot; и секс-блогер, а по факту — как клинический [[Педофилия в абдулонауке|педофил]], лжец и лицемер, &#039;&#039;&#039;сломавший судьбы людей&#039;&#039;&#039; и добившийся своих целей дорогой ценой.&lt;br /&gt;
&lt;br /&gt;
Вся его идея, на самом деле, направлена исключительно на &#039;&#039;&#039;извлечение выгоды для себя любимого&#039;&#039;&#039;. Он возомнил себя &amp;quot;вождем&amp;quot;, а фактически является ребенком-переростком, который не может даже интернет себе оплатить без донатов.&lt;br /&gt;
&lt;br /&gt;
Вся система, которую он выстраивал, пошла по пизде, как только он поехал топтать &amp;lt;s&amp;gt;петушиный&amp;lt;/s&amp;gt; авторитетный угол в СИЗО по статье о совращении малолетних. Ныне имеет не только [[Абдуловерование|абдуловский]], но и судебный запрет на пользование интернетом — отсиживает трёхлетний срок в колонии общего режима.&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Пациент 1978 года розлива, родился еще в Cовке и там же выучился на юрфаке в 90-х. Как и полагается совковому образованию, на карьере оно нихуя не отразилось, так как проработал недолго. Сумел, однако, влезть в &#039;&#039;&#039;прокуратуру&#039;&#039;&#039;, но его быстро турнули оттуда. Сам пациент пиздит, что боролся с коррупцией, но, по другим данным, его выгнали за лютую конфликтность, драки и агрессивное поведение. Уже тогда характер Педофильного был очевиден.&lt;br /&gt;
&lt;br /&gt;
С позором его выперли уже в 2005-м. Официальный повод — &#039;&#039;&#039;проступок, порочащий честь прокурорского работника&#039;&#039;&#039;, после того, как этот холерик &#039;&#039;&#039;показал кулак&#039;&#039;&#039; сослуживцу за то, что тот посмел тронуть его драгоценный компьютер. Естественно, сам он пиздит, что его вышвырнули за &amp;quot;борьбу с коррупцией&amp;quot; и &amp;quot;моральное превосходство&amp;quot; над коллегами-уебанами. В его вселенной он всегда — праведный мученик.&lt;br /&gt;
&lt;br /&gt;
=== Мальвина с ножиком ===&lt;br /&gt;
[[Файл:Nozh.jpg|слева|мини|279x279px|О чём мечтает Лёша, когда на стриме орёт что зарежет тебя]]&lt;br /&gt;
После увольнения это тело подалось в &amp;quot;активизм&amp;quot; и &amp;quot;правозащиту&amp;quot;, борясь против завышенных тарифов и уплотнительной застройки. В 2011 году, во время &amp;quot;православного молодёжного сражения&amp;quot;, он умудрился познакомиться со своей первой женой, &#039;&#039;&#039;Евгенией&#039;&#039;&#039;, на которой и женился.&lt;br /&gt;
&lt;br /&gt;
Именно в 2011 году и произошел первый крупный &#039;&#039;&#039;залёт на парашу&#039;&#039;&#039;. Во время отдыха с женой на них напали двое пьяных. Наш герой, вместо того чтобы по базе [[Силовера|силоверы]] дать пизды кулаками, достал &#039;&#039;&#039;ножик для &amp;lt;s&amp;gt;маслят&amp;lt;/s&amp;gt; грибов&#039;&#039;&#039; и пырнул одного из нападавших в живот. А когда приехали менты, он еще и распылил &#039;&#039;&#039;газовый баллончик в ебало полицейскому&#039;&#039;&#039;. В итоге, суд отправил его на &#039;&#039;&#039;4 года условно&#039;&#039;&#039;. Сам &amp;quot;святой&amp;quot;, конечно, уверен, что тех пьяных гопников &#039;&#039;&#039;наняли застройщики&#039;&#039;&#039;, которым он мешал своим &amp;quot;праведным&amp;quot; активизмом.&lt;br /&gt;
&lt;br /&gt;
=== Рождение Инцела ===&lt;br /&gt;
В 2013 году этот пидор записал знаменитое &#039;&#039;&#039;видеообращение&#039;&#039;&#039;, где обозвал свой родной город &#039;&#039;&#039;&amp;quot;трусливым городишком&amp;quot;&#039;&#039;&#039;. Причиной стал величайший позор: он отсидел 7 суток в спецприемнике за расклейку листовок, а когда вышел, менты &#039;&#039;&#039;не вернули ему его единственную куртку&#039;&#039;&#039;. Никто из &amp;quot;сочувствующих&amp;quot; не скинулся ему на новую, что окончательно его разочаровало.&lt;br /&gt;
&lt;br /&gt;
Финальный гвоздь: в 2016 году, после шести лет брака, от него сбежала первая жена, &#039;&#039;&#039;Евгения&#039;&#039;&#039;, тупо &#039;&#039;&#039;сменив замки&#039;&#039;&#039;. Развод этот уебок списал на свою &#039;&#039;&#039;&amp;quot;революционную деятельность&amp;quot;&#039;&#039;&#039;. Обидевшись, он засел на теплотрассе и ударился в мужское движение (МД). Однако МД ему не понравилось, потому что там &amp;quot;толстые дядьки перетирали, как не платить алименты&amp;quot;. По альтернативной информации, Лёша сам хотел прекратить этот брак, так как жена (которая на 10 лет его младше) для него казалась &amp;quot;слишком старой&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Тогда этот шизоид решил &#039;&#039;&#039;создать свой собственный левый антифеминистический фронт&#039;&#039;&#039;, а всю проблему с бабами он свел к шизоидной теории &#039;&#039;&#039;&amp;quot;Вагинокапитализма&amp;quot;&#039;&#039;&#039;. По его версии, право на секс опирается на женщинах, а чтобы его получить, мужику приходится &#039;&#039;&#039;работать и платить&#039;&#039;&#039;. А раз женщины выбирают только &amp;quot;статусных альфачей&amp;quot;, то нужно срочно решать проблему, женить детей в 12-15 лет или вводить &#039;&#039;&#039;талоны на секс&#039;&#039;&#039;. Так и родился &#039;&#039;&#039;&amp;quot;Король &amp;lt;s&amp;gt;параши&amp;lt;/s&amp;gt; Инцелов&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Корень болезни ====&lt;br /&gt;
Его &amp;quot;активизм&amp;quot; моментально скатился в &#039;&#039;&#039;истеричные прогоны&#039;&#039;&#039; про то, что ему должны. Этот древний &#039;&#039;&#039;девственник до 30 лет&#039;&#039;&#039; на полном серьёзе заявил, что &#039;&#039;&#039;заслуживает право на секс&#039;&#039;&#039;, а женщины обязаны его потребность утолить. Он не стеснялся нести полную ахинею в массы: на знаменитом НТВ-педогоне 2019 года он рассказывал, что у баб мозг на &#039;&#039;&#039;200 грамм меньше&#039;&#039;&#039;, чем у мужиков, поэтому они и выбирают только &#039;&#039;&#039;чедов&#039;&#039;&#039;. В его воспаленном мозгу родились такие идеи, как &#039;&#039;&#039;талоны на секс&#039;&#039;&#039;, общественный долг баб &amp;quot;давать всем подряд&amp;quot; и предложение &#039;&#039;&#039;смягчить уголовную ответственность за изнасилования&#039;&#039;&#039; до административного кодекса. Естественно, он пытался отмазаться, что это &amp;quot;просто хайп, чтобы привлечь внимание&amp;quot;, но это не отменяет того факта, что он в это верит.&lt;br /&gt;
&lt;br /&gt;
Отдельно стоит отметить его больное воспитание, которое и сформировало этого инфантильного уебка. Мать с детства вбила ему в голову, что он — &#039;&#039;&#039;рабочий муравей&#039;&#039;&#039;, который должен зарабатывать, уступать и защищать жену. Но при этом, мать была &#039;&#039;&#039;гиперопекающей душнилой&#039;&#039;&#039; и истеричкой, которая приходила в школу и устраивала скандалы, если видела у сына синяк. Когда в 17 лет у него появилась первая девка, мамка &#039;&#039;&#039;взломала дверь в его комнату&#039;&#039;&#039; и звонила матери той девушки, обзывая её &amp;quot;ведьмой&amp;quot; . Эта ебанутая опека в итоге и привела к тому, что наш пациент 10 лет просидел в &#039;&#039;&#039;инцелбате&#039;&#039;&#039; и в свои 30 лет был девственником. Даже когда он женился на Евгении, они жили втроем с этой душнилой, которая &#039;&#039;&#039;унижала&#039;&#039;&#039; невестку и запрещала ей пользоваться водой. Типичная история: сын вырос &#039;&#039;&#039;импотентом и инфантилом&#039;&#039;&#039;, который без мамки не может.&lt;br /&gt;
&lt;br /&gt;
После развода он крутил шашни с разными бабами, но все они быстро сбегали. Сначала была &#039;&#039;&#039;Люда (феминистка)&#039;&#039;&#039;, с которой он прожил полтора года. Она признавалась, что чувствовала от него &#039;&#039;&#039;эмоциональный холод&#039;&#039;&#039; и увидела, что он &#039;&#039;&#039;не проявляет инициативы&#039;&#039;&#039;. Когда он заявил ей, что начнет встречаться с любой другой, которая проявит к нему интерес, у нее началась &#039;&#039;&#039;паранойя&#039;&#039;&#039;. Ей быстро стало ясно, что этому пидору нужна не любовь, а &#039;&#039;&#039;обслуживание&#039;&#039;&#039;. Потом была психолог Левичева, Сильвана, и наконец, &#039;&#039;&#039;Лера&#039;&#039;&#039;, с которой он прожил полтора года. Все отношения строились на одном: он — &#039;&#039;&#039;потребитель&#039;&#039;&#039;, ему должны &amp;quot;дать и обеспечить&amp;quot;.&lt;br /&gt;
=== Дурка и Параша ===&lt;br /&gt;
Две его самые яркие поездки:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Дело 2019 года.&#039;&#039;&#039; После НТВ-прогона его шили за &#039;&#039;&#039;возбуждение ненависти и унижение человеческого достоинства&#039;&#039;&#039;. Он отсидел неделю  и был временно притих.&lt;br /&gt;
# &#039;&#039;&#039;Дурка 2021 года.&#039;&#039;&#039; Вот это был настоящий триумф. Наш &amp;quot;вождь&amp;quot; решил поступить в &#039;&#039;&#039;медколледж&#039;&#039;&#039; и тут же начал писать в соцсетях, что Казанский и Пермский стрелки совершили свои преступления &#039;&#039;&#039;из-за отказа в сексе&#039;&#039;&#039;. Родители студентов ужаснулись и нажаловались директору. К нему домой нагрянуло маски-шоу, и его &#039;&#039;&#039;принудительно госпитализировали в психушку&#039;&#039;&#039; на полгода, где ему поставили официальный диагноз &#039;&#039;&#039;&amp;quot;Шизотипическое расстройство&amp;quot;&#039;&#039;&#039;. Вышел он оттуда только через три недели благодаря поднявшемуся хайпу.&lt;br /&gt;
&lt;br /&gt;
Но неблагодарная скотина есть неблагодарная скотина. Та самая &#039;&#039;&#039;Лера&#039;&#039;&#039;, которая помогала ему вырваться из психушки, уже в апреле 2023 года была объявлена им &amp;quot;лжеженой&amp;quot; и &amp;quot;сатанисткой&amp;quot;, когда он начал выпускать гневные посты в ее адрес, так же избил. Потом началась новая Санта-Барбара, которая принесла ему популярность среди зумеров.[[Файл:Zhena.jpg|мини|280x280px]]&lt;br /&gt;
== Становление грешником ==&lt;br /&gt;
Неблагодарная скотина никогда не успокоится. В конце &#039;&#039;&#039;2023 года&#039;&#039;&#039; этому шизоиду стало известно, что его бывшая жена &#039;&#039;&#039;Лера&#039;&#039;&#039; (та самая, которая вытащила его из дурки) съехала и сошлась с одним из &#039;&#039;&#039;[[Адепт|адептов]] Абдуловеры&#039;&#039;&#039;. Зависть и жадность тут же взыграли: он начал изливать желчь и &#039;&#039;&#039;деанонить&#039;&#039;&#039; нового сожителя Леры, поскольку они жили в одном городе и имели общих знакомых. В порыве ярости он даже &#039;&#039;&#039;слил скан его паспорта&#039;&#039;&#039; в своем чате.&lt;br /&gt;
&lt;br /&gt;
В &#039;&#039;&#039;январе 2024 года&#039;&#039;&#039; наш &amp;quot;вождь&amp;quot; окончательно подписал себе смертный приговор, когда запостил &#039;&#039;&#039;личные данные других адептов&#039;&#039;&#039; (которые ему услужливо скинули &#039;&#039;[[ипотечники]]&#039;&#039;). Тут на него обратили внимание уже &#039;&#039;&#039;все [[абдуловцы]]&#039;&#039;&#039;. Начался пробив по его гнилой истории: тут же всплыли его посты про &#039;&#039;&#039;педофилию&#039;&#039;&#039; (&amp;quot;ебля с малолетками — это норма&amp;quot;, &amp;quot;жениться в 12-15 лет&amp;quot;) и прочий уголовный бред.&lt;br /&gt;
&lt;br /&gt;
По общему решению адептов, в &#039;&#039;&#039;феврале 2024 года&#039;&#039;&#039; этот пидор был официально признан &#039;&#039;&#039;Грешником&#039;&#039;&#039; с самым суровым примечанием: &#039;&#039;&#039;КАРА НА ПЕДОФИЛОВ ВЕЧНАЯ!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Кара вечная ===&lt;br /&gt;
Несмотря на скорую расплату, он пытался хайпить. Именно в этот период он начал активно лить свою шизу в &#039;&#039;&#039;TikTok&#039;&#039;&#039;, где его целевая аудитория — те самые &#039;&#039;&#039;малолетние зумеры&#039;&#039;&#039;. Он стал настолько &amp;quot;популярен&amp;quot;, что его, сука, даже начали приглашать выступать в клубах и давать &amp;quot;концерты&amp;quot; со своей коммунистической блевотиной, высерами про инцелов и секс.&lt;br /&gt;
&lt;br /&gt;
Тем временем, &#039;&#039;&#039;Карательная Компания&#039;&#039;&#039; началась: в &#039;&#039;&#039;мае, июне и июле 2024 года&#039;&#039;&#039; к нему на адрес было совершено &#039;&#039;&#039;четыре похода&#039;&#039;&#039;. Цель была проста: спасти педофила от интернета и, что самое главное, &#039;&#039;&#039;донести до соседей, кто он и чем знаменит&#039;&#039;&#039;. Этот грешник трусливо прятался и вызывал ментов, тех самых &amp;quot;оборотней в пагонах&amp;quot;, на которых столько лет пиздел в своих видео.&lt;br /&gt;
[[Файл:Fanatka.jpg|мини|279x279px|=она сказала ей 23=]]&lt;br /&gt;
&lt;br /&gt;
==== СИЗО и то что после ====&lt;br /&gt;
Однако, Кару нельзя остановить. Дальше в дело вступил сам [[Богосатана|Богосатана Абдулов]]. На одной из сходок перед очередным &amp;quot;концертом&amp;quot; этот пидор познакомился с &#039;&#039;&#039;15-летней фанаткой,&#039;&#039;&#039; ну а дальше понятно чем всё закончилось. В &#039;&#039;&#039;августе 2024 года&#039;&#039;&#039; он совершил в ее отношении &#039;&#039;&#039;уголовное преступление&#039;&#039;&#039; и был тут же арестован по статье о &#039;&#039;&#039;совращении малолетних&#039;&#039;&#039;.&lt;br /&gt;
[[Файл:Turma.jpg|слева|мини|289x289px|Волосы ещё сокамерники не успели сбрить, но уже всё стало понятно]]&lt;br /&gt;
Целую неделю до задержания эта крашеная Мальвина объябывала свою аудиторию, рассказывая, что ей 23 года и &amp;quot;у них ничего не было&amp;quot;. Как выяснилось, ей 15. И сдала его на парашу эта самая малолетка, которая клялась &amp;quot;вписаться за педофила&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Его влечение к малолеткам обусловлено не &amp;quot;отсутствием опыта в юности&amp;quot;, как он пиздит, а тем, что &#039;&#039;&#039;малолетками проще манипулировать&#039;&#039;&#039;. Им проще нассать в уши, вызвать чувство вины и зависимости. Взрослым бабам этот импотентный ребенок-переросток нахуй не всрался, потому что им нечего предложить.&lt;br /&gt;
[[Файл:Tgk.jpg|мини|520x520пкс]]&lt;br /&gt;
С этого момента его карьера в интернетах закончилась. Он просидел в &#039;&#039;&#039;СИЗО следующие 10 месяцев&#039;&#039;&#039; (само собой понятно в каком тюремном статусе) и на данный момент, с &#039;&#039;&#039;запретом на пользование интернетом&#039;&#039;&#039;, ждёт окончательного решения суда по своему делу.&lt;br /&gt;
&lt;br /&gt;
==== Абдуловысадка на телеграм канал ====&lt;br /&gt;
В начале сентября 2024 года, с помощью [[Белая магия|Белой магии]] и других шаолиней, абдуловцы сумели на несколько дней получить &#039;&#039;&#039;доступ к Телеграм каналу&#039;&#039;&#039; Педофильного и устроить главную оптимизацию года — все пруфы педофилии Лёши были выложены на всеобщее обозрение на его же канале, а так же был ещё мегапрогон и пиар всех абдулоресурсов.&lt;br /&gt;
&lt;br /&gt;
Группа Ковшерылого была &#039;&#039;&#039;оптимизирована в плане постов&#039;&#039;&#039;, потёрты все высеры, кроме диванонов [[Детдом|опущенных детдомовцев]], которые когда-то выкладывал Лоша. После этого доступ был ожидаемо утерян, однако, это всё равно стало &#039;&#039;&#039;медийным убийством&#039;&#039;&#039; ресурса педофила, и канал уже никогда не наберёт ни подписоты, ни просмотров.&lt;br /&gt;
&lt;br /&gt;
==== Судебные тяжбы ====&lt;br /&gt;
Выйдя из СИЗО в мае 2025, Поднебесный был ограничен в правах, в частности ему было запрещено ведение интернет-ресурсов. Однако, он продолжил выкладывать свои высеры с фейков или через подсосню вроде [[Суетлан|Шуетлана]]. В основном всё сводилось к нытью и оскорблениям, как собственно и до первой отсидки в петушином углу.&lt;br /&gt;
&lt;br /&gt;
Подробности о его быте рассказала [https://www.youtube.com/watch?v=F_Aqbj_oJRc в интервью BiboranTV] его бывшая админ Dmotr. Она так же успела столкнуться с &amp;quot;эффектом педофила&amp;quot; — помогала собирать донаты, вела ему паблики, тратила своё время на престарелого шиза, и по итогу он выпиздовал её с ресурсов, попутно обвиняя в предательствах и иных грехах.&lt;br /&gt;
&lt;br /&gt;
Всё это уныние длилось больше года. На судах Педофильный нёс бред про то, что раз в 16 веке на Руси в 10 лет могли бабу и замуж выдавать, то почему сейчас его за что-то вообще обвиняют. В целом никакой вины за собой он не признал, а дальше двигал педофильскую идеологию уже не на ютабах, а в лицо кринжующих от всего этого гособвинителей и судьи.&lt;br /&gt;
&lt;br /&gt;
3 октября 2026 года приговор наконец был вынесен. Педофила отправили мыть параши на три года общего режима. Так что теперь дяде Лёше будет дарован секс ещё очень надолго. Что и требовалось доказать, собственно.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Идея&amp;quot; секты педофила ==&lt;br /&gt;
У пациента якобы есть &amp;quot;идея&amp;quot;. Вся проблема в том, что никакой идеи нет. Вся его &amp;quot;идея&amp;quot; — это извлечение выгоды для себя любимого. Это просто ширма для его &#039;&#039;&#039;[[Озонизация|Озонизации]] (мании величия)&#039;&#039;&#039;. Он возомнил себя &amp;quot;вождем&amp;quot;, а фактически является ребенком-переростком, который не может даже интернет себе оплатить без донатов.&lt;br /&gt;
&lt;br /&gt;
Его аудитория — это &#039;&#039;&#039;&amp;quot;подсосы&amp;quot;&#039;&#039;&#039;. Это отдельный диагноз. Эти долбоебы по какой-то причине верят в его бред, не понимая, что он ими просто пользуется. Они привыкли жить в подавленном состоянии, и им нужен хозяин.&lt;br /&gt;
&lt;br /&gt;
Пациент виртуозно манипулирует ими, вызывая &#039;&#039;&#039;чувство вины&#039;&#039;&#039;. &amp;quot;У меня нет денег на интернет — это ВЫ виноваты&amp;quot;. &amp;quot;Я жру хуйню — это ВЫ виноваты&amp;quot;. &amp;quot;Меня травят — ВЫ должны меня защитить&amp;quot;. И эти дауны ведутся, строчат комменты, травят тех, на кого &amp;quot;вождь&amp;quot; укажет, и скидывают ему даллары. Известный факт, что эти подсосы уже поимели проблемы с учебой, законом и в жизни тупо за факт знакомства с этим педофилом. Но им похуй, они готовы и дальше обслуживать интересы пидора.&lt;br /&gt;
==== Вагино-лицемерие и Коммунизм ====&lt;br /&gt;
Настоящее лечение началось после развода. Обидевшись, он начитался левацкой хуйни и стал &amp;quot;королем инцелов&amp;quot;. &#039;&#039;&#039;Лицемерие&#039;&#039;&#039; пациента зашкаливает: он жалуется, что на него &amp;quot;женщины не смотрят&amp;quot;, при этом умудрился иметь двух жен и несколько сожительниц.&lt;br /&gt;
&lt;br /&gt;
Его &amp;quot;коммунизм&amp;quot; — такой же пиздеж. Он требует, чтобы &amp;quot;богатые&amp;quot; все отдали, но когда ему, пидору с деньгами на счетах, говорят раздать свое — он визжит, что он &amp;quot;нищий&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Вся его опущенная теория &#039;&#039;&#039;&amp;quot;вагинокоммунизма&amp;quot;&#039;&#039;&#039; — это пиздеж чистой воды. Когда та же Ксюша (18-летняя) показала этот коммунизм на практике (с другими), педофилу это не понравилось. Он тут же записал ее в &amp;quot;шлюхи&amp;quot; и &amp;quot;предатели&amp;quot;, призывал свою паству травить ее и &#039;&#039;&#039;угрожал отрезать ей голову&#039;&#039;&#039;. Вагинокоммунизм, по его мнению, допустим только по отношению к нему. Он переобувается на лету: сегодня он инцел (если не дали поебушки), завтра — вагинокоммунист (если дали).&lt;br /&gt;
==== БезОтветственность ====&lt;br /&gt;
Понятие ответственности этому гражданину недоступно. Он &#039;&#039;&#039;НИКОГДА&#039;&#039;&#039; ни в чем не виноват. Он всегда ищет, на кого взвалить вину за собственные действия. Это прослеживается во всем:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Лерка ушла:&#039;&#039;&#039; Не потому, что он ее бил и он невыносимый уебок, а потому что &amp;quot;она хуевая сатанистка&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Ксюша ушла:&#039;&#039;&#039; Не потому, что он ее морально давил и угрожал, а потому что &amp;quot;она хуевая шлюха&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Афтерпати в лесу:&#039;&#039;&#039; Когда он расхуячил посуду на съемной хате и приехали арендодатели, он трусливо &#039;&#039;&#039;съебался в лес&#039;&#039;&#039; &amp;quot;изнемогать&amp;quot;, оставив других людей платить и разгребать его дерьмо.&lt;br /&gt;
# &#039;&#039;&#039;Жалоба Мизулиной:&#039;&#039;&#039; Когда на него обратили внимание за посты, он сразу заорал: &amp;quot;Это не я постил, а мои подсосы-модераторы!&amp;quot;&lt;br /&gt;
# &#039;&#039;&#039;Сливы и пробивы:&#039;&#039;&#039; Когда он постил личные данные людей, он не нес ответственность. &amp;quot;Ему прислали, он опубликовал&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Ремонт и потоп:&#039;&#039;&#039; Когда он из-за своей жадности (западло тратить средства) затопил соседей, виноватым оказался его друг &#039;&#039;&#039;Надземный&#039;&#039;&#039;, который &#039;&#039;бесплатно&#039;&#039; делал ему ремонт. Дом неделю сидел без воды из-за этого пидора.&lt;br /&gt;
# &#039;&#039;&#039;Посадка на парашу:&#039;&#039;&#039; В том, что он сел за 15-летнюю, виновата... &#039;&#039;&#039;Арина&#039;&#039;&#039;. Якобы она &amp;quot;не поставила его в известность&amp;quot; о своем возрасте. Хотя это не остановило бы его.&lt;br /&gt;
&lt;br /&gt;
Единственный раз, когда он взял &amp;quot;ответственность&amp;quot; — это у следователя, когда признал вину. Но это была вынужденная мера, чтобы не накинуть себе срок, так как факт преступления налицо.&lt;br /&gt;
==== Плюшкинство и Гнев ====&lt;br /&gt;
Пациент — лютый &#039;&#039;&#039;Плюшкин&#039;&#039;&#039;. Его 9-метровая комната в коммуналке &#039;&#039;&#039;завалена хламом&#039;&#039;&#039;, в том числе вещами с помойки. Он захватил весь общий коридор. При этом он дико жадный.&lt;br /&gt;
&lt;br /&gt;
* Жрет &amp;quot;Красную цену&amp;quot; и прочий мусор.&lt;br /&gt;
* Не пользуется дезодорантом (&amp;quot;химия, вредно&amp;quot;).&lt;br /&gt;
* Но при этом, сука, любит покупать себе &#039;&#039;&#039;брендовые вещи&#039;&#039;&#039; и дорогие куртки. Себя он любит.&lt;br /&gt;
* За бабки готов убить. Открыто угрожал Лерке &amp;quot;зарезать&amp;quot; за раздел имущества.&lt;br /&gt;
&lt;br /&gt;
Гнев — его вторая натура. Он дикий холерик. На камеру рвет футболки, а без камеры, по словам Лерки, издает &#039;&#039;&#039;&amp;quot;звериный рык&amp;quot;&#039;&#039;&#039;. Он избивал ее, но &amp;quot;никто не поверил&amp;quot;. Также в его биографии есть мутный эпизод, где он &#039;&#039;&#039;пырнул человека ножом&#039;&#039;&#039; (сам, конечно, пиздит, что это была &amp;quot;самооборона&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Диагноз ==&lt;br /&gt;
&#039;&#039;&#039;Пациент отсидел петушарой в СИЗО&#039;&#039;&#039; за сношение с 15-летней &#039;&#039;&#039;Ариной&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Его тупые подсосы-долбоебы теперь бегают и визжат, что он &amp;quot;не педофил, а эфебофил-хуил&amp;quot;. Это жалкая попытка отмыть его клеймо, потому что им самим придется держать ответ перед обществом, почему они топили за педофила.&lt;br /&gt;
&lt;br /&gt;
С точки зрения житейско-понятийной — &#039;&#039;&#039;он педофил&#039;&#039;&#039;. И теперь его ждет справедливая кара: в СИЗО к таким, как он — насильникам и растлителям — отношение особое. Это самые опущенные статьи. Его забьют &#039;&#039;&#039;под шконку&#039;&#039;&#039; и определят в касту опущенки. И никакие сравнения с Тесаком (который сам недалеко ушел) ему не помогут.&lt;br /&gt;
&lt;br /&gt;
=== Заключение врача ===&lt;br /&gt;
На основании всех собранных материалов, включая полный прогон истории, поведенческих девиаций и уголовного анамнеза, пациенту Поднебесному Алексею, 1978 года рождения, выносится следующий заключительный диагноз.&lt;br /&gt;
&lt;br /&gt;
Пациент страдает &#039;&#039;&#039;Педофилией&#039;&#039;&#039; (F65.4) — это &#039;&#039;&#039;Клиническая, финальная стадия Греха&#039;&#039;&#039;, подтверждённая как пропагандой (&amp;quot;жениться в 12-15 лет&amp;quot;, смягчение наказания за изнасилования), так и уголовным преступлением в отношении 15-летней фанатки. Это его &#039;&#039;&#039;самый страшный Грех&#039;&#039;&#039;, кара за который &#039;&#039;&#039;Вечна&#039;&#039;&#039; по Биборану.&lt;br /&gt;
&lt;br /&gt;
К основному диагнозу прилагается букет &#039;&#039;&#039;[[Абдулоэпидемиология|Абдулоболезней]]&#039;&#039;&#039; и расстройств:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[[Озонизация]] (Мания Величия, Агрессия):&#039;&#039;&#039; Ярко выражена. Пациент возомнил себя &amp;quot;Вождем&amp;quot; и &amp;quot;Нравственным Маяком&amp;quot;, требуя от &amp;quot;подсосов&amp;quot; безусловного служения. При этом он демонстрирует &#039;&#039;&#039;лютую агрессию&#039;&#039;&#039; и истерику (звериный рык, драки, метание в людей), но является &#039;&#039;&#039;трусливым чмом&#039;&#039;&#039;, которое не может выйти к &amp;quot;карателям&amp;quot; и прячется за ментами и замками.&lt;br /&gt;
# &#039;&#039;&#039;[[Маслочезация]] (Плюшкин, Бомжевание):&#039;&#039;&#039; Присутствует в классическом виде. При патологической жадности (&#039;&#039;&#039;Маслозавод&#039;&#039;&#039;) пациент живет как бомж: захламленная хламом с помойки комната, нежелание тратить деньги на базовые нужды (дезодорант) и любовь к потреблению самого дешёвого говна.&lt;br /&gt;
# &#039;&#039;&#039;[[Феторизм]] (Треш-Стримерство):&#039;&#039;&#039; Его стримерская деятельность полностью построена на привлечении внимания через &#039;&#039;&#039;эпатаж и мерзость&#039;&#039;&#039;. Он сознательно озвучивает радикальные, шизоидные и уголовно наказуемые идеи, чтобы &amp;quot;хайпануть&amp;quot; и собрать донаты, что является чистым &#039;&#039;&#039;феторизмом&#039;&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Шизотипическое Расстройство (F21):&#039;&#039;&#039; Официально подтверждённый диагноз, который объясняет его бред про &#039;&#039;&#039;&amp;quot;Вагинокапитализм&amp;quot;&#039;&#039;&#039;, 200 грамм в мозгу, талоны на секс и прочие шизоидные теории.&lt;br /&gt;
&lt;br /&gt;
Пациент Поднебесный — это &#039;&#039;&#039;неблагодарная, инфантильная скотина&#039;&#039;&#039;, которая предала всех, кто ей помогал. Он является &#039;&#039;&#039;социально опасным элементом&#039;&#039;&#039; и &#039;&#039;&#039;образцовым Грешником&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Кара исполнена в вопросе спасения от интернета.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Грешники}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Грешники]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9_%D0%9F%D0%BE%D0%B4%D0%BD%D0%B5%D0%B1%D0%B5%D1%81%D0%BD%D1%8B%D0%B9&amp;diff=4861</id>
		<title>Алексей Поднебесный</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9_%D0%9F%D0%BE%D0%B4%D0%BD%D0%B5%D0%B1%D0%B5%D1%81%D0%BD%D1%8B%D0%B9&amp;diff=4861"/>
		<updated>2026-10-20T20:27:52Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка Грешника&lt;br /&gt;
|color=orange&lt;br /&gt;
|sinnername=Алексей Поднебесный&lt;br /&gt;
|image=Undersky.jpg&lt;br /&gt;
|nickname=Лёша Педофил&lt;br /&gt;
|firstname=Поднебесный Алексей Николаевич&lt;br /&gt;
|birthdate=04 июля 1978&lt;br /&gt;
|city=Нижний Новгород&lt;br /&gt;
|maincarrer=Блогер-педофил, бывший сотрудник прокуратуры&lt;br /&gt;
|diagnosis=Педофилия, озонизация, феторизм&lt;br /&gt;
|notes=Любитель маленьких девочек, а так же просто агрессивный шиз&lt;br /&gt;
|status=Под наблюдением&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Алексей Поднебесный&#039;&#039;&#039; &#039;&#039;(он же Педобесный, Ковшерылый, Лёша Педофил, Король Инцелов, MrUndersky, Ковш, Ссаный Матрас, Мальвина)&#039;&#039; — один из самых известных педофилов Нижнего (как [[Нижний интернет|интернета]], так и Новгорода тоже), классический инфантильный фрик и долбоеб, возомнивший себя &amp;quot;вождем&amp;quot; и &amp;quot;страдальцем&amp;quot;, при этом же агрессирующий на всех и неспособный к коммуникации. Этот крашеный пидор с ебалом, побитым жизнью, прославился как стример-коммунист, &amp;quot;правозащитник&amp;quot; и секс-блогер, а по факту — как клинический [[Педофилия в абдулонауке|педофил]], лжец и лицемер, &#039;&#039;&#039;сломавший судьбы людей&#039;&#039;&#039; и добившийся своих целей дорогой ценой.&lt;br /&gt;
&lt;br /&gt;
Вся его идея, на самом деле, направлена исключительно на &#039;&#039;&#039;извлечение выгоды для себя любимого&#039;&#039;&#039;. Он возомнил себя &amp;quot;вождем&amp;quot;, а фактически является ребенком-переростком, который не может даже интернет себе оплатить без донатов.&lt;br /&gt;
&lt;br /&gt;
Вся система, которую он выстраивал, пошла по пизде, как только он поехал топтать &amp;lt;s&amp;gt;петушиный&amp;lt;/s&amp;gt; авторитетный угол в СИЗО по статье о совращении малолетних. Ныне имеет не только [[Абдуловерование|абдуловский]], но и судебный запрет на пользование интернетом — отсиживает трёхлетний срок в колонии общего режима.&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Пациент 1978 года розлива, родился еще в Cовке и там же выучился на юрфаке в 90-х. Как и полагается совковому образованию, на карьере оно нихуя не отразилось, так как проработал недолго. Сумел, однако, влезть в &#039;&#039;&#039;прокуратуру&#039;&#039;&#039;, но его быстро турнули оттуда. Сам пациент пиздит, что боролся с коррупцией, но, по другим данным, его выгнали за лютую конфликтность, драки и агрессивное поведение. Уже тогда характер Педофильного был очевиден.&lt;br /&gt;
&lt;br /&gt;
С позором его выперли уже в 2005-м. Официальный повод — &#039;&#039;&#039;проступок, порочащий честь прокурорского работника&#039;&#039;&#039;, после того, как этот холерик &#039;&#039;&#039;показал кулак&#039;&#039;&#039; сослуживцу за то, что тот посмел тронуть его драгоценный компьютер. Естественно, сам он пиздит, что его вышвырнули за &amp;quot;борьбу с коррупцией&amp;quot; и &amp;quot;моральное превосходство&amp;quot; над коллегами-уебанами. В его вселенной он всегда — праведный мученик.&lt;br /&gt;
&lt;br /&gt;
=== Мальвина с ножиком ===&lt;br /&gt;
[[Файл:Nozh.jpg|слева|мини|279x279px|О чём мечтает Лёша, когда на стриме орёт что зарежет тебя]]&lt;br /&gt;
После увольнения это тело подалось в &amp;quot;активизм&amp;quot; и &amp;quot;правозащиту&amp;quot;, борясь против завышенных тарифов и уплотнительной застройки. В 2011 году, во время &amp;quot;православного молодёжного сражения&amp;quot;, он умудрился познакомиться со своей первой женой, &#039;&#039;&#039;Евгенией&#039;&#039;&#039;, на которой и женился.&lt;br /&gt;
&lt;br /&gt;
Именно в 2011 году и произошел первый крупный &#039;&#039;&#039;залёт на парашу&#039;&#039;&#039;. Во время отдыха с женой на них напали двое пьяных. Наш герой, вместо того чтобы по базе [[Силовера|силоверы]] дать пизды кулаками, достал &#039;&#039;&#039;ножик для &amp;lt;s&amp;gt;маслят&amp;lt;/s&amp;gt; грибов&#039;&#039;&#039; и пырнул одного из нападавших в живот. А когда приехали менты, он еще и распылил &#039;&#039;&#039;газовый баллончик в ебало полицейскому&#039;&#039;&#039;. В итоге, суд отправил его на &#039;&#039;&#039;4 года условно&#039;&#039;&#039;. Сам &amp;quot;святой&amp;quot;, конечно, уверен, что тех пьяных гопников &#039;&#039;&#039;наняли застройщики&#039;&#039;&#039;, которым он мешал своим &amp;quot;праведным&amp;quot; активизмом.&lt;br /&gt;
&lt;br /&gt;
=== Рождение Инцела ===&lt;br /&gt;
В 2013 году этот пидор записал знаменитое &#039;&#039;&#039;видеообращение&#039;&#039;&#039;, где обозвал свой родной город &#039;&#039;&#039;&amp;quot;трусливым городишком&amp;quot;&#039;&#039;&#039;. Причиной стал величайший позор: он отсидел 7 суток в спецприемнике за расклейку листовок, а когда вышел, менты &#039;&#039;&#039;не вернули ему его единственную куртку&#039;&#039;&#039;. Никто из &amp;quot;сочувствующих&amp;quot; не скинулся ему на новую, что окончательно его разочаровало.&lt;br /&gt;
&lt;br /&gt;
Финальный гвоздь: в 2016 году, после шести лет брака, от него сбежала первая жена, &#039;&#039;&#039;Евгения&#039;&#039;&#039;, тупо &#039;&#039;&#039;сменив замки&#039;&#039;&#039;. Развод этот уебок списал на свою &#039;&#039;&#039;&amp;quot;революционную деятельность&amp;quot;&#039;&#039;&#039;. Обидевшись, он засел на теплотрассе и ударился в мужское движение (МД). Однако МД ему не понравилось, потому что там &amp;quot;толстые дядьки перетирали, как не платить алименты&amp;quot;. По альтернативной информации, Лёша сам хотел прекратить этот брак, так как жена (которая на 10 лет его младше) для него казалась &amp;quot;слишком старой&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Тогда этот шизоид решил &#039;&#039;&#039;создать свой собственный левый антифеминистический фронт&#039;&#039;&#039;, а всю проблему с бабами он свел к шизоидной теории &#039;&#039;&#039;&amp;quot;Вагинокапитализма&amp;quot;&#039;&#039;&#039;. По его версии, право на секс опирается на женщинах, а чтобы его получить, мужику приходится &#039;&#039;&#039;работать и платить&#039;&#039;&#039;. А раз женщины выбирают только &amp;quot;статусных альфачей&amp;quot;, то нужно срочно решать проблему, женить детей в 12-15 лет или вводить &#039;&#039;&#039;талоны на секс&#039;&#039;&#039;. Так и родился &#039;&#039;&#039;&amp;quot;Король &amp;lt;s&amp;gt;параши&amp;lt;/s&amp;gt; Инцелов&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Корень болезни ====&lt;br /&gt;
Его &amp;quot;активизм&amp;quot; моментально скатился в &#039;&#039;&#039;истеричные прогоны&#039;&#039;&#039; про то, что ему должны. Этот древний &#039;&#039;&#039;девственник до 30 лет&#039;&#039;&#039; на полном серьёзе заявил, что &#039;&#039;&#039;заслуживает право на секс&#039;&#039;&#039;, а женщины обязаны его потребность утолить. Он не стеснялся нести полную ахинею в массы: на знаменитом НТВ-педогоне 2019 года он рассказывал, что у баб мозг на &#039;&#039;&#039;200 грамм меньше&#039;&#039;&#039;, чем у мужиков, поэтому они и выбирают только &#039;&#039;&#039;чедов&#039;&#039;&#039;. В его воспаленном мозгу родились такие идеи, как &#039;&#039;&#039;талоны на секс&#039;&#039;&#039;, общественный долг баб &amp;quot;давать всем подряд&amp;quot; и предложение &#039;&#039;&#039;смягчить уголовную ответственность за изнасилования&#039;&#039;&#039; до административного кодекса. Естественно, он пытался отмазаться, что это &amp;quot;просто хайп, чтобы привлечь внимание&amp;quot;, но это не отменяет того факта, что он в это верит.&lt;br /&gt;
&lt;br /&gt;
Отдельно стоит отметить его больное воспитание, которое и сформировало этого инфантильного уебка. Мать с детства вбила ему в голову, что он — &#039;&#039;&#039;рабочий муравей&#039;&#039;&#039;, который должен зарабатывать, уступать и защищать жену. Но при этом, мать была &#039;&#039;&#039;гиперопекающей душнилой&#039;&#039;&#039; и истеричкой, которая приходила в школу и устраивала скандалы, если видела у сына синяк. Когда в 17 лет у него появилась первая девка, мамка &#039;&#039;&#039;взломала дверь в его комнату&#039;&#039;&#039; и звонила матери той девушки, обзывая её &amp;quot;ведьмой&amp;quot; . Эта ебанутая опека в итоге и привела к тому, что наш пациент 10 лет просидел в &#039;&#039;&#039;инцелбате&#039;&#039;&#039; и в свои 30 лет был девственником. Даже когда он женился на Евгении, они жили втроем с этой душнилой, которая &#039;&#039;&#039;унижала&#039;&#039;&#039; невестку и запрещала ей пользоваться водой. Типичная история: сын вырос &#039;&#039;&#039;импотентом и инфантилом&#039;&#039;&#039;, который без мамки не может.&lt;br /&gt;
&lt;br /&gt;
После развода он крутил шашни с разными бабами, но все они быстро сбегали. Сначала была &#039;&#039;&#039;Люда (феминистка)&#039;&#039;&#039;, с которой он прожил полтора года. Она признавалась, что чувствовала от него &#039;&#039;&#039;эмоциональный холод&#039;&#039;&#039; и увидела, что он &#039;&#039;&#039;не проявляет инициативы&#039;&#039;&#039;. Когда он заявил ей, что начнет встречаться с любой другой, которая проявит к нему интерес, у нее началась &#039;&#039;&#039;паранойя&#039;&#039;&#039;. Ей быстро стало ясно, что этому пидору нужна не любовь, а &#039;&#039;&#039;обслуживание&#039;&#039;&#039;. Потом была психолог Левичева, Сильвана, и наконец, &#039;&#039;&#039;Лера&#039;&#039;&#039;, с которой он прожил полтора года. Все отношения строились на одном: он — &#039;&#039;&#039;потребитель&#039;&#039;&#039;, ему должны &amp;quot;дать и обеспечить&amp;quot;.&lt;br /&gt;
=== Дурка и Параша ===&lt;br /&gt;
Две его самые яркие поездки:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Дело 2019 года.&#039;&#039;&#039; После НТВ-прогона его шили за &#039;&#039;&#039;возбуждение ненависти и унижение человеческого достоинства&#039;&#039;&#039;. Он отсидел неделю  и был временно притих.&lt;br /&gt;
# &#039;&#039;&#039;Дурка 2021 года.&#039;&#039;&#039; Вот это был настоящий триумф. Наш &amp;quot;вождь&amp;quot; решил поступить в &#039;&#039;&#039;медколледж&#039;&#039;&#039; и тут же начал писать в соцсетях, что Казанский и Пермский стрелки совершили свои преступления &#039;&#039;&#039;из-за отказа в сексе&#039;&#039;&#039;. Родители студентов ужаснулись и нажаловались директору. К нему домой нагрянуло маски-шоу, и его &#039;&#039;&#039;принудительно госпитализировали в психушку&#039;&#039;&#039; на полгода, где ему поставили официальный диагноз &#039;&#039;&#039;&amp;quot;Шизотипическое расстройство&amp;quot;&#039;&#039;&#039;. Вышел он оттуда только через три недели благодаря поднявшемуся хайпу.&lt;br /&gt;
&lt;br /&gt;
Но неблагодарная скотина есть неблагодарная скотина. Та самая &#039;&#039;&#039;Лера&#039;&#039;&#039;, которая помогала ему вырваться из психушки, уже в апреле 2023 года была объявлена им &amp;quot;лжеженой&amp;quot; и &amp;quot;сатанисткой&amp;quot;, когда он начал выпускать гневные посты в ее адрес, так же избил. Потом началась новая Санта-Барбара, которая принесла ему популярность среди зумеров.[[Файл:Zhena.jpg|мини|280x280px]]&lt;br /&gt;
== Становление грешником ==&lt;br /&gt;
Неблагодарная скотина никогда не успокоится. В конце &#039;&#039;&#039;2023 года&#039;&#039;&#039; этому шизоиду стало известно, что его бывшая жена &#039;&#039;&#039;Лера&#039;&#039;&#039; (та самая, которая вытащила его из дурки) съехала и сошлась с одним из &#039;&#039;&#039;[[Адепт|адептов]] Абдуловеры&#039;&#039;&#039;. Зависть и жадность тут же взыграли: он начал изливать желчь и &#039;&#039;&#039;деанонить&#039;&#039;&#039; нового сожителя Леры, поскольку они жили в одном городе и имели общих знакомых. В порыве ярости он даже &#039;&#039;&#039;слил скан его паспорта&#039;&#039;&#039; в своем чате.&lt;br /&gt;
&lt;br /&gt;
В &#039;&#039;&#039;январе 2024 года&#039;&#039;&#039; наш &amp;quot;вождь&amp;quot; окончательно подписал себе смертный приговор, когда запостил &#039;&#039;&#039;личные данные других адептов&#039;&#039;&#039; (которые ему услужливо скинули &#039;&#039;[[ипотечники]]&#039;&#039;). Тут на него обратили внимание уже &#039;&#039;&#039;все [[абдуловцы]]&#039;&#039;&#039;. Начался пробив по его гнилой истории: тут же всплыли его посты про &#039;&#039;&#039;педофилию&#039;&#039;&#039; (&amp;quot;ебля с малолетками — это норма&amp;quot;, &amp;quot;жениться в 12-15 лет&amp;quot;) и прочий уголовный бред.&lt;br /&gt;
&lt;br /&gt;
По общему решению адептов, в &#039;&#039;&#039;феврале 2024 года&#039;&#039;&#039; этот пидор был официально признан &#039;&#039;&#039;Грешником&#039;&#039;&#039; с самым суровым примечанием: &#039;&#039;&#039;КАРА НА ПЕДОФИЛОВ ВЕЧНАЯ!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Кара вечная ===&lt;br /&gt;
Несмотря на скорую расплату, он пытался хайпить. Именно в этот период он начал активно лить свою шизу в &#039;&#039;&#039;TikTok&#039;&#039;&#039;, где его целевая аудитория — те самые &#039;&#039;&#039;малолетние зумеры&#039;&#039;&#039;. Он стал настолько &amp;quot;популярен&amp;quot;, что его, сука, даже начали приглашать выступать в клубах и давать &amp;quot;концерты&amp;quot; со своей коммунистической блевотиной, высерами про инцелов и секс.&lt;br /&gt;
&lt;br /&gt;
Тем временем, &#039;&#039;&#039;Карательная Компания&#039;&#039;&#039; началась: в &#039;&#039;&#039;мае, июне и июле 2024 года&#039;&#039;&#039; к нему на адрес было совершено &#039;&#039;&#039;четыре похода&#039;&#039;&#039;. Цель была проста: спасти педофила от интернета и, что самое главное, &#039;&#039;&#039;донести до соседей, кто он и чем знаменит&#039;&#039;&#039;. Этот грешник трусливо прятался и вызывал ментов, тех самых &amp;quot;оборотней в пагонах&amp;quot;, на которых столько лет пиздел в своих видео.&lt;br /&gt;
[[Файл:Fanatka.jpg|мини|279x279px|=она сказала ей 23=]]&lt;br /&gt;
&lt;br /&gt;
==== СИЗО и то что после ====&lt;br /&gt;
Однако, Кару нельзя остановить. Дальше в дело вступил сам [[Богосатана|Богосатана Абдулов]]. На одной из сходок перед очередным &amp;quot;концертом&amp;quot; этот пидор познакомился с &#039;&#039;&#039;15-летней фанаткой,&#039;&#039;&#039; ну а дальше понятно чем всё закончилось. В &#039;&#039;&#039;августе 2024 года&#039;&#039;&#039; он совершил в ее отношении &#039;&#039;&#039;уголовное преступление&#039;&#039;&#039; и был тут же арестован по статье о &#039;&#039;&#039;совращении малолетних&#039;&#039;&#039;.&lt;br /&gt;
[[Файл:Turma.jpg|слева|мини|289x289px|Волосы ещё сокамерники не успели сбрить, но уже всё стало понятно]]&lt;br /&gt;
Целую неделю до задержания эта крашеная Мальвина объябывала свою аудиторию, рассказывая, что ей 23 года и &amp;quot;у них ничего не было&amp;quot;. Как выяснилось, ей 15. И сдала его на парашу эта самая малолетка, которая клялась &amp;quot;вписаться за педофила&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Его влечение к малолеткам обусловлено не &amp;quot;отсутствием опыта в юности&amp;quot;, как он пиздит, а тем, что &#039;&#039;&#039;малолетками проще манипулировать&#039;&#039;&#039;. Им проще нассать в уши, вызвать чувство вины и зависимости. Взрослым бабам этот импотентный ребенок-переросток нахуй не всрался, потому что им нечего предложить.&lt;br /&gt;
[[Файл:Tgk.jpg|мини|520x520пкс]]&lt;br /&gt;
С этого момента его карьера в интернетах закончилась. Он просидел в &#039;&#039;&#039;СИЗО следующие 10 месяцев&#039;&#039;&#039; (само собой понятно в каком тюремном статусе) и на данный момент, с &#039;&#039;&#039;запретом на пользование интернетом&#039;&#039;&#039;, ждёт окончательного решения суда по своему делу.&lt;br /&gt;
&lt;br /&gt;
==== Абдуловысадка на телеграм канал ====&lt;br /&gt;
В начале сентября 2024 года, с помощью [[Белая магия|Белой магии]] и других шаолиней, абдуловцы сумели на несколько дней получить &#039;&#039;&#039;доступ к Телеграм каналу&#039;&#039;&#039; Педофильного и устроить главную оптимизацию года — все пруфы педофилии Лёши были выложены на всеобщее обозрение на его же канале, а так же был ещё мегапрогон и пиар всех абдулоресурсов.&lt;br /&gt;
&lt;br /&gt;
Группа Ковшерылого была &#039;&#039;&#039;оптимизирована в плане постов&#039;&#039;&#039;, потёрты все высеры, кроме диванонов [[Детдом|опущенных детдомовцев]], которые когда-то выкладывал Лоша. После этого доступ был ожидаемо утерян, однако, это всё равно стало &#039;&#039;&#039;медийным убийством&#039;&#039;&#039; ресурса педофила, и канал уже никогда не наберёт ни подписоты, ни просмотров.&lt;br /&gt;
&lt;br /&gt;
==== Судебные тяжбы ====&lt;br /&gt;
Выйдя из СИЗО в мае 2025, Поднебесный был ограничен в правах, в частности ему было запрещено ведение интернет-ресурсов. Однако, он продолжил выкладывать свои высеры с фейков или через подсосню вроде [[Суетлан|Шуетлана]]. В основном всё сводилось к нытью и оскорблениям, как собственно и до первой отсидки в петушином углу.&lt;br /&gt;
&lt;br /&gt;
Подробности о его быте рассказала [https://www.youtube.com/watch?v=F_Aqbj_oJRc в интервью BiboranTV] его бывшая админ Dmotr. Она так же успела столкнуться с &amp;quot;эффектом педофила&amp;quot; — помогала собирать донаты, вела ему паблики, тратила своё время на престарелого шиза, и по итогу он выпиздовал её с ресурсов, попутно обвиняя в предательствах и иных грехах.&lt;br /&gt;
&lt;br /&gt;
Всё это уныние длилось больше года. На судах Педофильный нёс бред про то, что раз в 16 веке на Руси в 10 лет могли бабу и замуж выдавать, то почему сейчас его за что-то вообще обвиняют. В целом никакой вины за собой он не признал, а дальше двигал педофильскую идеологию уже не на ютабах, а в лицо кринжующих от всего этого гособвинителей и судьи.&lt;br /&gt;
&lt;br /&gt;
3 октября 2026 года приговор наконец был вынесен. Педофила отправили мыть параши на три года общего режима. Так что теперь дяде Лёше будет дарован секс ещё очень надолго. Что и требовалось доказать, собственно.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Идея&amp;quot; секты педофила ==&lt;br /&gt;
У пациента якобы есть &amp;quot;идея&amp;quot;. Вся проблема в том, что никакой идеи нет. Вся его &amp;quot;идея&amp;quot; — это извлечение выгоды для себя любимого. Это просто ширма для его &#039;&#039;&#039;[[Озонизация|Озонизации]] (мании величия)&#039;&#039;&#039;. Он возомнил себя &amp;quot;вождем&amp;quot;, а фактически является ребенком-переростком, который не может даже интернет себе оплатить без донатов.&lt;br /&gt;
&lt;br /&gt;
Его аудитория — это &#039;&#039;&#039;&amp;quot;подсосы&amp;quot;&#039;&#039;&#039;. Это отдельный диагноз. Эти долбоебы по какой-то причине верят в его бред, не понимая, что он ими просто пользуется. Они привыкли жить в подавленном состоянии, и им нужен хозяин.&lt;br /&gt;
&lt;br /&gt;
Пациент виртуозно манипулирует ими, вызывая &#039;&#039;&#039;чувство вины&#039;&#039;&#039;. &amp;quot;У меня нет денег на интернет — это ВЫ виноваты&amp;quot;. &amp;quot;Я жру хуйню — это ВЫ виноваты&amp;quot;. &amp;quot;Меня травят — ВЫ должны меня защитить&amp;quot;. И эти дауны ведутся, строчат комменты, травят тех, на кого &amp;quot;вождь&amp;quot; укажет, и скидывают ему даллары. Известный факт, что эти подсосы уже поимели проблемы с учебой, законом и в жизни тупо за факт знакомства с этим педофилом. Но им похуй, они готовы и дальше обслуживать интересы пидора.&lt;br /&gt;
==== Вагино-лицемерие и Коммунизм ====&lt;br /&gt;
Настоящее лечение началось после развода. Обидевшись, он начитался левацкой хуйни и стал &amp;quot;королем инцелов&amp;quot;. &#039;&#039;&#039;Лицемерие&#039;&#039;&#039; пациента зашкаливает: он жалуется, что на него &amp;quot;женщины не смотрят&amp;quot;, при этом умудрился иметь двух жен и несколько сожительниц.&lt;br /&gt;
&lt;br /&gt;
Его &amp;quot;коммунизм&amp;quot; — такой же пиздеж. Он требует, чтобы &amp;quot;богатые&amp;quot; все отдали, но когда ему, пидору с деньгами на счетах, говорят раздать свое — он визжит, что он &amp;quot;нищий&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Вся его опущенная теория &#039;&#039;&#039;&amp;quot;вагинокоммунизма&amp;quot;&#039;&#039;&#039; — это пиздеж чистой воды. Когда та же Ксюша (18-летняя) показала этот коммунизм на практике (с другими), педофилу это не понравилось. Он тут же записал ее в &amp;quot;шлюхи&amp;quot; и &amp;quot;предатели&amp;quot;, призывал свою паству травить ее и &#039;&#039;&#039;угрожал отрезать ей голову&#039;&#039;&#039;. Вагинокоммунизм, по его мнению, допустим только по отношению к нему. Он переобувается на лету: сегодня он инцел (если не дали поебушки), завтра — вагинокоммунист (если дали).&lt;br /&gt;
==== БезОтветственность ====&lt;br /&gt;
Понятие ответственности этому гражданину недоступно. Он &#039;&#039;&#039;НИКОГДА&#039;&#039;&#039; ни в чем не виноват. Он всегда ищет, на кого взвалить вину за собственные действия. Это прослеживается во всем:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Лерка ушла:&#039;&#039;&#039; Не потому, что он ее бил и он невыносимый уебок, а потому что &amp;quot;она хуевая сатанистка&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Ксюша ушла:&#039;&#039;&#039; Не потому, что он ее морально давил и угрожал, а потому что &amp;quot;она хуевая шлюха&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Афтерпати в лесу:&#039;&#039;&#039; Когда он расхуячил посуду на съемной хате и приехали арендодатели, он трусливо &#039;&#039;&#039;съебался в лес&#039;&#039;&#039; &amp;quot;изнемогать&amp;quot;, оставив других людей платить и разгребать его дерьмо.&lt;br /&gt;
# &#039;&#039;&#039;Жалоба Мизулиной:&#039;&#039;&#039; Когда на него обратили внимание за посты, он сразу заорал: &amp;quot;Это не я постил, а мои подсосы-модераторы!&amp;quot;&lt;br /&gt;
# &#039;&#039;&#039;Сливы и пробивы:&#039;&#039;&#039; Когда он постил личные данные людей, он не нес ответственность. &amp;quot;Ему прислали, он опубликовал&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Ремонт и потоп:&#039;&#039;&#039; Когда он из-за своей жадности (западло тратить средства) затопил соседей, виноватым оказался его друг &#039;&#039;&#039;Надземный&#039;&#039;&#039;, который &#039;&#039;бесплатно&#039;&#039; делал ему ремонт. Дом неделю сидел без воды из-за этого пидора.&lt;br /&gt;
# &#039;&#039;&#039;Посадка на парашу:&#039;&#039;&#039; В том, что он сел за 15-летнюю, виновата... &#039;&#039;&#039;Арина&#039;&#039;&#039;. Якобы она &amp;quot;не поставила его в известность&amp;quot; о своем возрасте. Хотя это не остановило бы его.&lt;br /&gt;
&lt;br /&gt;
Единственный раз, когда он взял &amp;quot;ответственность&amp;quot; — это у следователя, когда признал вину. Но это была вынужденная мера, чтобы не накинуть себе срок, так как факт преступления налицо.&lt;br /&gt;
==== Плюшкинство и Гнев ====&lt;br /&gt;
Пациент — лютый &#039;&#039;&#039;Плюшкин&#039;&#039;&#039;. Его 9-метровая комната в коммуналке &#039;&#039;&#039;завалена хламом&#039;&#039;&#039;, в том числе вещами с помойки. Он захватил весь общий коридор. При этом он дико жадный.&lt;br /&gt;
&lt;br /&gt;
* Жрет &amp;quot;Красную цену&amp;quot; и прочий мусор.&lt;br /&gt;
* Не пользуется дезодорантом (&amp;quot;химия, вредно&amp;quot;).&lt;br /&gt;
* Но при этом, сука, любит покупать себе &#039;&#039;&#039;брендовые вещи&#039;&#039;&#039; и дорогие куртки. Себя он любит.&lt;br /&gt;
* За бабки готов убить. Открыто угрожал Лерке &amp;quot;зарезать&amp;quot; за раздел имущества.&lt;br /&gt;
&lt;br /&gt;
Гнев — его вторая натура. Он дикий холерик. На камеру рвет футболки, а без камеры, по словам Лерки, издает &#039;&#039;&#039;&amp;quot;звериный рык&amp;quot;&#039;&#039;&#039;. Он избивал ее, но &amp;quot;никто не поверил&amp;quot;. Также в его биографии есть мутный эпизод, где он &#039;&#039;&#039;пырнул человека ножом&#039;&#039;&#039; (сам, конечно, пиздит, что это была &amp;quot;самооборона&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Диагноз ==&lt;br /&gt;
&#039;&#039;&#039;Пациент отсидел петушарой в СИЗО&#039;&#039;&#039; за сношение с 15-летней &#039;&#039;&#039;Ариной&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Его тупые подсосы-долбоебы теперь бегают и визжат, что он &amp;quot;не педофил, а эфебофил-хуил&amp;quot;. Это жалкая попытка отмыть его клеймо, потому что им самим придется держать ответ перед обществом, почему они топили за педофила.&lt;br /&gt;
&lt;br /&gt;
С точки зрения житейско-понятийной — &#039;&#039;&#039;он педофил&#039;&#039;&#039;. И теперь его ждет справедливая кара: в СИЗО к таким, как он — насильникам и растлителям — отношение особое. Это самые опущенные статьи. Его забьют &#039;&#039;&#039;под шконку&#039;&#039;&#039; и определят в касту опущенки. И никакие сравнения с Тесаком (который сам недалеко ушел) ему не помогут.&lt;br /&gt;
&lt;br /&gt;
=== Заключение врача ===&lt;br /&gt;
На основании всех собранных материалов, включая полный прогон истории, поведенческих девиаций и уголовного анамнеза, пациенту Поднебесному Алексею, 1978 года рождения, выносится следующий заключительный диагноз.&lt;br /&gt;
&lt;br /&gt;
Пациент страдает &#039;&#039;&#039;Педофилией&#039;&#039;&#039; (F65.4) — это &#039;&#039;&#039;Клиническая, финальная стадия Греха&#039;&#039;&#039;, подтверждённая как пропагандой (&amp;quot;жениться в 12-15 лет&amp;quot;, смягчение наказания за изнасилования), так и уголовным преступлением в отношении 15-летней фанатки. Это его &#039;&#039;&#039;самый страшный Грех&#039;&#039;&#039;, кара за который &#039;&#039;&#039;Вечна&#039;&#039;&#039; по Биборану.&lt;br /&gt;
&lt;br /&gt;
К основному диагнозу прилагается букет &#039;&#039;&#039;[[Абдулоэпидемиология|Абдулоболезней]]&#039;&#039;&#039; и расстройств:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[[Озонизация]] (Мания Величия, Агрессия):&#039;&#039;&#039; Ярко выражена. Пациент возомнил себя &amp;quot;Вождем&amp;quot; и &amp;quot;Нравственным Маяком&amp;quot;, требуя от &amp;quot;подсосов&amp;quot; безусловного служения. При этом он демонстрирует &#039;&#039;&#039;лютую агрессию&#039;&#039;&#039; и истерику (звериный рык, драки, метание в людей), но является &#039;&#039;&#039;трусливым чмом&#039;&#039;&#039;, которое не может выйти к &amp;quot;карателям&amp;quot; и прячется за ментами и замками.&lt;br /&gt;
# &#039;&#039;&#039;[[Маслочезация]] (Плюшкин, Бомжевание):&#039;&#039;&#039; Присутствует в классическом виде. При патологической жадности (&#039;&#039;&#039;Маслозавод&#039;&#039;&#039;) пациент живет как бомж: захламленная хламом с помойки комната, нежелание тратить деньги на базовые нужды (дезодорант) и любовь к потреблению самого дешёвого говна.&lt;br /&gt;
# &#039;&#039;&#039;[[Феторизм]] (Треш-Стримерство):&#039;&#039;&#039; Его стримерская деятельность полностью построена на привлечении внимания через &#039;&#039;&#039;эпатаж и мерзость&#039;&#039;&#039;. Он сознательно озвучивает радикальные, шизоидные и уголовно наказуемые идеи, чтобы &amp;quot;хайпануть&amp;quot; и собрать донаты, что является чистым &#039;&#039;&#039;феторизмом&#039;&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Шизотипическое Расстройство (F21):&#039;&#039;&#039; Официально подтверждённый диагноз, который объясняет его бред про &#039;&#039;&#039;&amp;quot;Вагинокапитализм&amp;quot;&#039;&#039;&#039;, 200 грамм в мозгу, талоны на секс и прочие шизоидные теории.&lt;br /&gt;
&lt;br /&gt;
Пациент Поднебесный — это &#039;&#039;&#039;неблагодарная, инфантильная скотина&#039;&#039;&#039;, которая предала всех, кто ей помогал. Он является &#039;&#039;&#039;социально опасным элементом&#039;&#039;&#039; и &#039;&#039;&#039;образцовым Грешником&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Кара исполнена в вопросе спасения от интернета.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Грешники}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Грешники]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4860</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4860"/>
		<updated>2026-10-20T19:43:29Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   3D-ГАЛЕРЕЯ (СЕТКА EDGE-TO-EDGE + ОТКАЛИБРОВАННЫЕ УГЛЫ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* 1. КОНТЕЙНЕР ГАЛЕРЕИ (Растягиваем в ширину верхнего блока) */&lt;br /&gt;
ul.gallery.mw-gallery-traditional {&lt;br /&gt;
    display: grid !important;&lt;br /&gt;
    /* Автоматически вписывает карточки, растягивая их на всё доступное место */&lt;br /&gt;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; &lt;br /&gt;
    gap: 20px !important; /* Ровное расстояние между карточками */&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    margin: 20px 0 0 0 !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. ГЛАВНАЯ КАРТОЧКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox {&lt;br /&gt;
    width: 100% !important; /* Ширину теперь диктует сетка */&lt;br /&gt;
    height: 320px !important; &lt;br /&gt;
    margin: 0 !important; /* Отступы теперь контролируются через gap в сетке */&lt;br /&gt;
    position: relative !important; &lt;br /&gt;
    background-color: #050505 !important;&lt;br /&gt;
    border: 1px solid #333 !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы откалиброваны под верхний блок */&lt;br /&gt;
    box-shadow: 0 5px 15px rgba(0,0,0,0.8);&lt;br /&gt;
    transform-style: preserve-3d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Обнуляем системные рамки */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb a {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    border: none !important; background: transparent !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КАРТИНКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox img {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: center !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы картинки */&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    filter: brightness(0.6) !important; &lt;br /&gt;
    transition: filter 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover img {&lt;br /&gt;
    filter: brightness(1) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТОВАЯ ПОДЛОЖКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext {&lt;br /&gt;
    top: auto !important;    &lt;br /&gt;
    bottom: 0 !important;    &lt;br /&gt;
    height: auto !important; &lt;br /&gt;
    left: 0 !important;&lt;br /&gt;
    width: 100% !important; &lt;br /&gt;
    box-sizing: border-box !important;&lt;br /&gt;
    padding: 40px 15px 12px 15px !important; &lt;br /&gt;
    background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important;&lt;br /&gt;
    border-radius: 0 0 6px 6px !important; /* Нижние углы градиента */&lt;br /&gt;
    text-align: center !important;&lt;br /&gt;
    z-index: 10 !important;&lt;br /&gt;
    pointer-events: none !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ИМЯ ФАЙЛА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a {&lt;br /&gt;
    position: relative !important;&lt;br /&gt;
    pointer-events: auto !important;&lt;br /&gt;
    color: #d4af37 !important; &lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 14px !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    overflow: hidden !important;&lt;br /&gt;
    text-overflow: ellipsis !important; &lt;br /&gt;
    margin-bottom: 3px !important;&lt;br /&gt;
    transition: 0.2s ease !important;&lt;br /&gt;
    text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a:hover {&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ДАТА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext .abdul-date {&lt;br /&gt;
    color: #a0a0a0 !important;&lt;br /&gt;
    font-size: 12px !important;&lt;br /&gt;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КРАСНОЕ СВЕЧЕНИЕ КАРТОЧКИ ПРИ НАВЕДЕНИИ */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover {&lt;br /&gt;
    border-color: #b53131 !important;&lt;br /&gt;
    box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЛИНЗА ДЛЯ БЛИКА */&lt;br /&gt;
.abdul-glare {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы линзы */&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    opacity: 0; &lt;br /&gt;
    z-index: 20 !important; &lt;br /&gt;
    transition: opacity 0.3s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТВАДЬ (ПАТТЕРН) В РЕЖИМЕ ПОКОЯ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot; !important;&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Ссылка на картинку */&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important;&lt;br /&gt;
    background-repeat: repeat !important; &lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ТУТ: Меняй 40px на 20px (будет очень мелко) или на 100px (будет крупно) */&lt;br /&gt;
    background-size: 320px !important; &lt;br /&gt;
    &lt;br /&gt;
    opacity: 0.5 !important; &lt;br /&gt;
    z-index: 5 !important; &lt;br /&gt;
    border-radius: 6px !important;&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    transition: opacity 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении паттерн растворяется */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover::before {&lt;br /&gt;
    opacity: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УНИВЕРСАЛЬНАЯ ГАЛЕРЕЯ (ОДИНОЧНАЯ, СЛАЙДЕР, 3D-СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* --- 1. ОДИНОЧНАЯ КАРТИНКА --- */&lt;br /&gt;
.abdul-single-wrap { position: relative !important; display: block !important; width: 100% !important; max-width: 320px !important; height: 320px !important; margin: 15px 0 !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-single-wrap &amp;gt; a, .abdul-single-wrap &amp;gt; span, .abdul-single-wrap &amp;gt; div:not(.abdul-single-text) { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; display: block !important; }&lt;br /&gt;
.abdul-single-wrap img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-single-wrap::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-single-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 15px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.6) 60%, transparent 100%) !important; color: #d4af37 !important; font-weight: bold; font-size: 16px !important; text-align: center !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 2. СЛАЙДЕР (Абсолютное позиционирование, без багов) --- */&lt;br /&gt;
.abdul-slider-wrap { position: relative !important; width: 100% !important; max-width: 320px !important; float: right !important; margin: 0 0 15px 20px !important; background: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-slider-title { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; padding: 10px 0 20px 0 !important; text-align: center !important; color: #b71c1c !important; font-weight: bold !important; font-size: 16px !important; text-transform: uppercase !important; background: linear-gradient(to bottom, rgba(5,5,5, 0.9) 0%, transparent 100%) !important; z-index: 20 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-slider-track { position: relative !important; display: block !important; width: 100% !important; height: 320px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }&lt;br /&gt;
/* Жестко убиваем мусор от MediaWiki внутри трека */&lt;br /&gt;
.abdul-slider-track &amp;gt; :not(.abdul-slide) { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Физика слайдов */&lt;br /&gt;
.abdul-slide { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; opacity: 0 !important; visibility: hidden !important; z-index: 1 !important; transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out !important; }&lt;br /&gt;
.abdul-slide.active { opacity: 1 !important; visibility: visible !important; z-index: 5 !important; transform: translateX(0) !important; }&lt;br /&gt;
.abdul-slide.hidden-left { transform: translateX(-100%) !important; }&lt;br /&gt;
.abdul-slide.hidden-right { transform: translateX(100%) !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-slide &amp;gt; a, .abdul-slide &amp;gt; span { display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-slide img { display: block !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; }&lt;br /&gt;
.abdul-nav-btn { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; background: rgba(15,15,15,0.7) !important; color: #d4af37 !important; padding: 8px 12px !important; font-size: 20px !important; cursor: pointer !important; z-index: 25 !important; border-radius: 4px !important; transition: 0.3s ease !important; user-select: none !important; }&lt;br /&gt;
.abdul-nav-btn:hover { background: #b53131 !important; color: #fff !important; }&lt;br /&gt;
.abdul-nav-btn.prev { left: 10px !important; }&lt;br /&gt;
.abdul-nav-btn.next { right: 10px !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 3. 3D-СЕТКА КАРТОЧЕК --- */&lt;br /&gt;
.abdul-gallery-container { width: 100%; margin: 20px 0; clear: both; }&lt;br /&gt;
&lt;br /&gt;
/* ЗАГОЛОВОК (Курсив + Строгая тень) */&lt;br /&gt;
.abdul-gallery-title { text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; font-style: italic !important; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8) !important; margin-bottom: 15px; }&lt;br /&gt;
&lt;br /&gt;
.abdul-grid-wrap { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; gap: 20px !important; width: 100% !important; }&lt;br /&gt;
.abdul-grid-item { width: 100% !important; height: 320px !important; position: relative !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8); transform-style: preserve-3d; }&lt;br /&gt;
.abdul-grid-item &amp;gt; a, .abdul-grid-item &amp;gt; span, .abdul-grid-item &amp;gt; div:not(.abdul-grid-text):not(.abdul-glare) { display: block !important; width: 100% !important; height: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-grid-item img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; margin: 0 !important; padding: 0 !important; border: none !important; }&lt;br /&gt;
.abdul-grid-item:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-grid-item::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-grid-item:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-grid-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 12px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important; border-radius: 0 0 6px 6px !important; text-align: center !important; color: #d4af37 !important; font-weight: bold; font-size: 14px !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-grid-item:hover { border-color: #b53131 !important; box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ХРОНОЛОГИЯ АДЕПТОВ (GANTT CHART)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-timeline-container { &lt;br /&gt;
    position: relative; background-color: #050505; border: 1px solid #333; &lt;br /&gt;
    border-radius: 8px; padding: 25px 20px 20px 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.8); &lt;br /&gt;
    margin: 20px 0; overflow: hidden; /* Удалили жесткий шрифт, теперь всё наследуется от сайта */&lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-title { &lt;br /&gt;
    text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; &lt;br /&gt;
    font-style: italic; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); &lt;br /&gt;
    margin-bottom: 25px; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-content { &lt;br /&gt;
    position: relative; z-index: 1; margin-left: 160px; border-left: 1px solid #333; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row { &lt;br /&gt;
    position: relative; display: flex; align-items: center; height: 32px; &lt;br /&gt;
    margin-bottom: 6px; border-radius: 4px; transition: background 0.2s ease; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row:hover { background: rgba(255, 255, 255, 0.03); }&lt;br /&gt;
&lt;br /&gt;
/* Имена слева */&lt;br /&gt;
.abdul-timeline-label { &lt;br /&gt;
    position: absolute; left: -160px; width: 150px; text-align: right; &lt;br /&gt;
    padding-right: 15px; box-sizing: border-box; color: #d4af37; font-weight: bold; &lt;br /&gt;
    font-size: 14px; text-shadow: 0 2px 4px rgba(0,0,0,0.8); white-space: nowrap; &lt;br /&gt;
    overflow: hidden; text-overflow: ellipsis; z-index: 5; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a { &lt;br /&gt;
    color: #d4af37 !important; text-decoration: none !important; &lt;br /&gt;
    transition: 0.2s ease; display: block; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a:hover { &lt;br /&gt;
    color: #fff !important; text-shadow: 0 0 8px rgba(212,175,55,0.8) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Трек и светящиеся полосы */&lt;br /&gt;
.abdul-timeline-track { position: relative; width: 100%; height: 100%; }&lt;br /&gt;
.abdul-timeline-bar { &lt;br /&gt;
    position: absolute; top: 50%; transform: translateY(-50%); height: 14px; &lt;br /&gt;
    border-radius: 8px; background: linear-gradient(90deg, #8b0000, #b71c1c); &lt;br /&gt;
    box-shadow: 0 2px 10px rgba(183, 28, 28, 0.6), inset 0 1px 1px rgba(255,255,255,0.2); &lt;br /&gt;
    transition: 0.3s ease; cursor: pointer; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-bar:hover { &lt;br /&gt;
    filter: brightness(1.3); height: 18px; z-index: 10; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.8), inset 0 1px 2px rgba(255,255,255,0.4); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ АБДУЛОКАЛЕНДАРЯ (ТАЙМЕР + СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Заголовок как на скрине &amp;quot;Сводка базы знаний&amp;quot; */&lt;br /&gt;
.abdul-cal-header {&lt;br /&gt;
    text-align: center; font-size: 24px; color: #ffffff; &lt;br /&gt;
    font-weight: normal; font-style: normal; text-transform: uppercase; &lt;br /&gt;
    letter-spacing: 1px; text-shadow: 0 0 10px rgba(255,255,255,0.3);&lt;br /&gt;
    margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок таймера с размытием фона (чтобы текст читался поверх параллакса) */&lt;br /&gt;
.abdul-cal-timer-box {&lt;br /&gt;
    background: linear-gradient(135deg, rgba(139,0,0,0.4) 0%, rgba(20,20,20,0.9) 100%);&lt;br /&gt;
    border-left: 4px solid #b71c1c; border-radius: 0 6px 6px 0;&lt;br /&gt;
    padding: 15px; margin-bottom: 25px; text-align: center;&lt;br /&gt;
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);&lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today-title, .abdul-cal-timer-title { &lt;br /&gt;
    font-size: 13px; color: #aaa; font-weight: bold; margin-bottom: 5px; text-transform: uppercase; &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today { &lt;br /&gt;
    font-size: 26px; color: #d4af37; font-weight: bold; text-shadow: 0 2px 5px rgba(0,0,0,0.9); &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-countdown { &lt;br /&gt;
    font-size: 20px; color: #fff; font-weight: bold; text-shadow: 0 0 10px rgba(183, 28, 28, 0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка (Делаем прозрачной, так как фон уже есть у главного блока) */&lt;br /&gt;
.abdul-visual-calendar {&lt;br /&gt;
    background: transparent !important; border: none !important; &lt;br /&gt;
    box-shadow: none !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    overflow-x: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-row { display: flex; gap: 15px; margin-bottom: 20px; min-width: 1000px; }&lt;br /&gt;
.abdul-vc-days-col { display: flex; flex-direction: column; width: 90px; flex-shrink: 0; }&lt;br /&gt;
.abdul-vc-month-col { flex: 1; display: flex; flex-direction: column; }&lt;br /&gt;
.abdul-vc-m-title {&lt;br /&gt;
    text-align: center; color: #d4af37; font-weight: bold; font-size: 16px;&lt;br /&gt;
    margin-bottom: 5px; text-transform: uppercase; border-bottom: 1px solid #333; padding-bottom: 4px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-grid {&lt;br /&gt;
    display: grid; grid-template-rows: repeat(7, 1fr); &lt;br /&gt;
    grid-auto-columns: 1fr; grid-auto-flow: column; gap: 3px; flex: 1;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-day-name {&lt;br /&gt;
    height: 24px; line-height: 24px; text-align: left; font-size: 13px;&lt;br /&gt;
    color: #888; font-family: inherit; font-weight: bold; margin-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell {&lt;br /&gt;
    background: rgba(17,17,17,0.8); color: #ccc; border: 1px solid #333; text-align: center;&lt;br /&gt;
    font-size: 14px; height: 24px; line-height: 24px; border-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell:hover { background: #333; border-color: #777; }&lt;br /&gt;
.abdul-vc-cell.hl-green { background: #1b4b22 !important; border-color: #2e7d32 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
.abdul-vc-cell.hl-gold { background: #5c4000 !important; border-color: #d4af37 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОЧИСТКА ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ (УЛЬТИМАТИВНАЯ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Выжигаем плашки &amp;quot;Стабильная версия&amp;quot; и досмотры везде */&lt;br /&gt;
html.abdul-not-admin #mw-fr-revisiontag,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_short,&lt;br /&gt;
html.abdul-not-admin #mw-fr-reviewnotice,&lt;br /&gt;
html.abdul-not-admin .fr-diff-to-stable,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_notice {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Скрываем &amp;quot;Просмотр кода&amp;quot; ТОЛЬКО на защищённых страницах */&lt;br /&gt;
html.abdul-not-admin.abdul-protected-page #ca-viewsource {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ПОЛНОЕ УНИЧТОЖЕНИЕ панелей на Главной для не-админов */&lt;br /&gt;
html.abdul-main-page-guest #p-namespaces,&lt;br /&gt;
html.abdul-main-page-guest #p-views,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-namespaces,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-views,&lt;br /&gt;
html.abdul-main-page-guest #page-tools,&lt;br /&gt;
html.abdul-main-page-guest #p-cactions {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УЛЬТИМАТИВНЫЙ ЗАГОЛОВОК ДЛЯ ГЛАВНОЙ СТРАНИЦЫ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
html.abdul-main-page-all #firstHeading,&lt;br /&gt;
html.abdul-main-page-all .firstHeading {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin: 20px 0 40px 0;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title h1 {&lt;br /&gt;
    font-size: 58px !important;&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    font-style: normal !important; /* Без курсива */&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    margin: 0; padding: 0;&lt;br /&gt;
    border-bottom: none !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Тёмно-красный градиент под стиль сайта */&lt;br /&gt;
    background: linear-gradient(180deg, #fa2a2a 0%, #a60f0f 45%, #7f0000 100%);&lt;br /&gt;
    -webkit-background-clip: text;&lt;br /&gt;
    -webkit-text-fill-color: transparent;&lt;br /&gt;
    color: #d32f2f; &lt;br /&gt;
    &lt;br /&gt;
    -webkit-text-stroke: 0 !important;&lt;br /&gt;
    filter: none !important; /* Убираем грязную размытую тень */&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ЖИРНОСТИ И 3D-ТЕНИ */&lt;br /&gt;
    /* 1. Делаем буквы толще за счет микро-контура в цвет самого текста (#d32f2f) */&lt;br /&gt;
    /* 2. Делаем жесткую объемную тень цвета темной крови (#4a0000) */&lt;br /&gt;
    /* 3. Добавляем легкий красный отсвет на фон */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        4px 4px 0px #4a0000,&lt;br /&gt;
        5px 5px 15px rgba(74,0,0,0.5) !important;&lt;br /&gt;
    &lt;br /&gt;
    letter-spacing: 2px;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title::after {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    display: block;&lt;br /&gt;
    width: 40%;&lt;br /&gt;
    height: 3px;&lt;br /&gt;
    margin: 15px auto 0 auto;&lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #b71c1c 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 15px #b71c1c;&lt;br /&gt;
    transition: all 0.4s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* === ЭФФЕКТЫ ПРИ НАВЕДЕНИИ МЫШИ (HOVER) === */&lt;br /&gt;
.abdul-main-title:hover h1 {&lt;br /&gt;
    transform: scale(1.02) translateY(-2px); /* Текст слегка &amp;quot;всплывает&amp;quot; вверх */&lt;br /&gt;
    letter-spacing: 4px; &lt;br /&gt;
    &lt;br /&gt;
    /* Углубляем 3D-эффект и зажигаем адское свечение */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        5px 5px 0px #2a0000,&lt;br /&gt;
        7px 7px 0px #1a0000,&lt;br /&gt;
        0px 0px 25px rgba(255, 50, 50, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
.abdul-main-title:hover::after {&lt;br /&gt;
    width: 70%; &lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #ff1a1a 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 25px #ff1a1a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 768px) {&lt;br /&gt;
    .abdul-main-title h1 { font-size: 32px !important; letter-spacing: 1px; }&lt;br /&gt;
    .abdul-main-title:hover h1 { letter-spacing: 3px; }&lt;br /&gt;
    .abdul-main-title::after { width: 80%; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КРАСИВЫЙ СПИСОК УЧАСТНИКОВ (ФИНАЛ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));&lt;br /&gt;
    gap: 12px;&lt;br /&gt;
    list-style: none !important;&lt;br /&gt;
    padding: 0; margin: 20px 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Каркас карточки: gap: 4px делает ИДЕАЛЬНЫЕ отступы между всеми строками */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li {&lt;br /&gt;
    background: rgba(15, 15, 18, 0.9);&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 12px 12px 12px 85px;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 4px; &lt;br /&gt;
    min-height: 85px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover {&lt;br /&gt;
    border-color: #b71c1c;&lt;br /&gt;
    background: #111;&lt;br /&gt;
    transform: translateY(-3px);&lt;br /&gt;
    box-shadow: 0 8px 20px rgba(183, 28, 28, 0.4);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Аватарка Абдулова */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li::before {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    left: 15px; top: 50%;&lt;br /&gt;
    transform: translateY(-50%);&lt;br /&gt;
    width: 55px; height: 55px;&lt;br /&gt;
    background: #1a1a1a url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) center/cover;&lt;br /&gt;
    border-radius: 50%;&lt;br /&gt;
    border: 2px solid #444;&lt;br /&gt;
    box-shadow: 0 0 10px #000;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover::before {&lt;br /&gt;
    border-color: #fbc02d;&lt;br /&gt;
    box-shadow: 0 0 15px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный стиль для Админов */&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card { &lt;br /&gt;
    background: rgba(40, 10, 10, 0.9) !important; &lt;br /&gt;
    border-color: #600 !important; &lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card::before { border-color: #b71c1c; }&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover { &lt;br /&gt;
    border-color: #ff5252 !important; &lt;br /&gt;
    background: rgba(60, 15, 15, 0.95) !important;&lt;br /&gt;
    box-shadow: 0 8px 25px rgba(255, 82, 82, 0.5);&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover::before {&lt;br /&gt;
    border-color: #ffea00;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 234, 0, 0.8);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текстовые элементы */&lt;br /&gt;
.mw-special-Listusers .mw-userlink {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif;&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    line-height: 1.2;&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
    transition: all 0.2s;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-userlink:hover { color: #fff !important; text-shadow: 0 0 10px #fbc02d; }&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #666;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a { color: #aaa; text-decoration: none; }&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a:hover { color: #ff5252; text-decoration: underline; }&lt;br /&gt;
&lt;br /&gt;
.abdul-creation-date {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #888;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    border-top: 1px solid #222;&lt;br /&gt;
    padding-top: 4px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ПЛАШКИ РОЛЕЙ (Теперь это гарантированно чистый белый текст) */&lt;br /&gt;
.mw-special-Listusers .mw-listusers-groups {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    margin: 4px 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .abdul-role-badge {&lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
    font-size: 11px !important;&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000 0%, #b71c1c 100%) !important;&lt;br /&gt;
    padding: 3px 8px !important;&lt;br /&gt;
    border-radius: 4px !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #ff5252 !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;&lt;br /&gt;
    line-height: 1.2 !important;&lt;br /&gt;
    text-transform: lowercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ЭЛИТНЫЙ ТОП-50 (ИДЕАЛЬНАЯ СЕТКА + ГИГАНТСКИЙ ТОП-3)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list {&lt;br /&gt;
    list-style: none !important; padding: 0 !important; margin: 20px 0 !important;&lt;br /&gt;
    counter-reset: abdul-top;&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(3, 1fr); &lt;br /&gt;
    gap: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* БАЗОВЫЕ СВОЙСТВА ВСЕХ КАРТОЧЕК */&lt;br /&gt;
.abdul-popular-list &amp;gt; li {&lt;br /&gt;
    background: rgba(20, 20, 25, 0.95); border: 1px solid #333; border-radius: 8px;&lt;br /&gt;
    position: relative; transition: 0.3s; counter-increment: abdul-top; &lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5); display: flex;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:hover { background: #111; transform: translateY(-4px); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li a { font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif !important; text-decoration: none !important; transition: 0.2s;}&lt;br /&gt;
&lt;br /&gt;
/* БЕЙДЖИ ПРОСМОТРОВ */&lt;br /&gt;
.abdul-views-badge {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); color: #fff; padding: 4px 10px;&lt;br /&gt;
    border-radius: 4px; font-size: 12px; font-weight: bold; border: 1px solid #ff5252;&lt;br /&gt;
    white-space: nowrap; z-index: 2; height: fit-content; text-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТОП-3: ГИГАНТСКИЕ КАРТОЧКИ В ОДИН РЯД БЕЗ ПУСТОТ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) {&lt;br /&gt;
    grid-column: span 1; &lt;br /&gt;
    flex-direction: column; /* Элементы идут сверху вниз */&lt;br /&gt;
    padding: 0; /* Убираем пустые дыры */&lt;br /&gt;
    align-items: stretch;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Картинка-баннер теперь в потоке, без дыр */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-top-thumb {&lt;br /&gt;
    position: relative; &lt;br /&gt;
    width: 100%; height: 160px; /* Идеальная высота шапки */&lt;br /&gt;
    background-color: #111;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-bottom: 2px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3):hover .abdul-top-thumb { filter: brightness(1.1) scale(1.03); }&lt;br /&gt;
&lt;br /&gt;
/* Контейнер с текстом под картинкой */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-card-content { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; flex-direction: column; justify-content: flex-start; z-index: 2; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текст статьи */&lt;br /&gt;
.abdul-top-extract {&lt;br /&gt;
    font-size: 13px; color: #bbb; margin-top: 8px; line-height: 1.4;&lt;br /&gt;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Медали и бейджи для ТОП-3 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 10px; top: 10px;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 24px; z-index: 3;&lt;br /&gt;
    background: rgba(0,0,0,0.8); padding: 4px 12px; border-radius: 6px; border: 1px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-views-badge { position: absolute; right: 10px; top: 10px; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) a { font-size: 18px !important; margin-bottom: 5px; }&lt;br /&gt;
&lt;br /&gt;
/* Цвета лидеров */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) { border-color: #ffd700; box-shadow: 0 5px 20px rgba(255, 215, 0, 0.15);}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-top-thumb { border-color: #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1)::before { content: &#039;🏆 1&#039;; color: #ffd700; border-color: #ffd700; text-shadow: 0 0 10px #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) a { color: #ffd700 !important; text-shadow: 0 0 10px rgba(255,215,0,0.3) !important;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-views-badge { background: linear-gradient(90deg, #b8860b, #ffd700); color: #000; border-color: #fff; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) .abdul-top-thumb { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2)::before { color: #c0c0c0; border-color: #c0c0c0; text-shadow: 0 0 10px #c0c0c0;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) a { color: #e0e0e0 !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) .abdul-top-thumb { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3)::before { color: #cd7f32; border-color: #cd7f32; text-shadow: 0 0 10px #cd7f32;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) a { color: #ff9966 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОСТАЛЬНЫЕ КАРТОЧКИ (С 4 МЕСТА) - В СТОЛБИК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) {&lt;br /&gt;
    grid-column: 1 / -1; &lt;br /&gt;
    flex-direction: row; padding: 12px 15px 12px 60px; min-height: 60px; align-items: center; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) .abdul-card-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; z-index: 2; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 0; top: 0; bottom: 0; width: 45px;&lt;br /&gt;
    display: flex; align-items: center; justify-content: center;&lt;br /&gt;
    background: rgba(0,0,0,0.6); font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 20px; color: #888; border-right: 1px solid #333; z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a { color: #ddd !important; font-size: 17px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a:hover { color: #ff5252 !important; text-shadow: 0 0 10px rgba(255,82,82,0.5) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ФОТО 4-10 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) { padding-left: 140px; min-height: 80px; border-color: #555; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) .abdul-top-thumb {&lt;br /&gt;
    position: absolute; left: 45px; top: 0; bottom: 0; width: 85px; height: 100%; &lt;br /&gt;
    background-color: #111; background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;); background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-right: 1px solid #444; border-bottom: none; border-radius: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЗАТУХАНИЕ (11+) */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) { background: rgba(10, 10, 12, 0.6); border-color: #222; opacity: 0.8; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11):hover { opacity: 1; border-color: #666; background: rgba(20, 20, 25, 0.9); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a { color: #999 !important; font-size: 15px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a:hover { color: #ccc !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) .abdul-views-badge { background: #222; border-color: #444; color: #888; }&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 900px) {&lt;br /&gt;
    .abdul-popular-list { grid-template-columns: 1fr; }&lt;br /&gt;
    .abdul-popular-list &amp;gt; li:nth-child(-n+3) { grid-column: 1 / -1; min-height: auto; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ФИКС КАРТИНОК И ЧИТАЕМОСТИ ДЛЯ МОДУЛЯ СТАТЕЙ (FLEXBOX)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Карточка: убираем прыжок, оставляем мягкую тень */&lt;br /&gt;
.abdul-module-card {&lt;br /&gt;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-module-card:hover {&lt;br /&gt;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.9), inset 0 0 15px rgba(255, 255, 255, 0.03);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Flex-контейнер: текст и картинка стоят ровно друг напротив друга */&lt;br /&gt;
.abdul-module-flex-area {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: row;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 15px;&lt;br /&gt;
    flex-grow: 1;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. Блок текста */&lt;br /&gt;
.abdul-module-text {&lt;br /&gt;
    flex: 1; /* Текст занимает всё свободное место */&lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 1.05em; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
    text-align: left; &lt;br /&gt;
    text-shadow: 1px 1px 3px #000, 0 0 10px #000, 0 0 20px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. Блок картинки */&lt;br /&gt;
.abdul-module-img {&lt;br /&gt;
    flex-shrink: 0;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 5. Сама картинка */&lt;br /&gt;
.abdul-module-img img {&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    height: 200px !important; &lt;br /&gt;
    object-fit: contain !important; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    box-shadow: 0 2px 10px rgba(0,0,0,0.7);&lt;br /&gt;
    border: 1px solid #444;&lt;br /&gt;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important; /* Включаем плавность */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* АНИМАЦИЯ ПРИ НАВЕДЕНИИ ИСКЛЮЧИТЕЛЬНО НА КАРТИНКУ */&lt;br /&gt;
.abdul-module-img a:hover img {&lt;br /&gt;
    transform: scale(1.07) !important; /* Увеличивается на 7% */&lt;br /&gt;
    box-shadow: 0 5px 20px rgba(255, 82, 82, 0.6) !important; /* Красное свечение */&lt;br /&gt;
    border-color: #ff5252 !important; /* Рамка становится красной */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   9. МОДУЛЬ: ДОСКА РОЗЫСКА (WANTED PAGES)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
#abdul-wanted-pages-module { &lt;br /&gt;
    margin: 20px 0; &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Шапка модуля: теперь по центру и симметричная */&lt;br /&gt;
.abdul-wanted-header { &lt;br /&gt;
    background: rgba(30, 10, 10, 0.95); &lt;br /&gt;
    border-top: 4px solid #b71c1c; /* Верхняя полоса для симметрии с другими модулями */&lt;br /&gt;
    padding: 20px; &lt;br /&gt;
    margin-bottom: 20px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);&lt;br /&gt;
    text-align: center; /* ЦЕНТРИРУЕМ ВЕСЬ ТЕКСТ */&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-title { &lt;br /&gt;
    color: #ff5252; &lt;br /&gt;
    font-size: 26px; /* Сделали чуть крупнее */&lt;br /&gt;
    font-weight: bold; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 82, 82, 0.5); &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-desc { &lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    margin-top: 8px; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка карточек: ЖЕСТКО 5 КОЛОНОК В ОДИН РЯД */&lt;br /&gt;
.abdul-wanted-grid { &lt;br /&gt;
    display: grid; &lt;br /&gt;
    grid-template-columns: repeat(5, 1fr); &lt;br /&gt;
    gap: 15px; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сама карточка розыска */&lt;br /&gt;
.abdul-wanted-card {&lt;br /&gt;
    background: #111; &lt;br /&gt;
    border: 1px solid #333; &lt;br /&gt;
    border-radius: 6px; &lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8);&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover { &lt;br /&gt;
    border-color: #b71c1c; &lt;br /&gt;
    transform: translateY(-4px); &lt;br /&gt;
    box-shadow: 0 8px 25px rgba(183, 28, 28, 0.6); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фотка с багровым фильтром и надписью */&lt;br /&gt;
.abdul-wanted-img {&lt;br /&gt;
    height: 140px; &lt;br /&gt;
    background-color: #050505;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; &lt;br /&gt;
    background-position: center top;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.6) sepia(1) hue-rotate(315deg) saturate(3); &lt;br /&gt;
    border-bottom: 2px solid #b71c1c;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    transition: filter 0.3s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover .abdul-wanted-img {&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.8) sepia(1) hue-rotate(315deg) saturate(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Штамп WANTED */&lt;br /&gt;
.abdul-wanted-img span {&lt;br /&gt;
    background: rgba(150, 0, 0, 0.9); &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 24px; &lt;br /&gt;
    padding: 5px 15px; &lt;br /&gt;
    border: 2px solid #ff5252; &lt;br /&gt;
    transform: rotate(-10deg);&lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(0,0,0,0.9); &lt;br /&gt;
    text-shadow: 2px 2px 0px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок с текстом под фоткой */&lt;br /&gt;
.abdul-wanted-info { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    flex-grow: 1; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-name { &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-size: 16px; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    margin-bottom: 8px; &lt;br /&gt;
    word-break: break-word; &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-mentions { color: #888; font-size: 12px; margin-bottom: 15px; font-style: italic; }&lt;br /&gt;
&lt;br /&gt;
/* Кнопка создания */&lt;br /&gt;
.abdul-wanted-btn {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); &lt;br /&gt;
    color: #fff !important; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important; &lt;br /&gt;
    padding: 10px 15px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    width: 100%; &lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    border: 1px solid #ff5252; &lt;br /&gt;
    transition: 0.2s; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    margin-top: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-btn:hover { &lt;br /&gt;
    background: linear-gradient(90deg, #b71c1c, #ff5252); &lt;br /&gt;
    text-shadow: 0 0 5px #fff; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(255,82,82,0.5); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Адаптивность: на телефонах сетка схлопнется в столбик, чтобы не было мелко */&lt;br /&gt;
@media (max-width: 1000px) {&lt;br /&gt;
    .abdul-wanted-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ ДЛЯ КЛИКАБЕЛЬНОЙ СТАТИСТИКИ (ИДЕАЛЬНЫЙ КОМПАКТ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Бронебойно убиваем фиолетовые (посещенные) и синие ссылки движка */&lt;br /&gt;
.news-hover-row a { text-decoration: none !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-card {&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    margin-bottom: 4px; /* Ужали отступы между строками */&lt;br /&gt;
    padding: 4px 8px;   /* Ужали высоту самих карточек в 2 раза! */&lt;br /&gt;
    background: transparent; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    transition: all 0.2s ease; &lt;br /&gt;
    border-left: 2px solid transparent; /* Подготовка для стильного ховера */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный ховер: лёгкий градиент и золотая полоска слева вместо коробки */&lt;br /&gt;
a:hover .abdul-stat-card {&lt;br /&gt;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.1) 0%, transparent 100%);&lt;br /&gt;
    border-left: 2px solid #ffd700;&lt;br /&gt;
    transform: translateX(3px); /* Минимальный, аккуратный сдвиг */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-icon {&lt;br /&gt;
    font-size: 20px; /* Уменьшили иконки */&lt;br /&gt;
    margin-right: 12px; &lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.1));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет цифр, защищаем от фиолетового бага браузера */&lt;br /&gt;
.abdul-counter {&lt;br /&gt;
    font-size: 20px !important; /* Компактные цифры */&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif !important; &lt;br /&gt;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.5) !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет подписей */&lt;br /&gt;
.abdul-stat-label {&lt;br /&gt;
    color: #aaaaaa !important; &lt;br /&gt;
    font-size: 10px !important; /* Ужали текст */&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    letter-spacing: 1px !important; &lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении текст загорается ярче */&lt;br /&gt;
a:hover .abdul-counter { text-shadow: 0 0 15px #ffd700 !important; }&lt;br /&gt;
a:hover .abdul-stat-label { color: #ffffff !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ПРЕДОХРАНИТЕЛЬ ОТ ПУСТЫХ СТРОК ДЛЯ СТАТИСТИКИ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-stats-container p { margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-stats-container br { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Убираем лишний margin-bottom у карточки, так как мы используем gap */&lt;br /&gt;
.abdul-stat-card { margin-bottom: 0 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КИБЕР-КНОПКИ (ВЕРСИЯ 2: МИНИМАЛИЗМ С ТЕНЯМИ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Сама панель кнопки: тонкая, с индивидуальными картинками И ТЕНЬЮ */&lt;br /&gt;
.abdul-cyber-btn {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: block;&lt;br /&gt;
    height: 75px; &lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    transition: 0.3s ease;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    background: #050505;&lt;br /&gt;
    /* МАГИЯ: Небольшая тень в режиме покоя, чтобы кнопка &amp;quot;парила&amp;quot; */&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ФОНОВАЯ КАРТИНКА КНОПКИ (Бронебойный центр) */&lt;br /&gt;
.cyber-bg-wrapper {&lt;br /&gt;
    position: absolute; inset: 0; width: 100%; height: 100%;&lt;br /&gt;
    z-index: 1; filter: blur(2px) brightness(0.6) grayscale(30%); transition: all 0.4s ease; pointer-events: none;&lt;br /&gt;
    display: flex !important; align-items: center !important; justify-content: center !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper a, .cyber-bg-wrapper a.image {&lt;br /&gt;
    display: flex !important; width: 100% !important; height: 100% !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper img {&lt;br /&gt;
    width: 100% !important; height: 100% !important; &lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: 50% 50% !important; /* Ровно по центру */&lt;br /&gt;
    margin: 0 auto !important; display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЦВЕТНАЯ ЗАТЕМНЯЮЩАЯ ПЛЁНКА КНОПКИ */&lt;br /&gt;
.abdul-cyber-btn::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 2; transition: background 0.3s ease; pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
.theme-red::before { background: rgba(40, 5, 5, 0.85); }&lt;br /&gt;
.theme-gold::before { background: rgba(40, 30, 0, 0.85); }&lt;br /&gt;
.theme-blue::before { background: rgba(5, 15, 40, 0.85); }&lt;br /&gt;
.theme-blood::before { background: rgba(30, 0, 0, 0.85); }&lt;br /&gt;
.theme-purple::before { background: rgba(25, 0, 40, 0.85); }&lt;br /&gt;
&lt;br /&gt;
/* ИДЕАЛЬНАЯ КИБЕР-СЕТКА (Прозрачная и элитная) */&lt;br /&gt;
.abdul-cyber-btn::after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 3; pointer-events: none; transition: 0.4s ease;&lt;br /&gt;
    background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);&lt;br /&gt;
    background-size: 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТ (Слой 4) */&lt;br /&gt;
.cyber-content {&lt;br /&gt;
    position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; padding: 5px; transition: 0.3s; pointer-events: none; background: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cyber-text {&lt;br /&gt;
    color: #ddd; font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 13px; text-transform: uppercase; text-align: center; letter-spacing: 1px; transition: 0.3s; text-shadow: 0 0 8px #000; line-height: 1.2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* МАГИЯ ССЫЛОК (Натянутая прозрачная плёнка для клика) */&lt;br /&gt;
.cyber-link-layer { position: absolute; inset: 0; z-index: 10; pointer-events: auto; }&lt;br /&gt;
.cyber-link-layer a { display: block; width: 100%; height: 100%; text-decoration: none !important; }&lt;br /&gt;
.cyber-link-stretch { display: block; width: 100%; height: 100%; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================&lt;br /&gt;
   АНИМАЦИИ ПРИ НАВЕДЕНИИ&lt;br /&gt;
   ========================================= */&lt;br /&gt;
.abdul-cyber-btn:hover .cyber-bg-wrapper { filter: blur(0px) brightness(1) grayscale(0%); transform: scale(1.1); }&lt;br /&gt;
.abdul-cyber-btn:hover::before { background: rgba(0,0,0,0.3) !important; }&lt;br /&gt;
.abdul-cyber-btn:hover::after { opacity: 0; } /* Сетка исчезает */&lt;br /&gt;
&lt;br /&gt;
/* НЕОНОВЫЕ ТЕМЫ (Заменяем тень на свечение) */&lt;br /&gt;
.theme-red:hover { border-color: #ff5252; box-shadow: 0 0 25px rgba(255,82,82,0.8); }&lt;br /&gt;
.theme-red:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff5252, 0 0 20px #ff5252; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-gold:hover { border-color: #ffd700; box-shadow: 0 0 25px rgba(255,215,0,0.8); }&lt;br /&gt;
.theme-gold:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blue:hover { border-color: #42a5f5; box-shadow: 0 0 25px rgba(66,165,245,0.8); }&lt;br /&gt;
.theme-blue:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #42a5f5, 0 0 20px #42a5f5; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blood:hover { border-color: #b71c1c; box-shadow: 0 0 25px rgba(183,28,28,0.9); }&lt;br /&gt;
.theme-blood:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff0000, 0 0 20px #b71c1c; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-purple:hover { border-color: #ba68c8; box-shadow: 0 0 25px rgba(186,104,200,0.8); }&lt;br /&gt;
.theme-purple:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ba68c8, 0 0 20px #ba68c8; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
/* Убираем стили для старого контейнера, так как мы его удалили из HTML */&lt;br /&gt;
.abdul-buttons-container { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   НОВОСТНОЙ БЛОК И ПРИВЕТСТВИЕ (ЕДИНЫЙ СТИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Строка одной новости */&lt;br /&gt;
.abdul-news-item {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    padding: 12px 20px;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    transition: background 0.2s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:last-child {&lt;br /&gt;
    border-bottom: none; /* Убираем лишнюю полоску у последней новости */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.05); /* Легкая золотая подсветка при наведении */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок даты */&lt;br /&gt;
.abdul-news-date {&lt;br /&gt;
    flex: 0 0 110px; /* Ширина колонки дат */&lt;br /&gt;
    color: #fbc02d;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    line-height: 1.3;&lt;br /&gt;
    padding-right: 15px;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок текста новости */&lt;br /&gt;
.abdul-news-text {&lt;br /&gt;
    flex: 1;&lt;br /&gt;
    color: #cecece;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    line-height: 1.4;&lt;br /&gt;
    border-left: 1px solid rgba(255, 255, 255, 0.1);&lt;br /&gt;
    padding-left: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Делаем ссылки внутри новостей красивыми */&lt;br /&gt;
.abdul-news-text a {&lt;br /&gt;
    color: #fff !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-text a:hover {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Подвал новостника (Кнопка &amp;quot;Весь список&amp;quot;) */&lt;br /&gt;
.abdul-news-footer {&lt;br /&gt;
    padding: 15px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    background: rgba(0, 0, 0, 0.3);&lt;br /&gt;
    border-top: 1px solid rgba(255, 215, 0, 0.1);&lt;br /&gt;
    margin-top: auto; /* Прибиваем к низу */&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.15); /* Вспыхивает золотом при наведении */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer a {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - СТИЛИ КОММЕНТАРИЕВ (АБСОЛЮТНЫЙ ФИНАЛ)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
/* 1. Глобальный шрифт (Возвращаем родной сайтовый Zekton) */&lt;br /&gt;
.cs-comments, .cs-comments * { &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Zekton&#039;, &#039;Roboto&#039;, sans-serif !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. КОНТЕЙНЕРЫ (Фон, тень и лечение выпадающего меню) */&lt;br /&gt;
.cs-comment, .cs-reply, .cs-head-comment {&lt;br /&gt;
    background-color: rgba(10, 10, 10, 0.95) !important;&lt;br /&gt;
    border: 1px solid #444 !important;&lt;br /&gt;
    border-left: 4px solid #cc0000 !important;&lt;br /&gt;
    margin-bottom: 25px !important;&lt;br /&gt;
    padding: 15px !important;&lt;br /&gt;
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.95) !important; /* Глубокая тень */&lt;br /&gt;
    /* КРИТИЧНО: отключаем relative/z-index, чтобы меню не пряталось под другие комменты */&lt;br /&gt;
    position: static !important; &lt;br /&gt;
    z-index: auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment:hover, .cs-reply:hover {&lt;br /&gt;
    border-color: #ffcc00 !important;&lt;br /&gt;
    border-left: 4px solid #ffcc00 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ШАПКА (Убиваем белые фоны скина Timeless) */&lt;br /&gt;
.cs-comment-header, .cs-reply-header {&lt;br /&gt;
    background: transparent !important; /* Сносим белый фон */&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    align-items: center !important;&lt;br /&gt;
    border-bottom: 1px solid rgba(204, 0, 0, 0.4) !important;&lt;br /&gt;
    padding-bottom: 10px !important;&lt;br /&gt;
    margin-bottom: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. АВАТАР АБДУЛОВА (С анимацией) */&lt;br /&gt;
.cs-comment-header::before, .cs-reply-header::before {&lt;br /&gt;
    content: &#039;&#039; !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    width: 40px !important;&lt;br /&gt;
    height: 40px !important;&lt;br /&gt;
    min-width: 40px !important;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) !important;&lt;br /&gt;
    background-size: cover !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    border: 2px solid #8b0000 !important;&lt;br /&gt;
    border-radius: 50% !important;&lt;br /&gt;
    margin-right: 15px !important;&lt;br /&gt;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.5) !important;&lt;br /&gt;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-header:hover::before, .cs-reply-header:hover::before {&lt;br /&gt;
    transform: scale(1.15) rotate(-5deg) !important;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 51, 51, 0.9) !important;&lt;br /&gt;
    border-color: #ff3333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-avatar, .cs-comment-header-left { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* 5. ТЕКСТЫ И ЧИТАЕМОСТЬ */&lt;br /&gt;
/* ВРЕМЯ И &amp;quot;НАСРАЛ&amp;quot; - единый тусклый цвет */&lt;br /&gt;
.cs-comment-header-center {&lt;br /&gt;
    color: #aaaaaa !important; /* Серый цвет для всей строки */&lt;br /&gt;
    font-size: 0.95em !important;&lt;br /&gt;
    font-weight: normal !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Если старый .time-text остался — убиваем его отличия */&lt;br /&gt;
.cs-comment-header-center .time-text {&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
    font-size: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-author a, .cs-reply-author a, .cs-comment-header-center a {&lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    font-weight: 900 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-body, .cs-reply-body {&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1.5 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-title {&lt;br /&gt;
    color: #ff3333 !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    margin-bottom: 5px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 6. ФИКС МЕНЮ И ТРЕХ ТОЧЕК */&lt;br /&gt;
/* Убиваем черный квадрат под тремя точками */&lt;br /&gt;
.cs-comment-actions .oo-ui-buttonElement-button {&lt;br /&gt;
    background: transparent !important;&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    border: none !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Меню жестко поверх всего сайта */&lt;br /&gt;
.oo-ui-popupWidget {&lt;br /&gt;
    z-index: 999999 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuSelectWidget {&lt;br /&gt;
    background-color: #111111 !important;&lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.9) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фикс текста и иконок внутри выпадающего меню */&lt;br /&gt;
.oo-ui-menuOptionWidget {&lt;br /&gt;
    color: #eeeeee !important;&lt;br /&gt;
    padding: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Отодвигаем именно текст, чтобы корзина не наезжала на буквы */&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-labelElement-label {&lt;br /&gt;
    margin-left: 28px !important; &lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {&lt;br /&gt;
    left: 10px !important; &lt;br /&gt;
    filter: invert(1) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,&lt;br /&gt;
.oo-ui-menuOptionWidget:hover {&lt;br /&gt;
    background-color: #cc0000 !important;&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сами золотые три точки */&lt;br /&gt;
span.oo-ui-icon-ellipsis {&lt;br /&gt;
    background-image: url(&#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; viewBox=&amp;quot;0 0 20 20&amp;quot;&amp;gt;&amp;lt;path fill=&amp;quot;%23ffcc00&amp;quot; d=&amp;quot;M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&#039;) !important;&lt;br /&gt;
    background-size: 20px !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    background-repeat: no-repeat !important;&lt;br /&gt;
    opacity: 0.8 !important;&lt;br /&gt;
    filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 7. КНОПКИ И ПОЛЯ ВВОДА */&lt;br /&gt;
.cs-button, .cs-add-comment-button {&lt;br /&gt;
    background-color: #1a0000 !important; &lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    padding: 8px 16px !important;&lt;br /&gt;
    box-shadow: 3px 3px 0px #000 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comments input[type=&amp;quot;text&amp;quot;], .cs-comments textarea {&lt;br /&gt;
    background-color: #0a0a0a !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #550000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО РЕГИСТРАЦИИ (БРОНЕБОЙНЫЙ ПАРСЕР)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // 1. Создаем HTML модального окна, если его еще нет&lt;br /&gt;
    if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
        var modalHtml = &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; title=&amp;quot;Закрыть&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
        $(&#039;body&#039;).append(modalHtml);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. ЖЕЛЕЗОБЕТОННЫЙ ПЕРЕХВАТ (Ищем любые ссылки на регу и вход)&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#pt-createaccount a, #pt-login a, .abdul-create-btn, a[href*=&amp;quot;CreateAccount&amp;quot;], a[href*=&amp;quot;Создать_учётную_запись&amp;quot;]&#039;, function(e) {&lt;br /&gt;
        var url = $(this).attr(&#039;href&#039;);&lt;br /&gt;
        if (!url) return; // Если ссылки нет, игнорим&lt;br /&gt;
&lt;br /&gt;
        e.preventDefault(); // Блокируем переход&lt;br /&gt;
        e.stopPropagation(); // Отрубаем родные скрипты MediaWiki, чтоб не лезли&lt;br /&gt;
&lt;br /&gt;
        // Показываем окно&lt;br /&gt;
        $(&#039;#abdul-auth-modal&#039;).fadeIn(200).css(&#039;display&#039;, &#039;flex&#039;);&lt;br /&gt;
        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;); &lt;br /&gt;
        &lt;br /&gt;
        // Запускаем спиннер загрузки&lt;br /&gt;
        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;display:flex; flex-direction:column; justify-content:center; align-items:center; height:200px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size:16px; text-transform:uppercase; text-align:center;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:40px; height:40px; border:3px solid transparent; border-top:3px solid #b71c1c; border-radius:50%; animation:spin 1s linear infinite; margin-bottom:15px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;ИДЁТ СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&amp;lt;style&amp;gt;@keyframes spin { 100% { transform: rotate(360deg); } }&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
        // 3. Выкачиваем страницу агрессивным методом&lt;br /&gt;
        $.ajax({&lt;br /&gt;
            url: url,&lt;br /&gt;
            type: &#039;GET&#039;,&lt;br /&gt;
            success: function(data) {&lt;br /&gt;
                var $parsed = $(data);&lt;br /&gt;
                // Ищем саму форму регистрации&lt;br /&gt;
                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
                var title = $parsed.find(&#039;#firstHeading&#039;).text();&lt;br /&gt;
&lt;br /&gt;
                if ($formContent.length) {&lt;br /&gt;
                    // Вставляем контент!&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2&amp;gt;&#039; + title + &#039;&amp;lt;/h2&amp;gt;&#039; + $formContent.html());&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Если форма не нашлась&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 30px; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;Не удалось вырезать форму. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-weight:bold; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            error: function() {&lt;br /&gt;
                // Если сервер заблокировал AJAX-запрос&lt;br /&gt;
                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 40px; font-family:\&#039;Roboto\&#039;, sans-serif; color: #ff5252; font-size: 16px;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;ОШИБКА ДОСТУПА&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Сервер блокирует фоновую загрузку форм.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; text-decoration:none; border-bottom:1px dashed #ffea00; font-size:18px;&amp;quot;&amp;gt;ОТКРЫТЬ СТРАНИЦУ РЕГИСТРАЦИИ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // 4. Закрытие модального окна&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, #abdul-auth-modal&#039;, function(e) {&lt;br /&gt;
        if (e.target === this) { &lt;br /&gt;
            $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
            $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;); &lt;br /&gt;
            setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Оформление базы доработок и плашки реформации&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
/* 1. Плашка реформации вверху статьи */&lt;br /&gt;
.abdul-auto-reform-alert {&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    flex-direction: row !important;&lt;br /&gt;
    align-items: flex-start !important;&lt;br /&gt;
    gap: 18px !important;&lt;br /&gt;
    background: #111116 !important;&lt;br /&gt;
    border: 1px solid #332211 !important;&lt;br /&gt;
    border-left: 5px solid #ff9100 !important;&lt;br /&gt;
    border-radius: 8px !important;&lt;br /&gt;
    padding: 16px 20px !important;&lt;br /&gt;
    margin: 15px 0 25px 0 !important;&lt;br /&gt;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.85), 0 0 15px rgba(255, 145, 0, 0.15) !important;&lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif !important;&lt;br /&gt;
    box-sizing: border-box !important;&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    text-align: left !important;&lt;br /&gt;
    clear: both !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Колонка логотипа 5.png: прижата строго к левому краю */&lt;br /&gt;
.abdul-reform-icon-side {&lt;br /&gt;
    flex: 0 0 54px !important;&lt;br /&gt;
    width: 54px !important;&lt;br /&gt;
    min-width: 54px !important;&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    align-items: flex-start !important;&lt;br /&gt;
    justify-content: flex-start !important;&lt;br /&gt;
    padding-top: 2px !important;&lt;br /&gt;
    margin: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-logo-img {&lt;br /&gt;
    width: 54px !important;&lt;br /&gt;
    max-width: 54px !important;&lt;br /&gt;
    height: auto !important;&lt;br /&gt;
    object-fit: contain !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    filter: drop-shadow(0 0 8px rgba(255, 145, 0, 0.5)) !important;&lt;br /&gt;
    margin: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Правая колонка с текстом */&lt;br /&gt;
.abdul-reform-content-side {&lt;br /&gt;
    flex: 1 1 auto !important;&lt;br /&gt;
    min-width: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-topline {&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    justify-content: space-between !important;&lt;br /&gt;
    align-items: center !important;&lt;br /&gt;
    flex-wrap: wrap !important;&lt;br /&gt;
    gap: 10px !important;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 145, 0, 0.25) !important;&lt;br /&gt;
    padding-bottom: 8px !important;&lt;br /&gt;
    margin-bottom: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-title {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif !important;&lt;br /&gt;
    font-size: 1.15em !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    color: #ff9100 !important;&lt;br /&gt;
    letter-spacing: 1.5px !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 145, 0, 0.4) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pills-wrap {&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    gap: 6px !important;&lt;br /&gt;
    flex-wrap: wrap !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pill {&lt;br /&gt;
    background: rgba(255, 145, 0, 0.15) !important;&lt;br /&gt;
    border: 1px solid #ff9100 !important;&lt;br /&gt;
    color: #ffb74d !important;&lt;br /&gt;
    font-size: 0.72em !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    letter-spacing: 0.5px !important;&lt;br /&gt;
    padding: 3px 8px !important;&lt;br /&gt;
    border-radius: 4px !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-desc {&lt;br /&gt;
    font-size: 0.92em !important;&lt;br /&gt;
    color: #cccccc !important;&lt;br /&gt;
    line-height: 1.5 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list {&lt;br /&gt;
    margin: 8px 0 12px 18px !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
    color: #e0e0e0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list li {&lt;br /&gt;
    margin-bottom: 4px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-actions {&lt;br /&gt;
    margin-top: 12px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn {&lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
    background: #ff9100 !important;&lt;br /&gt;
    color: #000000 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    font-size: 0.82em !important;&lt;br /&gt;
    letter-spacing: 0.5px !important;&lt;br /&gt;
    padding: 8px 18px !important;&lt;br /&gt;
    border-radius: 4px !important;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;&lt;br /&gt;
    transition: background 0.2s, box-shadow 0.2s, transform 0.1s !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn:hover {&lt;br /&gt;
    background: #ffa726 !important;&lt;br /&gt;
    box-shadow: 0 0 14px rgba(255, 167, 38, 0.7) !important;&lt;br /&gt;
    transform: translateY(-1px) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Модуль дашборда на страницах */&lt;br /&gt;
.abdul-reform-board-header {&lt;br /&gt;
    background: #14141c;&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 16px 20px;&lt;br /&gt;
    margin-bottom: 15px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-title {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: #ff9100;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    letter-spacing: 1.5px;&lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 145, 0, 0.3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-desc {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    margin-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-grid {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));&lt;br /&gt;
    gap: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-card {&lt;br /&gt;
    background: #12121a;&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    border-left: 3px solid #ff9100;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    padding: 12px;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
    justify-content: space-between;&lt;br /&gt;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-card:hover {&lt;br /&gt;
    transform: translateY(-2px);&lt;br /&gt;
    border-color: #ff9100;&lt;br /&gt;
    box-shadow: 0 4px 15px rgba(255, 145, 0, 0.25);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-tag {&lt;br /&gt;
    font-size: 0.7em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 2px 6px;&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.badge-deadend {&lt;br /&gt;
    background: rgba(244, 67, 54, 0.2);&lt;br /&gt;
    border: 1px solid #f44336;&lt;br /&gt;
    color: #ef5350;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.badge-reform {&lt;br /&gt;
    background: rgba(255, 145, 0, 0.2);&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ffb74d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-name {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.95em;&lt;br /&gt;
    color: #fff !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 8px 0 4px 0;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-name:hover {&lt;br /&gt;
    color: #ff9100 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn-sm {&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    background: #222;&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ff9100 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 0.8em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 6px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: background 0.2s, color 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn-sm:hover {&lt;br /&gt;
    background: #ff9100;&lt;br /&gt;
    color: #000 !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4859</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4859"/>
		<updated>2026-10-20T19:43:08Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Чистый слайдер (уничтожает любые дублирующие клики через cloneNode)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. ИНИЦИАЛИЗАЦИЯ ШАПОК С ГАРАНТИЕЙ РОВНО ОДНОГО ОБРАБОТЧИКА&lt;br /&gt;
    function bindAbdulSmoothBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-smooth-box&#039;).addBack(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            if ($box.data(&#039;abdul-clean-init&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-clean-init&#039;, true);&lt;br /&gt;
            $box.data(&#039;slider-init&#039;, true); // Блокирует старый скрипт, если он не был удален&lt;br /&gt;
&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            // Первичное скрытие&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if ($header.length) {&lt;br /&gt;
                // Клонирование элемента начисто стирает ВСЕ сторонние обработчики кликов&lt;br /&gt;
                var oldHeader = $header[0];&lt;br /&gt;
                var newHeader = oldHeader.cloneNode(true);&lt;br /&gt;
                oldHeader.parentNode.replaceChild(newHeader, oldHeader);&lt;br /&gt;
&lt;br /&gt;
                $(newHeader).css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                    if ($(e.target).closest(&#039;a&#039;).length) return;&lt;br /&gt;
&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                    $content.stop(true, false).slideToggle(250);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. СОРТИРОВКА ССЫЛОК И ДОГРУЗКА ИЗ КАТЕГОРИИ&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. АВТОМАТИЧЕСКАЯ ПОДГРУЗКА БЛОКОВ ПО КАТЕГОРИЯМ&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        bindAbdulSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Запуск на контенте страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        bindAbdulSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   ШТАБ РЕФОРМАЦИИ:&lt;br /&gt;
   1. Авто-плашка с 5.png слева ТОЛЬКО для тупиковых статей (0 ссылок)&lt;br /&gt;
   2. Интерактивный дашборд доработок на страницах (#abdul-reform-pages-module)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // 1. АВТО-ПЛАШКА (ЖЕЛЕЗОБЕТОННЫЙ ФЛЕКС: ЛОГОТИП СЛЕВА, ТЕКСТ СПРАВА)&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function checkAndInjectReformBanner() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $content =$(&#039;#mw-content-text&#039;);&lt;br /&gt;
        if (!$content.length) return;&lt;br /&gt;
&lt;br /&gt;
        if ($(&#039;.abdul-auto-reform-alert&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
        // Исключаем системные блоки, ссылки из которых не считаются текстом статьи&lt;br /&gt;
        var $excludedBlocks =$content.find(&lt;br /&gt;
            &#039;.abdul-smooth-box, .abdul-sub-box, .navbox, #toc, .toc, &#039; +&lt;br /&gt;
            &#039;#catlinks, .catlinks, .mw-editsection, .mw-jump-link, &#039; +&lt;br /&gt;
            &#039;#mw-fr-revisiontag, .flaggedrevs_notice, .flaggedrevs_short, &#039; +&lt;br /&gt;
            &#039;#cs-comments, .cs-comments, .abdul-auto-reform-alert, .printfooter, .thumb&#039;&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        var articleLinksCount = 0;&lt;br /&gt;
&lt;br /&gt;
        $content.find(&#039;a&#039;).each(function() {&lt;br /&gt;
            var $a =$(this);&lt;br /&gt;
            if ($a.closest($excludedBlocks).length &amp;gt; 0) return;&lt;br /&gt;
            if ($a.hasClass(&#039;external&#039;) || $a.hasClass(&#039;image&#039;) || $a.find(&#039;img&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
            var href = $a.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
            if (!href || href.indexOf(&#039;#&#039;) === 0 || /[?&amp;amp;]action=/.test(href)) return;&lt;br /&gt;
&lt;br /&gt;
            if (/(Служебная|Special|Файл|File|Категория|Category|Шаблон|Template|Справка|Help|Медиа|Media):/i.test(href)) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            articleLinksCount++;&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Срабатывает только при 0 ссылок в основном тексте&lt;br /&gt;
        if (articleLinksCount === 0) {&lt;br /&gt;
            var editUrl = mw.util.getUrl(mw.config.get(&#039;wgPageName&#039;), { action: &#039;edit&#039; });&lt;br /&gt;
&lt;br /&gt;
            var bannerHtml = &lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-auto-reform-alert&amp;quot; style=&amp;quot;display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 18px !important; background: #111116 !important; border: 1px solid #332211 !important; border-left: 5px solid #ff9100 !important; border-radius: 8px !important; padding: 16px 20px !important; margin: 15px 0 25px 0 !important; box-shadow: 0 6px 20px rgba(0,0,0,0.85), 0 0 15px rgba(255,145,0,0.15) !important; font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif !important; box-sizing: border-box !important; width: 100% !important; text-align: left !important; clear: both !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-icon-side&amp;quot; style=&amp;quot;flex: 0 0 54px !important; width: 54px !important; min-width: 54px !important; display: flex !important; align-items: flex-start !important; justify-content: flex-start !important; padding-top: 2px !important; margin: 0 !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;img src=&amp;quot;/Special:FilePath/5.png&amp;quot; alt=&amp;quot;Реформация&amp;quot; class=&amp;quot;abdul-reform-logo-img&amp;quot; style=&amp;quot;width: 54px !important; max-width: 54px !important; height: auto !important; object-fit: contain !important; display: block !important; filter: drop-shadow(0 0 8px rgba(255, 145, 0, 0.5)) !important; margin: 0 !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-content-side&amp;quot; style=&amp;quot;flex: 1 1 auto !important; min-width: 0 !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-topline&amp;quot; style=&amp;quot;display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; border-bottom: 1px solid rgba(255, 145, 0, 0.25) !important; padding-bottom: 8px !important; margin-bottom: 10px !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;span class=&amp;quot;abdul-reform-title&amp;quot; style=&amp;quot;font-family: \&#039;ZektonBd\&#039;, sans-serif !important; font-size: 1.15em !important; font-weight: bold !important; color: #ff9100 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; text-shadow: 0 0 10px rgba(255, 145, 0, 0.4) !important;&amp;quot;&amp;gt;СТАТЬЯ НУЖДАЕТСЯ В РЕФОРМАЦИИ&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-pills-wrap&amp;quot; style=&amp;quot;display: flex !important; gap: 6px !important; flex-wrap: wrap !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-reform-pill&amp;quot;&amp;gt;ТУПИКОВАЯ СТАТЬЯ&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-reform-pill&amp;quot;&amp;gt;НЕТ ССЫЛОК&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-desc&amp;quot; style=&amp;quot;font-size: 0.92em !important; color: #cccccc !important; line-height: 1.5 !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;Автоматический контроль структуры выявил полное отсутствие внутренних ссылок. Статья изолирована от общей базы Центра:&#039; +&lt;br /&gt;
                            &#039;&amp;lt;ul class=&amp;quot;abdul-reform-list&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Отсутствует перелинковка:&amp;lt;/b&amp;gt; в тексте нет ни одной ссылки на смежные понятия, священные термины, грешников или Биборан.&amp;lt;/li&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/ul&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-actions&amp;quot; style=&amp;quot;margin-top: 12px !important;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn&amp;quot;&amp;gt;✏ ВНЕСТИ ПРАВКИ И ДОРАБОТАТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $target =$content.find(&#039;.mw-parser-output&#039;).length ? $content.find(&#039;.mw-parser-output&#039;) :$content;&lt;br /&gt;
            $target.prepend(bannerHtml);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // 2. ДАШБОРД НА СТРАНИЦАХ (#abdul-reform-pages-module)&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function initReformModule() {&lt;br /&gt;
        var $container =$(&#039;#abdul-reform-pages-module&#039;);&lt;br /&gt;
        if (!$container.length) return;&lt;br /&gt;
&lt;br /&gt;
        $.when(&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Deadendpages&#039;,&lt;br /&gt;
                qplimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }),&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;categorymembers&#039;,&lt;br /&gt;
                cmtitle: &#039;Категория:Дорабатываемое&#039;,&lt;br /&gt;
                cmnamespace: 0,&lt;br /&gt;
                cmlimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            })&lt;br /&gt;
        ).done(function(deadendRes, catRes) {&lt;br /&gt;
            var deadendData = deadendRes[0];&lt;br /&gt;
            var catData = catRes[0];&lt;br /&gt;
            var reformMap = {};&lt;br /&gt;
&lt;br /&gt;
            if (deadendData &amp;amp;&amp;amp; deadendData.query &amp;amp;&amp;amp; deadendData.query.querypage &amp;amp;&amp;amp; deadendData.query.querypage.results) {&lt;br /&gt;
                $.each(deadendData.query.querypage.results, function(i, page) {&lt;br /&gt;
                    reformMap[page.title] = {&lt;br /&gt;
                        title: page.title,&lt;br /&gt;
                        reason: &#039;Тупиковая статья&#039;,&lt;br /&gt;
                        badgeClass: &#039;badge-deadend&#039;&lt;br /&gt;
                    };&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (catData &amp;amp;&amp;amp; catData.query &amp;amp;&amp;amp; catData.query.categorymembers) {&lt;br /&gt;
                $.each(catData.query.categorymembers, function(i, member) {&lt;br /&gt;
                    reformMap[member.title] = {&lt;br /&gt;
                        title: member.title,&lt;br /&gt;
                        reason: &#039;Требует реформ&#039;,&lt;br /&gt;
                        badgeClass: &#039;badge-reform&#039;&lt;br /&gt;
                    };&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var entries = Object.keys(reformMap).map(function(k) { return reformMap[k]; });&lt;br /&gt;
&lt;br /&gt;
            if (entries.length &amp;gt; 0) {&lt;br /&gt;
                var gridHtml = &#039;&#039;;&lt;br /&gt;
                $.each(entries.slice(0, 8), function(i, item) {&lt;br /&gt;
                    var readUrl = mw.util.getUrl(item.title);&lt;br /&gt;
                    var editUrl = mw.util.getUrl(item.title, { action: &#039;edit&#039; });&lt;br /&gt;
&lt;br /&gt;
                    gridHtml += &lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-head&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-tag &#039; + item.badgeClass + &#039;&amp;quot;&amp;gt;&#039; + item.reason + &#039;&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-body&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + readUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-card-name&amp;quot;&amp;gt;&#039; + item.title + &#039;&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-footer&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn-sm&amp;quot;&amp;gt;✏ ИСПРАВИТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $container.html(&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ РЕФОРМАЦИИ И ДОРАБОТКИ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Статьи без перелинковки или ожидающие доработки по канону Центра.&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-grid&amp;quot;&amp;gt;&#039; + gridHtml + &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
                );&lt;br /&gt;
            } else {&lt;br /&gt;
                $container.html(&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ ДОРАБОТКИ: ДЕФЕКТОВ НЕТ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Все статьи базы оформлены подобающим образом.&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
                );&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function() {&lt;br /&gt;
        checkAndInjectReformBanner();&lt;br /&gt;
        initReformModule();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4858</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4858"/>
		<updated>2026-10-20T19:38:50Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Чистый слайдер (уничтожает любые дублирующие клики через cloneNode)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. ИНИЦИАЛИЗАЦИЯ ШАПОК С ГАРАНТИЕЙ РОВНО ОДНОГО ОБРАБОТЧИКА&lt;br /&gt;
    function bindAbdulSmoothBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-smooth-box&#039;).addBack(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            if ($box.data(&#039;abdul-clean-init&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-clean-init&#039;, true);&lt;br /&gt;
            $box.data(&#039;slider-init&#039;, true); // Блокирует старый скрипт, если он не был удален&lt;br /&gt;
&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            // Первичное скрытие&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if ($header.length) {&lt;br /&gt;
                // Клонирование элемента начисто стирает ВСЕ сторонние обработчики кликов&lt;br /&gt;
                var oldHeader = $header[0];&lt;br /&gt;
                var newHeader = oldHeader.cloneNode(true);&lt;br /&gt;
                oldHeader.parentNode.replaceChild(newHeader, oldHeader);&lt;br /&gt;
&lt;br /&gt;
                $(newHeader).css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                    if ($(e.target).closest(&#039;a&#039;).length) return;&lt;br /&gt;
&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                    $content.stop(true, false).slideToggle(250);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. СОРТИРОВКА ССЫЛОК И ДОГРУЗКА ИЗ КАТЕГОРИИ&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. АВТОМАТИЧЕСКАЯ ПОДГРУЗКА БЛОКОВ ПО КАТЕГОРИЯМ&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        bindAbdulSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Запуск на контенте страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        bindAbdulSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   ШТАБ РЕФОРМАЦИИ:&lt;br /&gt;
   1. Авто-плашка с 5.png ТОЛЬКО для тупиковых статей (0 ссылок на другие статьи)&lt;br /&gt;
   2. Интерактивный дашборд доработок на страницах (#abdul-reform-pages-module)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // 1. АВТО-ПЛАШКА (СРАБАТЫВАЕТ ТОЛЬКО ПРИ 0 ССЫЛОК В ТЕКСТЕ)&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function checkAndInjectReformBanner() {&lt;br /&gt;
        // Проверяем только режим чтения обычной статьи основного пространства&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $content = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        if (!$content.length) return;&lt;br /&gt;
&lt;br /&gt;
        // Если плашка уже добавлена — не дублируем&lt;br /&gt;
        if ($(&#039;.abdul-auto-reform-alert&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
        // Список служебных контейнеров, ссылки из которых НЕ считаются текстом статьи:&lt;br /&gt;
        // навигационные блоки, оглавление, категории, комментарии, миниатюры файлов&lt;br /&gt;
        var $excludedBlocks = $content.find(&lt;br /&gt;
            &#039;.abdul-smooth-box, .abdul-sub-box, .navbox, #toc, .toc, &#039; +&lt;br /&gt;
            &#039;#catlinks, .catlinks, .mw-editsection, .mw-jump-link, &#039; +&lt;br /&gt;
            &#039;#mw-fr-revisiontag, .flaggedrevs_notice, .flaggedrevs_short, &#039; +&lt;br /&gt;
            &#039;#cs-comments, .cs-comments, .abdul-auto-reform-alert, .printfooter, .thumb&#039;&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        var articleLinksCount = 0;&lt;br /&gt;
&lt;br /&gt;
        // Сканируем только реальные ссылки внутри текста статьи&lt;br /&gt;
        $content.find(&#039;a&#039;).each(function() {&lt;br /&gt;
            var $a = $(this);&lt;br /&gt;
&lt;br /&gt;
            // Игнорируем ссылки внутри исключённых блоков&lt;br /&gt;
            if ($a.closest($excludedBlocks).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
            // Игнорируем внешние ссылки и кликабельные изображения&lt;br /&gt;
            if ($a.hasClass(&#039;external&#039;) || $a.hasClass(&#039;image&#039;) || $a.find(&#039;img&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
            var href = $a.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // Игнорируем якоря (#...) и ссылки действий (?action=...)&lt;br /&gt;
            if (!href || href.indexOf(&#039;#&#039;) === 0 || /[?&amp;amp;]action=/.test(href)) return;&lt;br /&gt;
&lt;br /&gt;
            // Игнорируем служебные пространства (Файлы, Категории, Шаблоны, Справку, Служебные)&lt;br /&gt;
            if (/(Служебная|Special|Файл|File|Категория|Category|Шаблон|Template|Справка|Help|Медиа|Media):/i.test(href)) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Найдена внутренняя ссылка на статью&lt;br /&gt;
            articleLinksCount++;&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Если в теле статьи нет ни одной ссылки на другие материалы базы&lt;br /&gt;
        if (articleLinksCount === 0) {&lt;br /&gt;
            var editUrl = mw.util.getUrl(mw.config.get(&#039;wgPageName&#039;), { action: &#039;edit&#039; });&lt;br /&gt;
&lt;br /&gt;
            var bannerHtml = &lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-auto-reform-alert&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-icon-side&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;img src=&amp;quot;/Special:FilePath/5.png&amp;quot; alt=&amp;quot;Реформация&amp;quot; class=&amp;quot;abdul-reform-logo-img&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-content-side&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-topline&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;span class=&amp;quot;abdul-reform-title&amp;quot;&amp;gt;СТАТЬЯ НУЖДАЕТСЯ В РЕФОРМАЦИИ&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-pills-wrap&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-reform-pill&amp;quot;&amp;gt;ТУПИКОВАЯ СТАТЬЯ&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-reform-pill&amp;quot;&amp;gt;НЕТ ССЫЛОК&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-desc&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;Автоматический контроль структуры выявил полное отсутствие внутренних ссылок. Статья изолирована от общей базы Центра:&#039; +&lt;br /&gt;
                            &#039;&amp;lt;ul class=&amp;quot;abdul-reform-list&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Отсутствует перелинковка:&amp;lt;/b&amp;gt; в тексте нет ни одной ссылки на смежные понятия, священные термины, грешников или Биборан.&amp;lt;/li&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/ul&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-actions&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn&amp;quot;&amp;gt;✏ ВНЕСТИ ПРАВКИ И ДОРАБОТАТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $target = $content.find(&#039;.mw-parser-output&#039;).length ? $content.find(&#039;.mw-parser-output&#039;) : $content;&lt;br /&gt;
            $target.prepend(bannerHtml);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // 2. ДАШБОРД НА ГЛАВНОЙ СТРАНИЦЕ (#abdul-reform-pages-module)&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function initReformModule() {&lt;br /&gt;
        var $container = $(&#039;#abdul-reform-pages-module&#039;);&lt;br /&gt;
        if (!$container.length) return;&lt;br /&gt;
&lt;br /&gt;
        $.when(&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Deadendpages&#039;,&lt;br /&gt;
                qplimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }),&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;categorymembers&#039;,&lt;br /&gt;
                cmtitle: &#039;Категория:Дорабатываемое&#039;,&lt;br /&gt;
                cmnamespace: 0,&lt;br /&gt;
                cmlimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            })&lt;br /&gt;
        ).done(function(deadendRes, catRes) {&lt;br /&gt;
            var deadendData = deadendRes[0];&lt;br /&gt;
            var catData = catRes[0];&lt;br /&gt;
            var reformMap = {};&lt;br /&gt;
&lt;br /&gt;
            if (deadendData &amp;amp;&amp;amp; deadendData.query &amp;amp;&amp;amp; deadendData.query.querypage &amp;amp;&amp;amp; deadendData.query.querypage.results) {&lt;br /&gt;
                $.each(deadendData.query.querypage.results, function(i, page) {&lt;br /&gt;
                    reformMap[page.title] = {&lt;br /&gt;
                        title: page.title,&lt;br /&gt;
                        reason: &#039;Тупиковая статья&#039;,&lt;br /&gt;
                        badgeClass: &#039;badge-deadend&#039;&lt;br /&gt;
                    };&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (catData &amp;amp;&amp;amp; catData.query &amp;amp;&amp;amp; catData.query.categorymembers) {&lt;br /&gt;
                $.each(catData.query.categorymembers, function(i, member) {&lt;br /&gt;
                    reformMap[member.title] = {&lt;br /&gt;
                        title: member.title,&lt;br /&gt;
                        reason: &#039;Требует реформ&#039;,&lt;br /&gt;
                        badgeClass: &#039;badge-reform&#039;&lt;br /&gt;
                    };&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var entries = Object.keys(reformMap).map(function(k) { return reformMap[k]; });&lt;br /&gt;
&lt;br /&gt;
            if (entries.length &amp;gt; 0) {&lt;br /&gt;
                var gridHtml = &#039;&#039;;&lt;br /&gt;
                $.each(entries.slice(0, 8), function(i, item) {&lt;br /&gt;
                    var readUrl = mw.util.getUrl(item.title);&lt;br /&gt;
                    var editUrl = mw.util.getUrl(item.title, { action: &#039;edit&#039; });&lt;br /&gt;
&lt;br /&gt;
                    gridHtml += &lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-head&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-tag &#039; + item.badgeClass + &#039;&amp;quot;&amp;gt;&#039; + item.reason + &#039;&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-body&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + readUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-card-name&amp;quot;&amp;gt;&#039; + item.title + &#039;&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-footer&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn-sm&amp;quot;&amp;gt;✏ ИСПРАВИТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $container.html(&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ РЕФОРМАЦИИ И ДОРАБОТКИ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Статьи без перелинковки или ожидающие доработки по канону Центра.&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-grid&amp;quot;&amp;gt;&#039; + gridHtml + &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
                );&lt;br /&gt;
            } else {&lt;br /&gt;
                $container.html(&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ ДОРАБОТКИ: ДЕФЕКТОВ НЕТ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Все статьи базы оформлены подобающим образом.&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
                );&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Инициализация при рендере содержимого&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function() {&lt;br /&gt;
        checkAndInjectReformBanner();&lt;br /&gt;
        initReformModule();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4857</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4857"/>
		<updated>2026-10-20T19:33:28Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   3D-ГАЛЕРЕЯ (СЕТКА EDGE-TO-EDGE + ОТКАЛИБРОВАННЫЕ УГЛЫ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* 1. КОНТЕЙНЕР ГАЛЕРЕИ (Растягиваем в ширину верхнего блока) */&lt;br /&gt;
ul.gallery.mw-gallery-traditional {&lt;br /&gt;
    display: grid !important;&lt;br /&gt;
    /* Автоматически вписывает карточки, растягивая их на всё доступное место */&lt;br /&gt;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; &lt;br /&gt;
    gap: 20px !important; /* Ровное расстояние между карточками */&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    margin: 20px 0 0 0 !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. ГЛАВНАЯ КАРТОЧКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox {&lt;br /&gt;
    width: 100% !important; /* Ширину теперь диктует сетка */&lt;br /&gt;
    height: 320px !important; &lt;br /&gt;
    margin: 0 !important; /* Отступы теперь контролируются через gap в сетке */&lt;br /&gt;
    position: relative !important; &lt;br /&gt;
    background-color: #050505 !important;&lt;br /&gt;
    border: 1px solid #333 !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы откалиброваны под верхний блок */&lt;br /&gt;
    box-shadow: 0 5px 15px rgba(0,0,0,0.8);&lt;br /&gt;
    transform-style: preserve-3d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Обнуляем системные рамки */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb a {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    border: none !important; background: transparent !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КАРТИНКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox img {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: center !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы картинки */&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    filter: brightness(0.6) !important; &lt;br /&gt;
    transition: filter 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover img {&lt;br /&gt;
    filter: brightness(1) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТОВАЯ ПОДЛОЖКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext {&lt;br /&gt;
    top: auto !important;    &lt;br /&gt;
    bottom: 0 !important;    &lt;br /&gt;
    height: auto !important; &lt;br /&gt;
    left: 0 !important;&lt;br /&gt;
    width: 100% !important; &lt;br /&gt;
    box-sizing: border-box !important;&lt;br /&gt;
    padding: 40px 15px 12px 15px !important; &lt;br /&gt;
    background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important;&lt;br /&gt;
    border-radius: 0 0 6px 6px !important; /* Нижние углы градиента */&lt;br /&gt;
    text-align: center !important;&lt;br /&gt;
    z-index: 10 !important;&lt;br /&gt;
    pointer-events: none !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ИМЯ ФАЙЛА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a {&lt;br /&gt;
    position: relative !important;&lt;br /&gt;
    pointer-events: auto !important;&lt;br /&gt;
    color: #d4af37 !important; &lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 14px !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    overflow: hidden !important;&lt;br /&gt;
    text-overflow: ellipsis !important; &lt;br /&gt;
    margin-bottom: 3px !important;&lt;br /&gt;
    transition: 0.2s ease !important;&lt;br /&gt;
    text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a:hover {&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ДАТА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext .abdul-date {&lt;br /&gt;
    color: #a0a0a0 !important;&lt;br /&gt;
    font-size: 12px !important;&lt;br /&gt;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КРАСНОЕ СВЕЧЕНИЕ КАРТОЧКИ ПРИ НАВЕДЕНИИ */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover {&lt;br /&gt;
    border-color: #b53131 !important;&lt;br /&gt;
    box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЛИНЗА ДЛЯ БЛИКА */&lt;br /&gt;
.abdul-glare {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы линзы */&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    opacity: 0; &lt;br /&gt;
    z-index: 20 !important; &lt;br /&gt;
    transition: opacity 0.3s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТВАДЬ (ПАТТЕРН) В РЕЖИМЕ ПОКОЯ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot; !important;&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Ссылка на картинку */&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important;&lt;br /&gt;
    background-repeat: repeat !important; &lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ТУТ: Меняй 40px на 20px (будет очень мелко) или на 100px (будет крупно) */&lt;br /&gt;
    background-size: 320px !important; &lt;br /&gt;
    &lt;br /&gt;
    opacity: 0.5 !important; &lt;br /&gt;
    z-index: 5 !important; &lt;br /&gt;
    border-radius: 6px !important;&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    transition: opacity 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении паттерн растворяется */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover::before {&lt;br /&gt;
    opacity: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УНИВЕРСАЛЬНАЯ ГАЛЕРЕЯ (ОДИНОЧНАЯ, СЛАЙДЕР, 3D-СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* --- 1. ОДИНОЧНАЯ КАРТИНКА --- */&lt;br /&gt;
.abdul-single-wrap { position: relative !important; display: block !important; width: 100% !important; max-width: 320px !important; height: 320px !important; margin: 15px 0 !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-single-wrap &amp;gt; a, .abdul-single-wrap &amp;gt; span, .abdul-single-wrap &amp;gt; div:not(.abdul-single-text) { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; display: block !important; }&lt;br /&gt;
.abdul-single-wrap img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-single-wrap::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-single-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 15px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.6) 60%, transparent 100%) !important; color: #d4af37 !important; font-weight: bold; font-size: 16px !important; text-align: center !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 2. СЛАЙДЕР (Абсолютное позиционирование, без багов) --- */&lt;br /&gt;
.abdul-slider-wrap { position: relative !important; width: 100% !important; max-width: 320px !important; float: right !important; margin: 0 0 15px 20px !important; background: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-slider-title { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; padding: 10px 0 20px 0 !important; text-align: center !important; color: #b71c1c !important; font-weight: bold !important; font-size: 16px !important; text-transform: uppercase !important; background: linear-gradient(to bottom, rgba(5,5,5, 0.9) 0%, transparent 100%) !important; z-index: 20 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-slider-track { position: relative !important; display: block !important; width: 100% !important; height: 320px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }&lt;br /&gt;
/* Жестко убиваем мусор от MediaWiki внутри трека */&lt;br /&gt;
.abdul-slider-track &amp;gt; :not(.abdul-slide) { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Физика слайдов */&lt;br /&gt;
.abdul-slide { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; opacity: 0 !important; visibility: hidden !important; z-index: 1 !important; transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out !important; }&lt;br /&gt;
.abdul-slide.active { opacity: 1 !important; visibility: visible !important; z-index: 5 !important; transform: translateX(0) !important; }&lt;br /&gt;
.abdul-slide.hidden-left { transform: translateX(-100%) !important; }&lt;br /&gt;
.abdul-slide.hidden-right { transform: translateX(100%) !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-slide &amp;gt; a, .abdul-slide &amp;gt; span { display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-slide img { display: block !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; }&lt;br /&gt;
.abdul-nav-btn { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; background: rgba(15,15,15,0.7) !important; color: #d4af37 !important; padding: 8px 12px !important; font-size: 20px !important; cursor: pointer !important; z-index: 25 !important; border-radius: 4px !important; transition: 0.3s ease !important; user-select: none !important; }&lt;br /&gt;
.abdul-nav-btn:hover { background: #b53131 !important; color: #fff !important; }&lt;br /&gt;
.abdul-nav-btn.prev { left: 10px !important; }&lt;br /&gt;
.abdul-nav-btn.next { right: 10px !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 3. 3D-СЕТКА КАРТОЧЕК --- */&lt;br /&gt;
.abdul-gallery-container { width: 100%; margin: 20px 0; clear: both; }&lt;br /&gt;
&lt;br /&gt;
/* ЗАГОЛОВОК (Курсив + Строгая тень) */&lt;br /&gt;
.abdul-gallery-title { text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; font-style: italic !important; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8) !important; margin-bottom: 15px; }&lt;br /&gt;
&lt;br /&gt;
.abdul-grid-wrap { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; gap: 20px !important; width: 100% !important; }&lt;br /&gt;
.abdul-grid-item { width: 100% !important; height: 320px !important; position: relative !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8); transform-style: preserve-3d; }&lt;br /&gt;
.abdul-grid-item &amp;gt; a, .abdul-grid-item &amp;gt; span, .abdul-grid-item &amp;gt; div:not(.abdul-grid-text):not(.abdul-glare) { display: block !important; width: 100% !important; height: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-grid-item img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; margin: 0 !important; padding: 0 !important; border: none !important; }&lt;br /&gt;
.abdul-grid-item:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-grid-item::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-grid-item:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-grid-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 12px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important; border-radius: 0 0 6px 6px !important; text-align: center !important; color: #d4af37 !important; font-weight: bold; font-size: 14px !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-grid-item:hover { border-color: #b53131 !important; box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ХРОНОЛОГИЯ АДЕПТОВ (GANTT CHART)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-timeline-container { &lt;br /&gt;
    position: relative; background-color: #050505; border: 1px solid #333; &lt;br /&gt;
    border-radius: 8px; padding: 25px 20px 20px 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.8); &lt;br /&gt;
    margin: 20px 0; overflow: hidden; /* Удалили жесткий шрифт, теперь всё наследуется от сайта */&lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-title { &lt;br /&gt;
    text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; &lt;br /&gt;
    font-style: italic; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); &lt;br /&gt;
    margin-bottom: 25px; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-content { &lt;br /&gt;
    position: relative; z-index: 1; margin-left: 160px; border-left: 1px solid #333; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row { &lt;br /&gt;
    position: relative; display: flex; align-items: center; height: 32px; &lt;br /&gt;
    margin-bottom: 6px; border-radius: 4px; transition: background 0.2s ease; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row:hover { background: rgba(255, 255, 255, 0.03); }&lt;br /&gt;
&lt;br /&gt;
/* Имена слева */&lt;br /&gt;
.abdul-timeline-label { &lt;br /&gt;
    position: absolute; left: -160px; width: 150px; text-align: right; &lt;br /&gt;
    padding-right: 15px; box-sizing: border-box; color: #d4af37; font-weight: bold; &lt;br /&gt;
    font-size: 14px; text-shadow: 0 2px 4px rgba(0,0,0,0.8); white-space: nowrap; &lt;br /&gt;
    overflow: hidden; text-overflow: ellipsis; z-index: 5; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a { &lt;br /&gt;
    color: #d4af37 !important; text-decoration: none !important; &lt;br /&gt;
    transition: 0.2s ease; display: block; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a:hover { &lt;br /&gt;
    color: #fff !important; text-shadow: 0 0 8px rgba(212,175,55,0.8) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Трек и светящиеся полосы */&lt;br /&gt;
.abdul-timeline-track { position: relative; width: 100%; height: 100%; }&lt;br /&gt;
.abdul-timeline-bar { &lt;br /&gt;
    position: absolute; top: 50%; transform: translateY(-50%); height: 14px; &lt;br /&gt;
    border-radius: 8px; background: linear-gradient(90deg, #8b0000, #b71c1c); &lt;br /&gt;
    box-shadow: 0 2px 10px rgba(183, 28, 28, 0.6), inset 0 1px 1px rgba(255,255,255,0.2); &lt;br /&gt;
    transition: 0.3s ease; cursor: pointer; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-bar:hover { &lt;br /&gt;
    filter: brightness(1.3); height: 18px; z-index: 10; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.8), inset 0 1px 2px rgba(255,255,255,0.4); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ АБДУЛОКАЛЕНДАРЯ (ТАЙМЕР + СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Заголовок как на скрине &amp;quot;Сводка базы знаний&amp;quot; */&lt;br /&gt;
.abdul-cal-header {&lt;br /&gt;
    text-align: center; font-size: 24px; color: #ffffff; &lt;br /&gt;
    font-weight: normal; font-style: normal; text-transform: uppercase; &lt;br /&gt;
    letter-spacing: 1px; text-shadow: 0 0 10px rgba(255,255,255,0.3);&lt;br /&gt;
    margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок таймера с размытием фона (чтобы текст читался поверх параллакса) */&lt;br /&gt;
.abdul-cal-timer-box {&lt;br /&gt;
    background: linear-gradient(135deg, rgba(139,0,0,0.4) 0%, rgba(20,20,20,0.9) 100%);&lt;br /&gt;
    border-left: 4px solid #b71c1c; border-radius: 0 6px 6px 0;&lt;br /&gt;
    padding: 15px; margin-bottom: 25px; text-align: center;&lt;br /&gt;
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);&lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today-title, .abdul-cal-timer-title { &lt;br /&gt;
    font-size: 13px; color: #aaa; font-weight: bold; margin-bottom: 5px; text-transform: uppercase; &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today { &lt;br /&gt;
    font-size: 26px; color: #d4af37; font-weight: bold; text-shadow: 0 2px 5px rgba(0,0,0,0.9); &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-countdown { &lt;br /&gt;
    font-size: 20px; color: #fff; font-weight: bold; text-shadow: 0 0 10px rgba(183, 28, 28, 0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка (Делаем прозрачной, так как фон уже есть у главного блока) */&lt;br /&gt;
.abdul-visual-calendar {&lt;br /&gt;
    background: transparent !important; border: none !important; &lt;br /&gt;
    box-shadow: none !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    overflow-x: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-row { display: flex; gap: 15px; margin-bottom: 20px; min-width: 1000px; }&lt;br /&gt;
.abdul-vc-days-col { display: flex; flex-direction: column; width: 90px; flex-shrink: 0; }&lt;br /&gt;
.abdul-vc-month-col { flex: 1; display: flex; flex-direction: column; }&lt;br /&gt;
.abdul-vc-m-title {&lt;br /&gt;
    text-align: center; color: #d4af37; font-weight: bold; font-size: 16px;&lt;br /&gt;
    margin-bottom: 5px; text-transform: uppercase; border-bottom: 1px solid #333; padding-bottom: 4px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-grid {&lt;br /&gt;
    display: grid; grid-template-rows: repeat(7, 1fr); &lt;br /&gt;
    grid-auto-columns: 1fr; grid-auto-flow: column; gap: 3px; flex: 1;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-day-name {&lt;br /&gt;
    height: 24px; line-height: 24px; text-align: left; font-size: 13px;&lt;br /&gt;
    color: #888; font-family: inherit; font-weight: bold; margin-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell {&lt;br /&gt;
    background: rgba(17,17,17,0.8); color: #ccc; border: 1px solid #333; text-align: center;&lt;br /&gt;
    font-size: 14px; height: 24px; line-height: 24px; border-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell:hover { background: #333; border-color: #777; }&lt;br /&gt;
.abdul-vc-cell.hl-green { background: #1b4b22 !important; border-color: #2e7d32 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
.abdul-vc-cell.hl-gold { background: #5c4000 !important; border-color: #d4af37 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОЧИСТКА ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ (УЛЬТИМАТИВНАЯ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Выжигаем плашки &amp;quot;Стабильная версия&amp;quot; и досмотры везде */&lt;br /&gt;
html.abdul-not-admin #mw-fr-revisiontag,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_short,&lt;br /&gt;
html.abdul-not-admin #mw-fr-reviewnotice,&lt;br /&gt;
html.abdul-not-admin .fr-diff-to-stable,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_notice {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Скрываем &amp;quot;Просмотр кода&amp;quot; ТОЛЬКО на защищённых страницах */&lt;br /&gt;
html.abdul-not-admin.abdul-protected-page #ca-viewsource {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ПОЛНОЕ УНИЧТОЖЕНИЕ панелей на Главной для не-админов */&lt;br /&gt;
html.abdul-main-page-guest #p-namespaces,&lt;br /&gt;
html.abdul-main-page-guest #p-views,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-namespaces,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-views,&lt;br /&gt;
html.abdul-main-page-guest #page-tools,&lt;br /&gt;
html.abdul-main-page-guest #p-cactions {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УЛЬТИМАТИВНЫЙ ЗАГОЛОВОК ДЛЯ ГЛАВНОЙ СТРАНИЦЫ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
html.abdul-main-page-all #firstHeading,&lt;br /&gt;
html.abdul-main-page-all .firstHeading {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin: 20px 0 40px 0;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title h1 {&lt;br /&gt;
    font-size: 58px !important;&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    font-style: normal !important; /* Без курсива */&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    margin: 0; padding: 0;&lt;br /&gt;
    border-bottom: none !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Тёмно-красный градиент под стиль сайта */&lt;br /&gt;
    background: linear-gradient(180deg, #fa2a2a 0%, #a60f0f 45%, #7f0000 100%);&lt;br /&gt;
    -webkit-background-clip: text;&lt;br /&gt;
    -webkit-text-fill-color: transparent;&lt;br /&gt;
    color: #d32f2f; &lt;br /&gt;
    &lt;br /&gt;
    -webkit-text-stroke: 0 !important;&lt;br /&gt;
    filter: none !important; /* Убираем грязную размытую тень */&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ЖИРНОСТИ И 3D-ТЕНИ */&lt;br /&gt;
    /* 1. Делаем буквы толще за счет микро-контура в цвет самого текста (#d32f2f) */&lt;br /&gt;
    /* 2. Делаем жесткую объемную тень цвета темной крови (#4a0000) */&lt;br /&gt;
    /* 3. Добавляем легкий красный отсвет на фон */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        4px 4px 0px #4a0000,&lt;br /&gt;
        5px 5px 15px rgba(74,0,0,0.5) !important;&lt;br /&gt;
    &lt;br /&gt;
    letter-spacing: 2px;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title::after {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    display: block;&lt;br /&gt;
    width: 40%;&lt;br /&gt;
    height: 3px;&lt;br /&gt;
    margin: 15px auto 0 auto;&lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #b71c1c 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 15px #b71c1c;&lt;br /&gt;
    transition: all 0.4s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* === ЭФФЕКТЫ ПРИ НАВЕДЕНИИ МЫШИ (HOVER) === */&lt;br /&gt;
.abdul-main-title:hover h1 {&lt;br /&gt;
    transform: scale(1.02) translateY(-2px); /* Текст слегка &amp;quot;всплывает&amp;quot; вверх */&lt;br /&gt;
    letter-spacing: 4px; &lt;br /&gt;
    &lt;br /&gt;
    /* Углубляем 3D-эффект и зажигаем адское свечение */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        5px 5px 0px #2a0000,&lt;br /&gt;
        7px 7px 0px #1a0000,&lt;br /&gt;
        0px 0px 25px rgba(255, 50, 50, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
.abdul-main-title:hover::after {&lt;br /&gt;
    width: 70%; &lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #ff1a1a 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 25px #ff1a1a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 768px) {&lt;br /&gt;
    .abdul-main-title h1 { font-size: 32px !important; letter-spacing: 1px; }&lt;br /&gt;
    .abdul-main-title:hover h1 { letter-spacing: 3px; }&lt;br /&gt;
    .abdul-main-title::after { width: 80%; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КРАСИВЫЙ СПИСОК УЧАСТНИКОВ (ФИНАЛ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));&lt;br /&gt;
    gap: 12px;&lt;br /&gt;
    list-style: none !important;&lt;br /&gt;
    padding: 0; margin: 20px 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Каркас карточки: gap: 4px делает ИДЕАЛЬНЫЕ отступы между всеми строками */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li {&lt;br /&gt;
    background: rgba(15, 15, 18, 0.9);&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 12px 12px 12px 85px;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 4px; &lt;br /&gt;
    min-height: 85px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover {&lt;br /&gt;
    border-color: #b71c1c;&lt;br /&gt;
    background: #111;&lt;br /&gt;
    transform: translateY(-3px);&lt;br /&gt;
    box-shadow: 0 8px 20px rgba(183, 28, 28, 0.4);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Аватарка Абдулова */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li::before {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    left: 15px; top: 50%;&lt;br /&gt;
    transform: translateY(-50%);&lt;br /&gt;
    width: 55px; height: 55px;&lt;br /&gt;
    background: #1a1a1a url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) center/cover;&lt;br /&gt;
    border-radius: 50%;&lt;br /&gt;
    border: 2px solid #444;&lt;br /&gt;
    box-shadow: 0 0 10px #000;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover::before {&lt;br /&gt;
    border-color: #fbc02d;&lt;br /&gt;
    box-shadow: 0 0 15px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный стиль для Админов */&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card { &lt;br /&gt;
    background: rgba(40, 10, 10, 0.9) !important; &lt;br /&gt;
    border-color: #600 !important; &lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card::before { border-color: #b71c1c; }&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover { &lt;br /&gt;
    border-color: #ff5252 !important; &lt;br /&gt;
    background: rgba(60, 15, 15, 0.95) !important;&lt;br /&gt;
    box-shadow: 0 8px 25px rgba(255, 82, 82, 0.5);&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover::before {&lt;br /&gt;
    border-color: #ffea00;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 234, 0, 0.8);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текстовые элементы */&lt;br /&gt;
.mw-special-Listusers .mw-userlink {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif;&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    line-height: 1.2;&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
    transition: all 0.2s;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-userlink:hover { color: #fff !important; text-shadow: 0 0 10px #fbc02d; }&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #666;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a { color: #aaa; text-decoration: none; }&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a:hover { color: #ff5252; text-decoration: underline; }&lt;br /&gt;
&lt;br /&gt;
.abdul-creation-date {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #888;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    border-top: 1px solid #222;&lt;br /&gt;
    padding-top: 4px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ПЛАШКИ РОЛЕЙ (Теперь это гарантированно чистый белый текст) */&lt;br /&gt;
.mw-special-Listusers .mw-listusers-groups {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    margin: 4px 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .abdul-role-badge {&lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
    font-size: 11px !important;&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000 0%, #b71c1c 100%) !important;&lt;br /&gt;
    padding: 3px 8px !important;&lt;br /&gt;
    border-radius: 4px !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #ff5252 !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;&lt;br /&gt;
    line-height: 1.2 !important;&lt;br /&gt;
    text-transform: lowercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ЭЛИТНЫЙ ТОП-50 (ИДЕАЛЬНАЯ СЕТКА + ГИГАНТСКИЙ ТОП-3)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list {&lt;br /&gt;
    list-style: none !important; padding: 0 !important; margin: 20px 0 !important;&lt;br /&gt;
    counter-reset: abdul-top;&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(3, 1fr); &lt;br /&gt;
    gap: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* БАЗОВЫЕ СВОЙСТВА ВСЕХ КАРТОЧЕК */&lt;br /&gt;
.abdul-popular-list &amp;gt; li {&lt;br /&gt;
    background: rgba(20, 20, 25, 0.95); border: 1px solid #333; border-radius: 8px;&lt;br /&gt;
    position: relative; transition: 0.3s; counter-increment: abdul-top; &lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5); display: flex;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:hover { background: #111; transform: translateY(-4px); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li a { font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif !important; text-decoration: none !important; transition: 0.2s;}&lt;br /&gt;
&lt;br /&gt;
/* БЕЙДЖИ ПРОСМОТРОВ */&lt;br /&gt;
.abdul-views-badge {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); color: #fff; padding: 4px 10px;&lt;br /&gt;
    border-radius: 4px; font-size: 12px; font-weight: bold; border: 1px solid #ff5252;&lt;br /&gt;
    white-space: nowrap; z-index: 2; height: fit-content; text-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТОП-3: ГИГАНТСКИЕ КАРТОЧКИ В ОДИН РЯД БЕЗ ПУСТОТ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) {&lt;br /&gt;
    grid-column: span 1; &lt;br /&gt;
    flex-direction: column; /* Элементы идут сверху вниз */&lt;br /&gt;
    padding: 0; /* Убираем пустые дыры */&lt;br /&gt;
    align-items: stretch;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Картинка-баннер теперь в потоке, без дыр */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-top-thumb {&lt;br /&gt;
    position: relative; &lt;br /&gt;
    width: 100%; height: 160px; /* Идеальная высота шапки */&lt;br /&gt;
    background-color: #111;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-bottom: 2px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3):hover .abdul-top-thumb { filter: brightness(1.1) scale(1.03); }&lt;br /&gt;
&lt;br /&gt;
/* Контейнер с текстом под картинкой */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-card-content { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; flex-direction: column; justify-content: flex-start; z-index: 2; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текст статьи */&lt;br /&gt;
.abdul-top-extract {&lt;br /&gt;
    font-size: 13px; color: #bbb; margin-top: 8px; line-height: 1.4;&lt;br /&gt;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Медали и бейджи для ТОП-3 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 10px; top: 10px;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 24px; z-index: 3;&lt;br /&gt;
    background: rgba(0,0,0,0.8); padding: 4px 12px; border-radius: 6px; border: 1px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-views-badge { position: absolute; right: 10px; top: 10px; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) a { font-size: 18px !important; margin-bottom: 5px; }&lt;br /&gt;
&lt;br /&gt;
/* Цвета лидеров */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) { border-color: #ffd700; box-shadow: 0 5px 20px rgba(255, 215, 0, 0.15);}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-top-thumb { border-color: #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1)::before { content: &#039;🏆 1&#039;; color: #ffd700; border-color: #ffd700; text-shadow: 0 0 10px #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) a { color: #ffd700 !important; text-shadow: 0 0 10px rgba(255,215,0,0.3) !important;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-views-badge { background: linear-gradient(90deg, #b8860b, #ffd700); color: #000; border-color: #fff; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) .abdul-top-thumb { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2)::before { color: #c0c0c0; border-color: #c0c0c0; text-shadow: 0 0 10px #c0c0c0;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) a { color: #e0e0e0 !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) .abdul-top-thumb { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3)::before { color: #cd7f32; border-color: #cd7f32; text-shadow: 0 0 10px #cd7f32;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) a { color: #ff9966 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОСТАЛЬНЫЕ КАРТОЧКИ (С 4 МЕСТА) - В СТОЛБИК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) {&lt;br /&gt;
    grid-column: 1 / -1; &lt;br /&gt;
    flex-direction: row; padding: 12px 15px 12px 60px; min-height: 60px; align-items: center; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) .abdul-card-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; z-index: 2; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 0; top: 0; bottom: 0; width: 45px;&lt;br /&gt;
    display: flex; align-items: center; justify-content: center;&lt;br /&gt;
    background: rgba(0,0,0,0.6); font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 20px; color: #888; border-right: 1px solid #333; z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a { color: #ddd !important; font-size: 17px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a:hover { color: #ff5252 !important; text-shadow: 0 0 10px rgba(255,82,82,0.5) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ФОТО 4-10 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) { padding-left: 140px; min-height: 80px; border-color: #555; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) .abdul-top-thumb {&lt;br /&gt;
    position: absolute; left: 45px; top: 0; bottom: 0; width: 85px; height: 100%; &lt;br /&gt;
    background-color: #111; background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;); background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-right: 1px solid #444; border-bottom: none; border-radius: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЗАТУХАНИЕ (11+) */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) { background: rgba(10, 10, 12, 0.6); border-color: #222; opacity: 0.8; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11):hover { opacity: 1; border-color: #666; background: rgba(20, 20, 25, 0.9); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a { color: #999 !important; font-size: 15px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a:hover { color: #ccc !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) .abdul-views-badge { background: #222; border-color: #444; color: #888; }&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 900px) {&lt;br /&gt;
    .abdul-popular-list { grid-template-columns: 1fr; }&lt;br /&gt;
    .abdul-popular-list &amp;gt; li:nth-child(-n+3) { grid-column: 1 / -1; min-height: auto; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ФИКС КАРТИНОК И ЧИТАЕМОСТИ ДЛЯ МОДУЛЯ СТАТЕЙ (FLEXBOX)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Карточка: убираем прыжок, оставляем мягкую тень */&lt;br /&gt;
.abdul-module-card {&lt;br /&gt;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-module-card:hover {&lt;br /&gt;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.9), inset 0 0 15px rgba(255, 255, 255, 0.03);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Flex-контейнер: текст и картинка стоят ровно друг напротив друга */&lt;br /&gt;
.abdul-module-flex-area {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: row;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 15px;&lt;br /&gt;
    flex-grow: 1;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. Блок текста */&lt;br /&gt;
.abdul-module-text {&lt;br /&gt;
    flex: 1; /* Текст занимает всё свободное место */&lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 1.05em; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
    text-align: left; &lt;br /&gt;
    text-shadow: 1px 1px 3px #000, 0 0 10px #000, 0 0 20px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. Блок картинки */&lt;br /&gt;
.abdul-module-img {&lt;br /&gt;
    flex-shrink: 0;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 5. Сама картинка */&lt;br /&gt;
.abdul-module-img img {&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    height: 200px !important; &lt;br /&gt;
    object-fit: contain !important; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    box-shadow: 0 2px 10px rgba(0,0,0,0.7);&lt;br /&gt;
    border: 1px solid #444;&lt;br /&gt;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important; /* Включаем плавность */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* АНИМАЦИЯ ПРИ НАВЕДЕНИИ ИСКЛЮЧИТЕЛЬНО НА КАРТИНКУ */&lt;br /&gt;
.abdul-module-img a:hover img {&lt;br /&gt;
    transform: scale(1.07) !important; /* Увеличивается на 7% */&lt;br /&gt;
    box-shadow: 0 5px 20px rgba(255, 82, 82, 0.6) !important; /* Красное свечение */&lt;br /&gt;
    border-color: #ff5252 !important; /* Рамка становится красной */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   9. МОДУЛЬ: ДОСКА РОЗЫСКА (WANTED PAGES)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
#abdul-wanted-pages-module { &lt;br /&gt;
    margin: 20px 0; &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Шапка модуля: теперь по центру и симметричная */&lt;br /&gt;
.abdul-wanted-header { &lt;br /&gt;
    background: rgba(30, 10, 10, 0.95); &lt;br /&gt;
    border-top: 4px solid #b71c1c; /* Верхняя полоса для симметрии с другими модулями */&lt;br /&gt;
    padding: 20px; &lt;br /&gt;
    margin-bottom: 20px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);&lt;br /&gt;
    text-align: center; /* ЦЕНТРИРУЕМ ВЕСЬ ТЕКСТ */&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-title { &lt;br /&gt;
    color: #ff5252; &lt;br /&gt;
    font-size: 26px; /* Сделали чуть крупнее */&lt;br /&gt;
    font-weight: bold; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 82, 82, 0.5); &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-desc { &lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    margin-top: 8px; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка карточек: ЖЕСТКО 5 КОЛОНОК В ОДИН РЯД */&lt;br /&gt;
.abdul-wanted-grid { &lt;br /&gt;
    display: grid; &lt;br /&gt;
    grid-template-columns: repeat(5, 1fr); &lt;br /&gt;
    gap: 15px; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сама карточка розыска */&lt;br /&gt;
.abdul-wanted-card {&lt;br /&gt;
    background: #111; &lt;br /&gt;
    border: 1px solid #333; &lt;br /&gt;
    border-radius: 6px; &lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8);&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover { &lt;br /&gt;
    border-color: #b71c1c; &lt;br /&gt;
    transform: translateY(-4px); &lt;br /&gt;
    box-shadow: 0 8px 25px rgba(183, 28, 28, 0.6); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фотка с багровым фильтром и надписью */&lt;br /&gt;
.abdul-wanted-img {&lt;br /&gt;
    height: 140px; &lt;br /&gt;
    background-color: #050505;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; &lt;br /&gt;
    background-position: center top;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.6) sepia(1) hue-rotate(315deg) saturate(3); &lt;br /&gt;
    border-bottom: 2px solid #b71c1c;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    transition: filter 0.3s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover .abdul-wanted-img {&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.8) sepia(1) hue-rotate(315deg) saturate(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Штамп WANTED */&lt;br /&gt;
.abdul-wanted-img span {&lt;br /&gt;
    background: rgba(150, 0, 0, 0.9); &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 24px; &lt;br /&gt;
    padding: 5px 15px; &lt;br /&gt;
    border: 2px solid #ff5252; &lt;br /&gt;
    transform: rotate(-10deg);&lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(0,0,0,0.9); &lt;br /&gt;
    text-shadow: 2px 2px 0px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок с текстом под фоткой */&lt;br /&gt;
.abdul-wanted-info { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    flex-grow: 1; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-name { &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-size: 16px; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    margin-bottom: 8px; &lt;br /&gt;
    word-break: break-word; &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-mentions { color: #888; font-size: 12px; margin-bottom: 15px; font-style: italic; }&lt;br /&gt;
&lt;br /&gt;
/* Кнопка создания */&lt;br /&gt;
.abdul-wanted-btn {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); &lt;br /&gt;
    color: #fff !important; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important; &lt;br /&gt;
    padding: 10px 15px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    width: 100%; &lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    border: 1px solid #ff5252; &lt;br /&gt;
    transition: 0.2s; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    margin-top: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-btn:hover { &lt;br /&gt;
    background: linear-gradient(90deg, #b71c1c, #ff5252); &lt;br /&gt;
    text-shadow: 0 0 5px #fff; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(255,82,82,0.5); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Адаптивность: на телефонах сетка схлопнется в столбик, чтобы не было мелко */&lt;br /&gt;
@media (max-width: 1000px) {&lt;br /&gt;
    .abdul-wanted-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ ДЛЯ КЛИКАБЕЛЬНОЙ СТАТИСТИКИ (ИДЕАЛЬНЫЙ КОМПАКТ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Бронебойно убиваем фиолетовые (посещенные) и синие ссылки движка */&lt;br /&gt;
.news-hover-row a { text-decoration: none !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-card {&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    margin-bottom: 4px; /* Ужали отступы между строками */&lt;br /&gt;
    padding: 4px 8px;   /* Ужали высоту самих карточек в 2 раза! */&lt;br /&gt;
    background: transparent; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    transition: all 0.2s ease; &lt;br /&gt;
    border-left: 2px solid transparent; /* Подготовка для стильного ховера */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный ховер: лёгкий градиент и золотая полоска слева вместо коробки */&lt;br /&gt;
a:hover .abdul-stat-card {&lt;br /&gt;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.1) 0%, transparent 100%);&lt;br /&gt;
    border-left: 2px solid #ffd700;&lt;br /&gt;
    transform: translateX(3px); /* Минимальный, аккуратный сдвиг */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-icon {&lt;br /&gt;
    font-size: 20px; /* Уменьшили иконки */&lt;br /&gt;
    margin-right: 12px; &lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.1));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет цифр, защищаем от фиолетового бага браузера */&lt;br /&gt;
.abdul-counter {&lt;br /&gt;
    font-size: 20px !important; /* Компактные цифры */&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif !important; &lt;br /&gt;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.5) !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет подписей */&lt;br /&gt;
.abdul-stat-label {&lt;br /&gt;
    color: #aaaaaa !important; &lt;br /&gt;
    font-size: 10px !important; /* Ужали текст */&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    letter-spacing: 1px !important; &lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении текст загорается ярче */&lt;br /&gt;
a:hover .abdul-counter { text-shadow: 0 0 15px #ffd700 !important; }&lt;br /&gt;
a:hover .abdul-stat-label { color: #ffffff !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ПРЕДОХРАНИТЕЛЬ ОТ ПУСТЫХ СТРОК ДЛЯ СТАТИСТИКИ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-stats-container p { margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-stats-container br { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Убираем лишний margin-bottom у карточки, так как мы используем gap */&lt;br /&gt;
.abdul-stat-card { margin-bottom: 0 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КИБЕР-КНОПКИ (ВЕРСИЯ 2: МИНИМАЛИЗМ С ТЕНЯМИ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Сама панель кнопки: тонкая, с индивидуальными картинками И ТЕНЬЮ */&lt;br /&gt;
.abdul-cyber-btn {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: block;&lt;br /&gt;
    height: 75px; &lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    transition: 0.3s ease;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    background: #050505;&lt;br /&gt;
    /* МАГИЯ: Небольшая тень в режиме покоя, чтобы кнопка &amp;quot;парила&amp;quot; */&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ФОНОВАЯ КАРТИНКА КНОПКИ (Бронебойный центр) */&lt;br /&gt;
.cyber-bg-wrapper {&lt;br /&gt;
    position: absolute; inset: 0; width: 100%; height: 100%;&lt;br /&gt;
    z-index: 1; filter: blur(2px) brightness(0.6) grayscale(30%); transition: all 0.4s ease; pointer-events: none;&lt;br /&gt;
    display: flex !important; align-items: center !important; justify-content: center !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper a, .cyber-bg-wrapper a.image {&lt;br /&gt;
    display: flex !important; width: 100% !important; height: 100% !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper img {&lt;br /&gt;
    width: 100% !important; height: 100% !important; &lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: 50% 50% !important; /* Ровно по центру */&lt;br /&gt;
    margin: 0 auto !important; display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЦВЕТНАЯ ЗАТЕМНЯЮЩАЯ ПЛЁНКА КНОПКИ */&lt;br /&gt;
.abdul-cyber-btn::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 2; transition: background 0.3s ease; pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
.theme-red::before { background: rgba(40, 5, 5, 0.85); }&lt;br /&gt;
.theme-gold::before { background: rgba(40, 30, 0, 0.85); }&lt;br /&gt;
.theme-blue::before { background: rgba(5, 15, 40, 0.85); }&lt;br /&gt;
.theme-blood::before { background: rgba(30, 0, 0, 0.85); }&lt;br /&gt;
.theme-purple::before { background: rgba(25, 0, 40, 0.85); }&lt;br /&gt;
&lt;br /&gt;
/* ИДЕАЛЬНАЯ КИБЕР-СЕТКА (Прозрачная и элитная) */&lt;br /&gt;
.abdul-cyber-btn::after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 3; pointer-events: none; transition: 0.4s ease;&lt;br /&gt;
    background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);&lt;br /&gt;
    background-size: 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТ (Слой 4) */&lt;br /&gt;
.cyber-content {&lt;br /&gt;
    position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; padding: 5px; transition: 0.3s; pointer-events: none; background: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cyber-text {&lt;br /&gt;
    color: #ddd; font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 13px; text-transform: uppercase; text-align: center; letter-spacing: 1px; transition: 0.3s; text-shadow: 0 0 8px #000; line-height: 1.2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* МАГИЯ ССЫЛОК (Натянутая прозрачная плёнка для клика) */&lt;br /&gt;
.cyber-link-layer { position: absolute; inset: 0; z-index: 10; pointer-events: auto; }&lt;br /&gt;
.cyber-link-layer a { display: block; width: 100%; height: 100%; text-decoration: none !important; }&lt;br /&gt;
.cyber-link-stretch { display: block; width: 100%; height: 100%; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================&lt;br /&gt;
   АНИМАЦИИ ПРИ НАВЕДЕНИИ&lt;br /&gt;
   ========================================= */&lt;br /&gt;
.abdul-cyber-btn:hover .cyber-bg-wrapper { filter: blur(0px) brightness(1) grayscale(0%); transform: scale(1.1); }&lt;br /&gt;
.abdul-cyber-btn:hover::before { background: rgba(0,0,0,0.3) !important; }&lt;br /&gt;
.abdul-cyber-btn:hover::after { opacity: 0; } /* Сетка исчезает */&lt;br /&gt;
&lt;br /&gt;
/* НЕОНОВЫЕ ТЕМЫ (Заменяем тень на свечение) */&lt;br /&gt;
.theme-red:hover { border-color: #ff5252; box-shadow: 0 0 25px rgba(255,82,82,0.8); }&lt;br /&gt;
.theme-red:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff5252, 0 0 20px #ff5252; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-gold:hover { border-color: #ffd700; box-shadow: 0 0 25px rgba(255,215,0,0.8); }&lt;br /&gt;
.theme-gold:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blue:hover { border-color: #42a5f5; box-shadow: 0 0 25px rgba(66,165,245,0.8); }&lt;br /&gt;
.theme-blue:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #42a5f5, 0 0 20px #42a5f5; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blood:hover { border-color: #b71c1c; box-shadow: 0 0 25px rgba(183,28,28,0.9); }&lt;br /&gt;
.theme-blood:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff0000, 0 0 20px #b71c1c; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-purple:hover { border-color: #ba68c8; box-shadow: 0 0 25px rgba(186,104,200,0.8); }&lt;br /&gt;
.theme-purple:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ba68c8, 0 0 20px #ba68c8; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
/* Убираем стили для старого контейнера, так как мы его удалили из HTML */&lt;br /&gt;
.abdul-buttons-container { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   НОВОСТНОЙ БЛОК И ПРИВЕТСТВИЕ (ЕДИНЫЙ СТИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Строка одной новости */&lt;br /&gt;
.abdul-news-item {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    padding: 12px 20px;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    transition: background 0.2s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:last-child {&lt;br /&gt;
    border-bottom: none; /* Убираем лишнюю полоску у последней новости */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.05); /* Легкая золотая подсветка при наведении */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок даты */&lt;br /&gt;
.abdul-news-date {&lt;br /&gt;
    flex: 0 0 110px; /* Ширина колонки дат */&lt;br /&gt;
    color: #fbc02d;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    line-height: 1.3;&lt;br /&gt;
    padding-right: 15px;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок текста новости */&lt;br /&gt;
.abdul-news-text {&lt;br /&gt;
    flex: 1;&lt;br /&gt;
    color: #cecece;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    line-height: 1.4;&lt;br /&gt;
    border-left: 1px solid rgba(255, 255, 255, 0.1);&lt;br /&gt;
    padding-left: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Делаем ссылки внутри новостей красивыми */&lt;br /&gt;
.abdul-news-text a {&lt;br /&gt;
    color: #fff !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-text a:hover {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Подвал новостника (Кнопка &amp;quot;Весь список&amp;quot;) */&lt;br /&gt;
.abdul-news-footer {&lt;br /&gt;
    padding: 15px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    background: rgba(0, 0, 0, 0.3);&lt;br /&gt;
    border-top: 1px solid rgba(255, 215, 0, 0.1);&lt;br /&gt;
    margin-top: auto; /* Прибиваем к низу */&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.15); /* Вспыхивает золотом при наведении */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer a {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - СТИЛИ КОММЕНТАРИЕВ (АБСОЛЮТНЫЙ ФИНАЛ)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
/* 1. Глобальный шрифт (Возвращаем родной сайтовый Zekton) */&lt;br /&gt;
.cs-comments, .cs-comments * { &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Zekton&#039;, &#039;Roboto&#039;, sans-serif !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. КОНТЕЙНЕРЫ (Фон, тень и лечение выпадающего меню) */&lt;br /&gt;
.cs-comment, .cs-reply, .cs-head-comment {&lt;br /&gt;
    background-color: rgba(10, 10, 10, 0.95) !important;&lt;br /&gt;
    border: 1px solid #444 !important;&lt;br /&gt;
    border-left: 4px solid #cc0000 !important;&lt;br /&gt;
    margin-bottom: 25px !important;&lt;br /&gt;
    padding: 15px !important;&lt;br /&gt;
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.95) !important; /* Глубокая тень */&lt;br /&gt;
    /* КРИТИЧНО: отключаем relative/z-index, чтобы меню не пряталось под другие комменты */&lt;br /&gt;
    position: static !important; &lt;br /&gt;
    z-index: auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment:hover, .cs-reply:hover {&lt;br /&gt;
    border-color: #ffcc00 !important;&lt;br /&gt;
    border-left: 4px solid #ffcc00 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ШАПКА (Убиваем белые фоны скина Timeless) */&lt;br /&gt;
.cs-comment-header, .cs-reply-header {&lt;br /&gt;
    background: transparent !important; /* Сносим белый фон */&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    align-items: center !important;&lt;br /&gt;
    border-bottom: 1px solid rgba(204, 0, 0, 0.4) !important;&lt;br /&gt;
    padding-bottom: 10px !important;&lt;br /&gt;
    margin-bottom: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. АВАТАР АБДУЛОВА (С анимацией) */&lt;br /&gt;
.cs-comment-header::before, .cs-reply-header::before {&lt;br /&gt;
    content: &#039;&#039; !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    width: 40px !important;&lt;br /&gt;
    height: 40px !important;&lt;br /&gt;
    min-width: 40px !important;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) !important;&lt;br /&gt;
    background-size: cover !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    border: 2px solid #8b0000 !important;&lt;br /&gt;
    border-radius: 50% !important;&lt;br /&gt;
    margin-right: 15px !important;&lt;br /&gt;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.5) !important;&lt;br /&gt;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-header:hover::before, .cs-reply-header:hover::before {&lt;br /&gt;
    transform: scale(1.15) rotate(-5deg) !important;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 51, 51, 0.9) !important;&lt;br /&gt;
    border-color: #ff3333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-avatar, .cs-comment-header-left { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* 5. ТЕКСТЫ И ЧИТАЕМОСТЬ */&lt;br /&gt;
/* ВРЕМЯ И &amp;quot;НАСРАЛ&amp;quot; - единый тусклый цвет */&lt;br /&gt;
.cs-comment-header-center {&lt;br /&gt;
    color: #aaaaaa !important; /* Серый цвет для всей строки */&lt;br /&gt;
    font-size: 0.95em !important;&lt;br /&gt;
    font-weight: normal !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Если старый .time-text остался — убиваем его отличия */&lt;br /&gt;
.cs-comment-header-center .time-text {&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
    font-size: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-author a, .cs-reply-author a, .cs-comment-header-center a {&lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    font-weight: 900 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-body, .cs-reply-body {&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1.5 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-title {&lt;br /&gt;
    color: #ff3333 !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    margin-bottom: 5px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 6. ФИКС МЕНЮ И ТРЕХ ТОЧЕК */&lt;br /&gt;
/* Убиваем черный квадрат под тремя точками */&lt;br /&gt;
.cs-comment-actions .oo-ui-buttonElement-button {&lt;br /&gt;
    background: transparent !important;&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    border: none !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Меню жестко поверх всего сайта */&lt;br /&gt;
.oo-ui-popupWidget {&lt;br /&gt;
    z-index: 999999 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuSelectWidget {&lt;br /&gt;
    background-color: #111111 !important;&lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.9) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фикс текста и иконок внутри выпадающего меню */&lt;br /&gt;
.oo-ui-menuOptionWidget {&lt;br /&gt;
    color: #eeeeee !important;&lt;br /&gt;
    padding: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Отодвигаем именно текст, чтобы корзина не наезжала на буквы */&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-labelElement-label {&lt;br /&gt;
    margin-left: 28px !important; &lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {&lt;br /&gt;
    left: 10px !important; &lt;br /&gt;
    filter: invert(1) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,&lt;br /&gt;
.oo-ui-menuOptionWidget:hover {&lt;br /&gt;
    background-color: #cc0000 !important;&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сами золотые три точки */&lt;br /&gt;
span.oo-ui-icon-ellipsis {&lt;br /&gt;
    background-image: url(&#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; viewBox=&amp;quot;0 0 20 20&amp;quot;&amp;gt;&amp;lt;path fill=&amp;quot;%23ffcc00&amp;quot; d=&amp;quot;M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&#039;) !important;&lt;br /&gt;
    background-size: 20px !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    background-repeat: no-repeat !important;&lt;br /&gt;
    opacity: 0.8 !important;&lt;br /&gt;
    filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 7. КНОПКИ И ПОЛЯ ВВОДА */&lt;br /&gt;
.cs-button, .cs-add-comment-button {&lt;br /&gt;
    background-color: #1a0000 !important; &lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    padding: 8px 16px !important;&lt;br /&gt;
    box-shadow: 3px 3px 0px #000 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comments input[type=&amp;quot;text&amp;quot;], .cs-comments textarea {&lt;br /&gt;
    background-color: #0a0a0a !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #550000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО РЕГИСТРАЦИИ (БРОНЕБОЙНЫЙ ПАРСЕР)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // 1. Создаем HTML модального окна, если его еще нет&lt;br /&gt;
    if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
        var modalHtml = &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; title=&amp;quot;Закрыть&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
        $(&#039;body&#039;).append(modalHtml);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. ЖЕЛЕЗОБЕТОННЫЙ ПЕРЕХВАТ (Ищем любые ссылки на регу и вход)&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#pt-createaccount a, #pt-login a, .abdul-create-btn, a[href*=&amp;quot;CreateAccount&amp;quot;], a[href*=&amp;quot;Создать_учётную_запись&amp;quot;]&#039;, function(e) {&lt;br /&gt;
        var url = $(this).attr(&#039;href&#039;);&lt;br /&gt;
        if (!url) return; // Если ссылки нет, игнорим&lt;br /&gt;
&lt;br /&gt;
        e.preventDefault(); // Блокируем переход&lt;br /&gt;
        e.stopPropagation(); // Отрубаем родные скрипты MediaWiki, чтоб не лезли&lt;br /&gt;
&lt;br /&gt;
        // Показываем окно&lt;br /&gt;
        $(&#039;#abdul-auth-modal&#039;).fadeIn(200).css(&#039;display&#039;, &#039;flex&#039;);&lt;br /&gt;
        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;); &lt;br /&gt;
        &lt;br /&gt;
        // Запускаем спиннер загрузки&lt;br /&gt;
        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;display:flex; flex-direction:column; justify-content:center; align-items:center; height:200px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size:16px; text-transform:uppercase; text-align:center;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:40px; height:40px; border:3px solid transparent; border-top:3px solid #b71c1c; border-radius:50%; animation:spin 1s linear infinite; margin-bottom:15px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;ИДЁТ СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&amp;lt;style&amp;gt;@keyframes spin { 100% { transform: rotate(360deg); } }&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
        // 3. Выкачиваем страницу агрессивным методом&lt;br /&gt;
        $.ajax({&lt;br /&gt;
            url: url,&lt;br /&gt;
            type: &#039;GET&#039;,&lt;br /&gt;
            success: function(data) {&lt;br /&gt;
                var $parsed = $(data);&lt;br /&gt;
                // Ищем саму форму регистрации&lt;br /&gt;
                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
                var title = $parsed.find(&#039;#firstHeading&#039;).text();&lt;br /&gt;
&lt;br /&gt;
                if ($formContent.length) {&lt;br /&gt;
                    // Вставляем контент!&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2&amp;gt;&#039; + title + &#039;&amp;lt;/h2&amp;gt;&#039; + $formContent.html());&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Если форма не нашлась&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 30px; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;Не удалось вырезать форму. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-weight:bold; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            error: function() {&lt;br /&gt;
                // Если сервер заблокировал AJAX-запрос&lt;br /&gt;
                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 40px; font-family:\&#039;Roboto\&#039;, sans-serif; color: #ff5252; font-size: 16px;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;ОШИБКА ДОСТУПА&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Сервер блокирует фоновую загрузку форм.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; text-decoration:none; border-bottom:1px dashed #ffea00; font-size:18px;&amp;quot;&amp;gt;ОТКРЫТЬ СТРАНИЦУ РЕГИСТРАЦИИ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // 4. Закрытие модального окна&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, #abdul-auth-modal&#039;, function(e) {&lt;br /&gt;
        if (e.target === this) { &lt;br /&gt;
            $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
            $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;); &lt;br /&gt;
            setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Оформление базы доработок и плашки реформации&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
/* 1. Плашка вверху проблемной статьи (с логотипом 5.png и плотным фоном) */&lt;br /&gt;
.abdul-auto-reform-alert {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 16px;&lt;br /&gt;
    background: #111116 !important; /* Плотный тёмный фон без просвечивания */&lt;br /&gt;
    border: 1px solid #332211;&lt;br /&gt;
    border-left: 5px solid #ff9100; /* Янтарная полоса реформации */&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 16px 20px;&lt;br /&gt;
    margin: 15px 0 25px 0;&lt;br /&gt;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.8), 0 0 15px rgba(255, 145, 0, 0.15);&lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif;&lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    z-index: 10;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Левая колонка с логотипом 5.png */&lt;br /&gt;
.abdul-reform-icon-side {&lt;br /&gt;
    flex-shrink: 0;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-logo-img {&lt;br /&gt;
    width: 56px !important;&lt;br /&gt;
    height: auto !important;&lt;br /&gt;
    object-fit: contain;&lt;br /&gt;
    filter: drop-shadow(0 0 8px rgba(255, 145, 0, 0.5));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Правая колонка: заголовок, бейджи и текст дефектов */&lt;br /&gt;
.abdul-reform-content-side {&lt;br /&gt;
    flex: 1 1 auto;&lt;br /&gt;
    min-width: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-topline {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    justify-content: space-between;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 10px;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 145, 0, 0.25);&lt;br /&gt;
    padding-bottom: 8px;&lt;br /&gt;
    margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-title {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 1.15em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: #ff9100;&lt;br /&gt;
    letter-spacing: 1.5px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 145, 0, 0.4);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pills-wrap {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pill {&lt;br /&gt;
    background: rgba(255, 145, 0, 0.15);&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ffb74d;&lt;br /&gt;
    font-size: 0.72em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    letter-spacing: 0.5px;&lt;br /&gt;
    padding: 3px 8px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-desc {&lt;br /&gt;
    font-size: 0.92em;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list {&lt;br /&gt;
    margin: 8px 0 12px 18px;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    color: #e0e0e0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list li {&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-actions {&lt;br /&gt;
    margin-top: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    background: #ff9100;&lt;br /&gt;
    color: #000000 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.82em;&lt;br /&gt;
    letter-spacing: 0.5px;&lt;br /&gt;
    padding: 8px 18px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);&lt;br /&gt;
    transition: background 0.2s, box-shadow 0.2s, transform 0.1s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn:hover {&lt;br /&gt;
    background: #ffa726;&lt;br /&gt;
    box-shadow: 0 0 14px rgba(255, 167, 38, 0.7);&lt;br /&gt;
    transform: translateY(-1px);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 600px) {&lt;br /&gt;
    .abdul-auto-reform-alert {&lt;br /&gt;
        flex-direction: column;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        text-align: center;&lt;br /&gt;
    }&lt;br /&gt;
    .abdul-reform-topline {&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
    }&lt;br /&gt;
    .abdul-reform-list {&lt;br /&gt;
        text-align: left;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Сетка карточек в модуле на главной */&lt;br /&gt;
.abdul-reform-board-header {&lt;br /&gt;
    background: #14141c;&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 16px 20px;&lt;br /&gt;
    margin-bottom: 15px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-title {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: #ff9100;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    letter-spacing: 1.5px;&lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 145, 0, 0.3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-desc {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    margin-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-grid {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));&lt;br /&gt;
    gap: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-card {&lt;br /&gt;
    background: #12121a;&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    border-left: 3px solid #ff9100;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    padding: 12px;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
    justify-content: space-between;&lt;br /&gt;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-card:hover {&lt;br /&gt;
    transform: translateY(-2px);&lt;br /&gt;
    border-color: #ff9100;&lt;br /&gt;
    box-shadow: 0 4px 15px rgba(255, 145, 0, 0.25);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-tag {&lt;br /&gt;
    font-size: 0.7em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 2px 6px;&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.badge-deadend {&lt;br /&gt;
    background: rgba(244, 67, 54, 0.2);&lt;br /&gt;
    border: 1px solid #f44336;&lt;br /&gt;
    color: #ef5350;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.badge-reform {&lt;br /&gt;
    background: rgba(255, 145, 0, 0.2);&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ffb74d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-name {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.95em;&lt;br /&gt;
    color: #fff !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 8px 0 4px 0;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-name:hover {&lt;br /&gt;
    color: #ff9100 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-status {&lt;br /&gt;
    font-size: 0.8em;&lt;br /&gt;
    color: #777;&lt;br /&gt;
    margin-bottom: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn-sm {&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    background: #222;&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ff9100 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 0.8em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 6px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: background 0.2s, color 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn-sm:hover {&lt;br /&gt;
    background: #ff9100;&lt;br /&gt;
    color: #000 !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4856</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4856"/>
		<updated>2026-10-20T19:29:33Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   3D-ГАЛЕРЕЯ (СЕТКА EDGE-TO-EDGE + ОТКАЛИБРОВАННЫЕ УГЛЫ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* 1. КОНТЕЙНЕР ГАЛЕРЕИ (Растягиваем в ширину верхнего блока) */&lt;br /&gt;
ul.gallery.mw-gallery-traditional {&lt;br /&gt;
    display: grid !important;&lt;br /&gt;
    /* Автоматически вписывает карточки, растягивая их на всё доступное место */&lt;br /&gt;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; &lt;br /&gt;
    gap: 20px !important; /* Ровное расстояние между карточками */&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    margin: 20px 0 0 0 !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. ГЛАВНАЯ КАРТОЧКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox {&lt;br /&gt;
    width: 100% !important; /* Ширину теперь диктует сетка */&lt;br /&gt;
    height: 320px !important; &lt;br /&gt;
    margin: 0 !important; /* Отступы теперь контролируются через gap в сетке */&lt;br /&gt;
    position: relative !important; &lt;br /&gt;
    background-color: #050505 !important;&lt;br /&gt;
    border: 1px solid #333 !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы откалиброваны под верхний блок */&lt;br /&gt;
    box-shadow: 0 5px 15px rgba(0,0,0,0.8);&lt;br /&gt;
    transform-style: preserve-3d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Обнуляем системные рамки */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb a {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    border: none !important; background: transparent !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КАРТИНКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox img {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: center !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы картинки */&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    filter: brightness(0.6) !important; &lt;br /&gt;
    transition: filter 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover img {&lt;br /&gt;
    filter: brightness(1) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТОВАЯ ПОДЛОЖКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext {&lt;br /&gt;
    top: auto !important;    &lt;br /&gt;
    bottom: 0 !important;    &lt;br /&gt;
    height: auto !important; &lt;br /&gt;
    left: 0 !important;&lt;br /&gt;
    width: 100% !important; &lt;br /&gt;
    box-sizing: border-box !important;&lt;br /&gt;
    padding: 40px 15px 12px 15px !important; &lt;br /&gt;
    background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important;&lt;br /&gt;
    border-radius: 0 0 6px 6px !important; /* Нижние углы градиента */&lt;br /&gt;
    text-align: center !important;&lt;br /&gt;
    z-index: 10 !important;&lt;br /&gt;
    pointer-events: none !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ИМЯ ФАЙЛА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a {&lt;br /&gt;
    position: relative !important;&lt;br /&gt;
    pointer-events: auto !important;&lt;br /&gt;
    color: #d4af37 !important; &lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 14px !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    overflow: hidden !important;&lt;br /&gt;
    text-overflow: ellipsis !important; &lt;br /&gt;
    margin-bottom: 3px !important;&lt;br /&gt;
    transition: 0.2s ease !important;&lt;br /&gt;
    text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a:hover {&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ДАТА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext .abdul-date {&lt;br /&gt;
    color: #a0a0a0 !important;&lt;br /&gt;
    font-size: 12px !important;&lt;br /&gt;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КРАСНОЕ СВЕЧЕНИЕ КАРТОЧКИ ПРИ НАВЕДЕНИИ */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover {&lt;br /&gt;
    border-color: #b53131 !important;&lt;br /&gt;
    box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЛИНЗА ДЛЯ БЛИКА */&lt;br /&gt;
.abdul-glare {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы линзы */&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    opacity: 0; &lt;br /&gt;
    z-index: 20 !important; &lt;br /&gt;
    transition: opacity 0.3s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТВАДЬ (ПАТТЕРН) В РЕЖИМЕ ПОКОЯ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot; !important;&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Ссылка на картинку */&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important;&lt;br /&gt;
    background-repeat: repeat !important; &lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ТУТ: Меняй 40px на 20px (будет очень мелко) или на 100px (будет крупно) */&lt;br /&gt;
    background-size: 320px !important; &lt;br /&gt;
    &lt;br /&gt;
    opacity: 0.5 !important; &lt;br /&gt;
    z-index: 5 !important; &lt;br /&gt;
    border-radius: 6px !important;&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    transition: opacity 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении паттерн растворяется */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover::before {&lt;br /&gt;
    opacity: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УНИВЕРСАЛЬНАЯ ГАЛЕРЕЯ (ОДИНОЧНАЯ, СЛАЙДЕР, 3D-СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* --- 1. ОДИНОЧНАЯ КАРТИНКА --- */&lt;br /&gt;
.abdul-single-wrap { position: relative !important; display: block !important; width: 100% !important; max-width: 320px !important; height: 320px !important; margin: 15px 0 !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-single-wrap &amp;gt; a, .abdul-single-wrap &amp;gt; span, .abdul-single-wrap &amp;gt; div:not(.abdul-single-text) { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; display: block !important; }&lt;br /&gt;
.abdul-single-wrap img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-single-wrap::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-single-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 15px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.6) 60%, transparent 100%) !important; color: #d4af37 !important; font-weight: bold; font-size: 16px !important; text-align: center !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 2. СЛАЙДЕР (Абсолютное позиционирование, без багов) --- */&lt;br /&gt;
.abdul-slider-wrap { position: relative !important; width: 100% !important; max-width: 320px !important; float: right !important; margin: 0 0 15px 20px !important; background: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-slider-title { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; padding: 10px 0 20px 0 !important; text-align: center !important; color: #b71c1c !important; font-weight: bold !important; font-size: 16px !important; text-transform: uppercase !important; background: linear-gradient(to bottom, rgba(5,5,5, 0.9) 0%, transparent 100%) !important; z-index: 20 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-slider-track { position: relative !important; display: block !important; width: 100% !important; height: 320px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }&lt;br /&gt;
/* Жестко убиваем мусор от MediaWiki внутри трека */&lt;br /&gt;
.abdul-slider-track &amp;gt; :not(.abdul-slide) { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Физика слайдов */&lt;br /&gt;
.abdul-slide { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; opacity: 0 !important; visibility: hidden !important; z-index: 1 !important; transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out !important; }&lt;br /&gt;
.abdul-slide.active { opacity: 1 !important; visibility: visible !important; z-index: 5 !important; transform: translateX(0) !important; }&lt;br /&gt;
.abdul-slide.hidden-left { transform: translateX(-100%) !important; }&lt;br /&gt;
.abdul-slide.hidden-right { transform: translateX(100%) !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-slide &amp;gt; a, .abdul-slide &amp;gt; span { display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-slide img { display: block !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; }&lt;br /&gt;
.abdul-nav-btn { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; background: rgba(15,15,15,0.7) !important; color: #d4af37 !important; padding: 8px 12px !important; font-size: 20px !important; cursor: pointer !important; z-index: 25 !important; border-radius: 4px !important; transition: 0.3s ease !important; user-select: none !important; }&lt;br /&gt;
.abdul-nav-btn:hover { background: #b53131 !important; color: #fff !important; }&lt;br /&gt;
.abdul-nav-btn.prev { left: 10px !important; }&lt;br /&gt;
.abdul-nav-btn.next { right: 10px !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 3. 3D-СЕТКА КАРТОЧЕК --- */&lt;br /&gt;
.abdul-gallery-container { width: 100%; margin: 20px 0; clear: both; }&lt;br /&gt;
&lt;br /&gt;
/* ЗАГОЛОВОК (Курсив + Строгая тень) */&lt;br /&gt;
.abdul-gallery-title { text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; font-style: italic !important; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8) !important; margin-bottom: 15px; }&lt;br /&gt;
&lt;br /&gt;
.abdul-grid-wrap { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; gap: 20px !important; width: 100% !important; }&lt;br /&gt;
.abdul-grid-item { width: 100% !important; height: 320px !important; position: relative !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8); transform-style: preserve-3d; }&lt;br /&gt;
.abdul-grid-item &amp;gt; a, .abdul-grid-item &amp;gt; span, .abdul-grid-item &amp;gt; div:not(.abdul-grid-text):not(.abdul-glare) { display: block !important; width: 100% !important; height: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-grid-item img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; margin: 0 !important; padding: 0 !important; border: none !important; }&lt;br /&gt;
.abdul-grid-item:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-grid-item::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-grid-item:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-grid-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 12px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important; border-radius: 0 0 6px 6px !important; text-align: center !important; color: #d4af37 !important; font-weight: bold; font-size: 14px !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-grid-item:hover { border-color: #b53131 !important; box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ХРОНОЛОГИЯ АДЕПТОВ (GANTT CHART)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-timeline-container { &lt;br /&gt;
    position: relative; background-color: #050505; border: 1px solid #333; &lt;br /&gt;
    border-radius: 8px; padding: 25px 20px 20px 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.8); &lt;br /&gt;
    margin: 20px 0; overflow: hidden; /* Удалили жесткий шрифт, теперь всё наследуется от сайта */&lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-title { &lt;br /&gt;
    text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; &lt;br /&gt;
    font-style: italic; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); &lt;br /&gt;
    margin-bottom: 25px; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-content { &lt;br /&gt;
    position: relative; z-index: 1; margin-left: 160px; border-left: 1px solid #333; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row { &lt;br /&gt;
    position: relative; display: flex; align-items: center; height: 32px; &lt;br /&gt;
    margin-bottom: 6px; border-radius: 4px; transition: background 0.2s ease; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row:hover { background: rgba(255, 255, 255, 0.03); }&lt;br /&gt;
&lt;br /&gt;
/* Имена слева */&lt;br /&gt;
.abdul-timeline-label { &lt;br /&gt;
    position: absolute; left: -160px; width: 150px; text-align: right; &lt;br /&gt;
    padding-right: 15px; box-sizing: border-box; color: #d4af37; font-weight: bold; &lt;br /&gt;
    font-size: 14px; text-shadow: 0 2px 4px rgba(0,0,0,0.8); white-space: nowrap; &lt;br /&gt;
    overflow: hidden; text-overflow: ellipsis; z-index: 5; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a { &lt;br /&gt;
    color: #d4af37 !important; text-decoration: none !important; &lt;br /&gt;
    transition: 0.2s ease; display: block; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a:hover { &lt;br /&gt;
    color: #fff !important; text-shadow: 0 0 8px rgba(212,175,55,0.8) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Трек и светящиеся полосы */&lt;br /&gt;
.abdul-timeline-track { position: relative; width: 100%; height: 100%; }&lt;br /&gt;
.abdul-timeline-bar { &lt;br /&gt;
    position: absolute; top: 50%; transform: translateY(-50%); height: 14px; &lt;br /&gt;
    border-radius: 8px; background: linear-gradient(90deg, #8b0000, #b71c1c); &lt;br /&gt;
    box-shadow: 0 2px 10px rgba(183, 28, 28, 0.6), inset 0 1px 1px rgba(255,255,255,0.2); &lt;br /&gt;
    transition: 0.3s ease; cursor: pointer; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-bar:hover { &lt;br /&gt;
    filter: brightness(1.3); height: 18px; z-index: 10; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.8), inset 0 1px 2px rgba(255,255,255,0.4); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ АБДУЛОКАЛЕНДАРЯ (ТАЙМЕР + СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Заголовок как на скрине &amp;quot;Сводка базы знаний&amp;quot; */&lt;br /&gt;
.abdul-cal-header {&lt;br /&gt;
    text-align: center; font-size: 24px; color: #ffffff; &lt;br /&gt;
    font-weight: normal; font-style: normal; text-transform: uppercase; &lt;br /&gt;
    letter-spacing: 1px; text-shadow: 0 0 10px rgba(255,255,255,0.3);&lt;br /&gt;
    margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок таймера с размытием фона (чтобы текст читался поверх параллакса) */&lt;br /&gt;
.abdul-cal-timer-box {&lt;br /&gt;
    background: linear-gradient(135deg, rgba(139,0,0,0.4) 0%, rgba(20,20,20,0.9) 100%);&lt;br /&gt;
    border-left: 4px solid #b71c1c; border-radius: 0 6px 6px 0;&lt;br /&gt;
    padding: 15px; margin-bottom: 25px; text-align: center;&lt;br /&gt;
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);&lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today-title, .abdul-cal-timer-title { &lt;br /&gt;
    font-size: 13px; color: #aaa; font-weight: bold; margin-bottom: 5px; text-transform: uppercase; &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today { &lt;br /&gt;
    font-size: 26px; color: #d4af37; font-weight: bold; text-shadow: 0 2px 5px rgba(0,0,0,0.9); &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-countdown { &lt;br /&gt;
    font-size: 20px; color: #fff; font-weight: bold; text-shadow: 0 0 10px rgba(183, 28, 28, 0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка (Делаем прозрачной, так как фон уже есть у главного блока) */&lt;br /&gt;
.abdul-visual-calendar {&lt;br /&gt;
    background: transparent !important; border: none !important; &lt;br /&gt;
    box-shadow: none !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    overflow-x: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-row { display: flex; gap: 15px; margin-bottom: 20px; min-width: 1000px; }&lt;br /&gt;
.abdul-vc-days-col { display: flex; flex-direction: column; width: 90px; flex-shrink: 0; }&lt;br /&gt;
.abdul-vc-month-col { flex: 1; display: flex; flex-direction: column; }&lt;br /&gt;
.abdul-vc-m-title {&lt;br /&gt;
    text-align: center; color: #d4af37; font-weight: bold; font-size: 16px;&lt;br /&gt;
    margin-bottom: 5px; text-transform: uppercase; border-bottom: 1px solid #333; padding-bottom: 4px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-grid {&lt;br /&gt;
    display: grid; grid-template-rows: repeat(7, 1fr); &lt;br /&gt;
    grid-auto-columns: 1fr; grid-auto-flow: column; gap: 3px; flex: 1;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-day-name {&lt;br /&gt;
    height: 24px; line-height: 24px; text-align: left; font-size: 13px;&lt;br /&gt;
    color: #888; font-family: inherit; font-weight: bold; margin-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell {&lt;br /&gt;
    background: rgba(17,17,17,0.8); color: #ccc; border: 1px solid #333; text-align: center;&lt;br /&gt;
    font-size: 14px; height: 24px; line-height: 24px; border-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell:hover { background: #333; border-color: #777; }&lt;br /&gt;
.abdul-vc-cell.hl-green { background: #1b4b22 !important; border-color: #2e7d32 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
.abdul-vc-cell.hl-gold { background: #5c4000 !important; border-color: #d4af37 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОЧИСТКА ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ (УЛЬТИМАТИВНАЯ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Выжигаем плашки &amp;quot;Стабильная версия&amp;quot; и досмотры везде */&lt;br /&gt;
html.abdul-not-admin #mw-fr-revisiontag,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_short,&lt;br /&gt;
html.abdul-not-admin #mw-fr-reviewnotice,&lt;br /&gt;
html.abdul-not-admin .fr-diff-to-stable,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_notice {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Скрываем &amp;quot;Просмотр кода&amp;quot; ТОЛЬКО на защищённых страницах */&lt;br /&gt;
html.abdul-not-admin.abdul-protected-page #ca-viewsource {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ПОЛНОЕ УНИЧТОЖЕНИЕ панелей на Главной для не-админов */&lt;br /&gt;
html.abdul-main-page-guest #p-namespaces,&lt;br /&gt;
html.abdul-main-page-guest #p-views,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-namespaces,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-views,&lt;br /&gt;
html.abdul-main-page-guest #page-tools,&lt;br /&gt;
html.abdul-main-page-guest #p-cactions {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УЛЬТИМАТИВНЫЙ ЗАГОЛОВОК ДЛЯ ГЛАВНОЙ СТРАНИЦЫ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
html.abdul-main-page-all #firstHeading,&lt;br /&gt;
html.abdul-main-page-all .firstHeading {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin: 20px 0 40px 0;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title h1 {&lt;br /&gt;
    font-size: 58px !important;&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    font-style: normal !important; /* Без курсива */&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    margin: 0; padding: 0;&lt;br /&gt;
    border-bottom: none !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Тёмно-красный градиент под стиль сайта */&lt;br /&gt;
    background: linear-gradient(180deg, #fa2a2a 0%, #a60f0f 45%, #7f0000 100%);&lt;br /&gt;
    -webkit-background-clip: text;&lt;br /&gt;
    -webkit-text-fill-color: transparent;&lt;br /&gt;
    color: #d32f2f; &lt;br /&gt;
    &lt;br /&gt;
    -webkit-text-stroke: 0 !important;&lt;br /&gt;
    filter: none !important; /* Убираем грязную размытую тень */&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ЖИРНОСТИ И 3D-ТЕНИ */&lt;br /&gt;
    /* 1. Делаем буквы толще за счет микро-контура в цвет самого текста (#d32f2f) */&lt;br /&gt;
    /* 2. Делаем жесткую объемную тень цвета темной крови (#4a0000) */&lt;br /&gt;
    /* 3. Добавляем легкий красный отсвет на фон */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        4px 4px 0px #4a0000,&lt;br /&gt;
        5px 5px 15px rgba(74,0,0,0.5) !important;&lt;br /&gt;
    &lt;br /&gt;
    letter-spacing: 2px;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title::after {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    display: block;&lt;br /&gt;
    width: 40%;&lt;br /&gt;
    height: 3px;&lt;br /&gt;
    margin: 15px auto 0 auto;&lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #b71c1c 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 15px #b71c1c;&lt;br /&gt;
    transition: all 0.4s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* === ЭФФЕКТЫ ПРИ НАВЕДЕНИИ МЫШИ (HOVER) === */&lt;br /&gt;
.abdul-main-title:hover h1 {&lt;br /&gt;
    transform: scale(1.02) translateY(-2px); /* Текст слегка &amp;quot;всплывает&amp;quot; вверх */&lt;br /&gt;
    letter-spacing: 4px; &lt;br /&gt;
    &lt;br /&gt;
    /* Углубляем 3D-эффект и зажигаем адское свечение */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        5px 5px 0px #2a0000,&lt;br /&gt;
        7px 7px 0px #1a0000,&lt;br /&gt;
        0px 0px 25px rgba(255, 50, 50, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
.abdul-main-title:hover::after {&lt;br /&gt;
    width: 70%; &lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #ff1a1a 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 25px #ff1a1a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 768px) {&lt;br /&gt;
    .abdul-main-title h1 { font-size: 32px !important; letter-spacing: 1px; }&lt;br /&gt;
    .abdul-main-title:hover h1 { letter-spacing: 3px; }&lt;br /&gt;
    .abdul-main-title::after { width: 80%; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КРАСИВЫЙ СПИСОК УЧАСТНИКОВ (ФИНАЛ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));&lt;br /&gt;
    gap: 12px;&lt;br /&gt;
    list-style: none !important;&lt;br /&gt;
    padding: 0; margin: 20px 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Каркас карточки: gap: 4px делает ИДЕАЛЬНЫЕ отступы между всеми строками */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li {&lt;br /&gt;
    background: rgba(15, 15, 18, 0.9);&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 12px 12px 12px 85px;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 4px; &lt;br /&gt;
    min-height: 85px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover {&lt;br /&gt;
    border-color: #b71c1c;&lt;br /&gt;
    background: #111;&lt;br /&gt;
    transform: translateY(-3px);&lt;br /&gt;
    box-shadow: 0 8px 20px rgba(183, 28, 28, 0.4);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Аватарка Абдулова */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li::before {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    left: 15px; top: 50%;&lt;br /&gt;
    transform: translateY(-50%);&lt;br /&gt;
    width: 55px; height: 55px;&lt;br /&gt;
    background: #1a1a1a url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) center/cover;&lt;br /&gt;
    border-radius: 50%;&lt;br /&gt;
    border: 2px solid #444;&lt;br /&gt;
    box-shadow: 0 0 10px #000;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover::before {&lt;br /&gt;
    border-color: #fbc02d;&lt;br /&gt;
    box-shadow: 0 0 15px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный стиль для Админов */&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card { &lt;br /&gt;
    background: rgba(40, 10, 10, 0.9) !important; &lt;br /&gt;
    border-color: #600 !important; &lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card::before { border-color: #b71c1c; }&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover { &lt;br /&gt;
    border-color: #ff5252 !important; &lt;br /&gt;
    background: rgba(60, 15, 15, 0.95) !important;&lt;br /&gt;
    box-shadow: 0 8px 25px rgba(255, 82, 82, 0.5);&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover::before {&lt;br /&gt;
    border-color: #ffea00;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 234, 0, 0.8);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текстовые элементы */&lt;br /&gt;
.mw-special-Listusers .mw-userlink {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif;&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    line-height: 1.2;&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
    transition: all 0.2s;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-userlink:hover { color: #fff !important; text-shadow: 0 0 10px #fbc02d; }&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #666;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a { color: #aaa; text-decoration: none; }&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a:hover { color: #ff5252; text-decoration: underline; }&lt;br /&gt;
&lt;br /&gt;
.abdul-creation-date {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #888;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    border-top: 1px solid #222;&lt;br /&gt;
    padding-top: 4px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ПЛАШКИ РОЛЕЙ (Теперь это гарантированно чистый белый текст) */&lt;br /&gt;
.mw-special-Listusers .mw-listusers-groups {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    margin: 4px 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .abdul-role-badge {&lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
    font-size: 11px !important;&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000 0%, #b71c1c 100%) !important;&lt;br /&gt;
    padding: 3px 8px !important;&lt;br /&gt;
    border-radius: 4px !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #ff5252 !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;&lt;br /&gt;
    line-height: 1.2 !important;&lt;br /&gt;
    text-transform: lowercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ЭЛИТНЫЙ ТОП-50 (ИДЕАЛЬНАЯ СЕТКА + ГИГАНТСКИЙ ТОП-3)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list {&lt;br /&gt;
    list-style: none !important; padding: 0 !important; margin: 20px 0 !important;&lt;br /&gt;
    counter-reset: abdul-top;&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(3, 1fr); &lt;br /&gt;
    gap: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* БАЗОВЫЕ СВОЙСТВА ВСЕХ КАРТОЧЕК */&lt;br /&gt;
.abdul-popular-list &amp;gt; li {&lt;br /&gt;
    background: rgba(20, 20, 25, 0.95); border: 1px solid #333; border-radius: 8px;&lt;br /&gt;
    position: relative; transition: 0.3s; counter-increment: abdul-top; &lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5); display: flex;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:hover { background: #111; transform: translateY(-4px); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li a { font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif !important; text-decoration: none !important; transition: 0.2s;}&lt;br /&gt;
&lt;br /&gt;
/* БЕЙДЖИ ПРОСМОТРОВ */&lt;br /&gt;
.abdul-views-badge {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); color: #fff; padding: 4px 10px;&lt;br /&gt;
    border-radius: 4px; font-size: 12px; font-weight: bold; border: 1px solid #ff5252;&lt;br /&gt;
    white-space: nowrap; z-index: 2; height: fit-content; text-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТОП-3: ГИГАНТСКИЕ КАРТОЧКИ В ОДИН РЯД БЕЗ ПУСТОТ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) {&lt;br /&gt;
    grid-column: span 1; &lt;br /&gt;
    flex-direction: column; /* Элементы идут сверху вниз */&lt;br /&gt;
    padding: 0; /* Убираем пустые дыры */&lt;br /&gt;
    align-items: stretch;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Картинка-баннер теперь в потоке, без дыр */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-top-thumb {&lt;br /&gt;
    position: relative; &lt;br /&gt;
    width: 100%; height: 160px; /* Идеальная высота шапки */&lt;br /&gt;
    background-color: #111;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-bottom: 2px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3):hover .abdul-top-thumb { filter: brightness(1.1) scale(1.03); }&lt;br /&gt;
&lt;br /&gt;
/* Контейнер с текстом под картинкой */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-card-content { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; flex-direction: column; justify-content: flex-start; z-index: 2; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текст статьи */&lt;br /&gt;
.abdul-top-extract {&lt;br /&gt;
    font-size: 13px; color: #bbb; margin-top: 8px; line-height: 1.4;&lt;br /&gt;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Медали и бейджи для ТОП-3 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 10px; top: 10px;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 24px; z-index: 3;&lt;br /&gt;
    background: rgba(0,0,0,0.8); padding: 4px 12px; border-radius: 6px; border: 1px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-views-badge { position: absolute; right: 10px; top: 10px; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) a { font-size: 18px !important; margin-bottom: 5px; }&lt;br /&gt;
&lt;br /&gt;
/* Цвета лидеров */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) { border-color: #ffd700; box-shadow: 0 5px 20px rgba(255, 215, 0, 0.15);}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-top-thumb { border-color: #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1)::before { content: &#039;🏆 1&#039;; color: #ffd700; border-color: #ffd700; text-shadow: 0 0 10px #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) a { color: #ffd700 !important; text-shadow: 0 0 10px rgba(255,215,0,0.3) !important;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-views-badge { background: linear-gradient(90deg, #b8860b, #ffd700); color: #000; border-color: #fff; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) .abdul-top-thumb { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2)::before { color: #c0c0c0; border-color: #c0c0c0; text-shadow: 0 0 10px #c0c0c0;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) a { color: #e0e0e0 !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) .abdul-top-thumb { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3)::before { color: #cd7f32; border-color: #cd7f32; text-shadow: 0 0 10px #cd7f32;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) a { color: #ff9966 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОСТАЛЬНЫЕ КАРТОЧКИ (С 4 МЕСТА) - В СТОЛБИК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) {&lt;br /&gt;
    grid-column: 1 / -1; &lt;br /&gt;
    flex-direction: row; padding: 12px 15px 12px 60px; min-height: 60px; align-items: center; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) .abdul-card-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; z-index: 2; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 0; top: 0; bottom: 0; width: 45px;&lt;br /&gt;
    display: flex; align-items: center; justify-content: center;&lt;br /&gt;
    background: rgba(0,0,0,0.6); font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 20px; color: #888; border-right: 1px solid #333; z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a { color: #ddd !important; font-size: 17px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a:hover { color: #ff5252 !important; text-shadow: 0 0 10px rgba(255,82,82,0.5) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ФОТО 4-10 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) { padding-left: 140px; min-height: 80px; border-color: #555; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) .abdul-top-thumb {&lt;br /&gt;
    position: absolute; left: 45px; top: 0; bottom: 0; width: 85px; height: 100%; &lt;br /&gt;
    background-color: #111; background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;); background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-right: 1px solid #444; border-bottom: none; border-radius: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЗАТУХАНИЕ (11+) */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) { background: rgba(10, 10, 12, 0.6); border-color: #222; opacity: 0.8; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11):hover { opacity: 1; border-color: #666; background: rgba(20, 20, 25, 0.9); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a { color: #999 !important; font-size: 15px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a:hover { color: #ccc !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) .abdul-views-badge { background: #222; border-color: #444; color: #888; }&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 900px) {&lt;br /&gt;
    .abdul-popular-list { grid-template-columns: 1fr; }&lt;br /&gt;
    .abdul-popular-list &amp;gt; li:nth-child(-n+3) { grid-column: 1 / -1; min-height: auto; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ФИКС КАРТИНОК И ЧИТАЕМОСТИ ДЛЯ МОДУЛЯ СТАТЕЙ (FLEXBOX)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Карточка: убираем прыжок, оставляем мягкую тень */&lt;br /&gt;
.abdul-module-card {&lt;br /&gt;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-module-card:hover {&lt;br /&gt;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.9), inset 0 0 15px rgba(255, 255, 255, 0.03);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Flex-контейнер: текст и картинка стоят ровно друг напротив друга */&lt;br /&gt;
.abdul-module-flex-area {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: row;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 15px;&lt;br /&gt;
    flex-grow: 1;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. Блок текста */&lt;br /&gt;
.abdul-module-text {&lt;br /&gt;
    flex: 1; /* Текст занимает всё свободное место */&lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 1.05em; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
    text-align: left; &lt;br /&gt;
    text-shadow: 1px 1px 3px #000, 0 0 10px #000, 0 0 20px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. Блок картинки */&lt;br /&gt;
.abdul-module-img {&lt;br /&gt;
    flex-shrink: 0;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 5. Сама картинка */&lt;br /&gt;
.abdul-module-img img {&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    height: 200px !important; &lt;br /&gt;
    object-fit: contain !important; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    box-shadow: 0 2px 10px rgba(0,0,0,0.7);&lt;br /&gt;
    border: 1px solid #444;&lt;br /&gt;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important; /* Включаем плавность */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* АНИМАЦИЯ ПРИ НАВЕДЕНИИ ИСКЛЮЧИТЕЛЬНО НА КАРТИНКУ */&lt;br /&gt;
.abdul-module-img a:hover img {&lt;br /&gt;
    transform: scale(1.07) !important; /* Увеличивается на 7% */&lt;br /&gt;
    box-shadow: 0 5px 20px rgba(255, 82, 82, 0.6) !important; /* Красное свечение */&lt;br /&gt;
    border-color: #ff5252 !important; /* Рамка становится красной */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   9. МОДУЛЬ: ДОСКА РОЗЫСКА (WANTED PAGES)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
#abdul-wanted-pages-module { &lt;br /&gt;
    margin: 20px 0; &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Шапка модуля: теперь по центру и симметричная */&lt;br /&gt;
.abdul-wanted-header { &lt;br /&gt;
    background: rgba(30, 10, 10, 0.95); &lt;br /&gt;
    border-top: 4px solid #b71c1c; /* Верхняя полоса для симметрии с другими модулями */&lt;br /&gt;
    padding: 20px; &lt;br /&gt;
    margin-bottom: 20px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);&lt;br /&gt;
    text-align: center; /* ЦЕНТРИРУЕМ ВЕСЬ ТЕКСТ */&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-title { &lt;br /&gt;
    color: #ff5252; &lt;br /&gt;
    font-size: 26px; /* Сделали чуть крупнее */&lt;br /&gt;
    font-weight: bold; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 82, 82, 0.5); &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-desc { &lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    margin-top: 8px; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка карточек: ЖЕСТКО 5 КОЛОНОК В ОДИН РЯД */&lt;br /&gt;
.abdul-wanted-grid { &lt;br /&gt;
    display: grid; &lt;br /&gt;
    grid-template-columns: repeat(5, 1fr); &lt;br /&gt;
    gap: 15px; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сама карточка розыска */&lt;br /&gt;
.abdul-wanted-card {&lt;br /&gt;
    background: #111; &lt;br /&gt;
    border: 1px solid #333; &lt;br /&gt;
    border-radius: 6px; &lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8);&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover { &lt;br /&gt;
    border-color: #b71c1c; &lt;br /&gt;
    transform: translateY(-4px); &lt;br /&gt;
    box-shadow: 0 8px 25px rgba(183, 28, 28, 0.6); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фотка с багровым фильтром и надписью */&lt;br /&gt;
.abdul-wanted-img {&lt;br /&gt;
    height: 140px; &lt;br /&gt;
    background-color: #050505;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; &lt;br /&gt;
    background-position: center top;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.6) sepia(1) hue-rotate(315deg) saturate(3); &lt;br /&gt;
    border-bottom: 2px solid #b71c1c;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    transition: filter 0.3s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover .abdul-wanted-img {&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.8) sepia(1) hue-rotate(315deg) saturate(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Штамп WANTED */&lt;br /&gt;
.abdul-wanted-img span {&lt;br /&gt;
    background: rgba(150, 0, 0, 0.9); &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 24px; &lt;br /&gt;
    padding: 5px 15px; &lt;br /&gt;
    border: 2px solid #ff5252; &lt;br /&gt;
    transform: rotate(-10deg);&lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(0,0,0,0.9); &lt;br /&gt;
    text-shadow: 2px 2px 0px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок с текстом под фоткой */&lt;br /&gt;
.abdul-wanted-info { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    flex-grow: 1; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-name { &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-size: 16px; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    margin-bottom: 8px; &lt;br /&gt;
    word-break: break-word; &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-mentions { color: #888; font-size: 12px; margin-bottom: 15px; font-style: italic; }&lt;br /&gt;
&lt;br /&gt;
/* Кнопка создания */&lt;br /&gt;
.abdul-wanted-btn {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); &lt;br /&gt;
    color: #fff !important; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important; &lt;br /&gt;
    padding: 10px 15px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    width: 100%; &lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    border: 1px solid #ff5252; &lt;br /&gt;
    transition: 0.2s; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    margin-top: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-btn:hover { &lt;br /&gt;
    background: linear-gradient(90deg, #b71c1c, #ff5252); &lt;br /&gt;
    text-shadow: 0 0 5px #fff; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(255,82,82,0.5); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Адаптивность: на телефонах сетка схлопнется в столбик, чтобы не было мелко */&lt;br /&gt;
@media (max-width: 1000px) {&lt;br /&gt;
    .abdul-wanted-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ ДЛЯ КЛИКАБЕЛЬНОЙ СТАТИСТИКИ (ИДЕАЛЬНЫЙ КОМПАКТ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Бронебойно убиваем фиолетовые (посещенные) и синие ссылки движка */&lt;br /&gt;
.news-hover-row a { text-decoration: none !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-card {&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    margin-bottom: 4px; /* Ужали отступы между строками */&lt;br /&gt;
    padding: 4px 8px;   /* Ужали высоту самих карточек в 2 раза! */&lt;br /&gt;
    background: transparent; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    transition: all 0.2s ease; &lt;br /&gt;
    border-left: 2px solid transparent; /* Подготовка для стильного ховера */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный ховер: лёгкий градиент и золотая полоска слева вместо коробки */&lt;br /&gt;
a:hover .abdul-stat-card {&lt;br /&gt;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.1) 0%, transparent 100%);&lt;br /&gt;
    border-left: 2px solid #ffd700;&lt;br /&gt;
    transform: translateX(3px); /* Минимальный, аккуратный сдвиг */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-icon {&lt;br /&gt;
    font-size: 20px; /* Уменьшили иконки */&lt;br /&gt;
    margin-right: 12px; &lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.1));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет цифр, защищаем от фиолетового бага браузера */&lt;br /&gt;
.abdul-counter {&lt;br /&gt;
    font-size: 20px !important; /* Компактные цифры */&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif !important; &lt;br /&gt;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.5) !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет подписей */&lt;br /&gt;
.abdul-stat-label {&lt;br /&gt;
    color: #aaaaaa !important; &lt;br /&gt;
    font-size: 10px !important; /* Ужали текст */&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    letter-spacing: 1px !important; &lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении текст загорается ярче */&lt;br /&gt;
a:hover .abdul-counter { text-shadow: 0 0 15px #ffd700 !important; }&lt;br /&gt;
a:hover .abdul-stat-label { color: #ffffff !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ПРЕДОХРАНИТЕЛЬ ОТ ПУСТЫХ СТРОК ДЛЯ СТАТИСТИКИ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-stats-container p { margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-stats-container br { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Убираем лишний margin-bottom у карточки, так как мы используем gap */&lt;br /&gt;
.abdul-stat-card { margin-bottom: 0 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КИБЕР-КНОПКИ (ВЕРСИЯ 2: МИНИМАЛИЗМ С ТЕНЯМИ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Сама панель кнопки: тонкая, с индивидуальными картинками И ТЕНЬЮ */&lt;br /&gt;
.abdul-cyber-btn {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: block;&lt;br /&gt;
    height: 75px; &lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    transition: 0.3s ease;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    background: #050505;&lt;br /&gt;
    /* МАГИЯ: Небольшая тень в режиме покоя, чтобы кнопка &amp;quot;парила&amp;quot; */&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ФОНОВАЯ КАРТИНКА КНОПКИ (Бронебойный центр) */&lt;br /&gt;
.cyber-bg-wrapper {&lt;br /&gt;
    position: absolute; inset: 0; width: 100%; height: 100%;&lt;br /&gt;
    z-index: 1; filter: blur(2px) brightness(0.6) grayscale(30%); transition: all 0.4s ease; pointer-events: none;&lt;br /&gt;
    display: flex !important; align-items: center !important; justify-content: center !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper a, .cyber-bg-wrapper a.image {&lt;br /&gt;
    display: flex !important; width: 100% !important; height: 100% !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper img {&lt;br /&gt;
    width: 100% !important; height: 100% !important; &lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: 50% 50% !important; /* Ровно по центру */&lt;br /&gt;
    margin: 0 auto !important; display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЦВЕТНАЯ ЗАТЕМНЯЮЩАЯ ПЛЁНКА КНОПКИ */&lt;br /&gt;
.abdul-cyber-btn::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 2; transition: background 0.3s ease; pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
.theme-red::before { background: rgba(40, 5, 5, 0.85); }&lt;br /&gt;
.theme-gold::before { background: rgba(40, 30, 0, 0.85); }&lt;br /&gt;
.theme-blue::before { background: rgba(5, 15, 40, 0.85); }&lt;br /&gt;
.theme-blood::before { background: rgba(30, 0, 0, 0.85); }&lt;br /&gt;
.theme-purple::before { background: rgba(25, 0, 40, 0.85); }&lt;br /&gt;
&lt;br /&gt;
/* ИДЕАЛЬНАЯ КИБЕР-СЕТКА (Прозрачная и элитная) */&lt;br /&gt;
.abdul-cyber-btn::after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 3; pointer-events: none; transition: 0.4s ease;&lt;br /&gt;
    background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);&lt;br /&gt;
    background-size: 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТ (Слой 4) */&lt;br /&gt;
.cyber-content {&lt;br /&gt;
    position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; padding: 5px; transition: 0.3s; pointer-events: none; background: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cyber-text {&lt;br /&gt;
    color: #ddd; font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 13px; text-transform: uppercase; text-align: center; letter-spacing: 1px; transition: 0.3s; text-shadow: 0 0 8px #000; line-height: 1.2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* МАГИЯ ССЫЛОК (Натянутая прозрачная плёнка для клика) */&lt;br /&gt;
.cyber-link-layer { position: absolute; inset: 0; z-index: 10; pointer-events: auto; }&lt;br /&gt;
.cyber-link-layer a { display: block; width: 100%; height: 100%; text-decoration: none !important; }&lt;br /&gt;
.cyber-link-stretch { display: block; width: 100%; height: 100%; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================&lt;br /&gt;
   АНИМАЦИИ ПРИ НАВЕДЕНИИ&lt;br /&gt;
   ========================================= */&lt;br /&gt;
.abdul-cyber-btn:hover .cyber-bg-wrapper { filter: blur(0px) brightness(1) grayscale(0%); transform: scale(1.1); }&lt;br /&gt;
.abdul-cyber-btn:hover::before { background: rgba(0,0,0,0.3) !important; }&lt;br /&gt;
.abdul-cyber-btn:hover::after { opacity: 0; } /* Сетка исчезает */&lt;br /&gt;
&lt;br /&gt;
/* НЕОНОВЫЕ ТЕМЫ (Заменяем тень на свечение) */&lt;br /&gt;
.theme-red:hover { border-color: #ff5252; box-shadow: 0 0 25px rgba(255,82,82,0.8); }&lt;br /&gt;
.theme-red:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff5252, 0 0 20px #ff5252; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-gold:hover { border-color: #ffd700; box-shadow: 0 0 25px rgba(255,215,0,0.8); }&lt;br /&gt;
.theme-gold:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blue:hover { border-color: #42a5f5; box-shadow: 0 0 25px rgba(66,165,245,0.8); }&lt;br /&gt;
.theme-blue:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #42a5f5, 0 0 20px #42a5f5; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blood:hover { border-color: #b71c1c; box-shadow: 0 0 25px rgba(183,28,28,0.9); }&lt;br /&gt;
.theme-blood:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff0000, 0 0 20px #b71c1c; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-purple:hover { border-color: #ba68c8; box-shadow: 0 0 25px rgba(186,104,200,0.8); }&lt;br /&gt;
.theme-purple:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ba68c8, 0 0 20px #ba68c8; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
/* Убираем стили для старого контейнера, так как мы его удалили из HTML */&lt;br /&gt;
.abdul-buttons-container { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   НОВОСТНОЙ БЛОК И ПРИВЕТСТВИЕ (ЕДИНЫЙ СТИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Строка одной новости */&lt;br /&gt;
.abdul-news-item {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    padding: 12px 20px;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    transition: background 0.2s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:last-child {&lt;br /&gt;
    border-bottom: none; /* Убираем лишнюю полоску у последней новости */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.05); /* Легкая золотая подсветка при наведении */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок даты */&lt;br /&gt;
.abdul-news-date {&lt;br /&gt;
    flex: 0 0 110px; /* Ширина колонки дат */&lt;br /&gt;
    color: #fbc02d;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    line-height: 1.3;&lt;br /&gt;
    padding-right: 15px;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок текста новости */&lt;br /&gt;
.abdul-news-text {&lt;br /&gt;
    flex: 1;&lt;br /&gt;
    color: #cecece;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    line-height: 1.4;&lt;br /&gt;
    border-left: 1px solid rgba(255, 255, 255, 0.1);&lt;br /&gt;
    padding-left: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Делаем ссылки внутри новостей красивыми */&lt;br /&gt;
.abdul-news-text a {&lt;br /&gt;
    color: #fff !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-text a:hover {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Подвал новостника (Кнопка &amp;quot;Весь список&amp;quot;) */&lt;br /&gt;
.abdul-news-footer {&lt;br /&gt;
    padding: 15px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    background: rgba(0, 0, 0, 0.3);&lt;br /&gt;
    border-top: 1px solid rgba(255, 215, 0, 0.1);&lt;br /&gt;
    margin-top: auto; /* Прибиваем к низу */&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.15); /* Вспыхивает золотом при наведении */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer a {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - СТИЛИ КОММЕНТАРИЕВ (АБСОЛЮТНЫЙ ФИНАЛ)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
/* 1. Глобальный шрифт (Возвращаем родной сайтовый Zekton) */&lt;br /&gt;
.cs-comments, .cs-comments * { &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Zekton&#039;, &#039;Roboto&#039;, sans-serif !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. КОНТЕЙНЕРЫ (Фон, тень и лечение выпадающего меню) */&lt;br /&gt;
.cs-comment, .cs-reply, .cs-head-comment {&lt;br /&gt;
    background-color: rgba(10, 10, 10, 0.95) !important;&lt;br /&gt;
    border: 1px solid #444 !important;&lt;br /&gt;
    border-left: 4px solid #cc0000 !important;&lt;br /&gt;
    margin-bottom: 25px !important;&lt;br /&gt;
    padding: 15px !important;&lt;br /&gt;
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.95) !important; /* Глубокая тень */&lt;br /&gt;
    /* КРИТИЧНО: отключаем relative/z-index, чтобы меню не пряталось под другие комменты */&lt;br /&gt;
    position: static !important; &lt;br /&gt;
    z-index: auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment:hover, .cs-reply:hover {&lt;br /&gt;
    border-color: #ffcc00 !important;&lt;br /&gt;
    border-left: 4px solid #ffcc00 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ШАПКА (Убиваем белые фоны скина Timeless) */&lt;br /&gt;
.cs-comment-header, .cs-reply-header {&lt;br /&gt;
    background: transparent !important; /* Сносим белый фон */&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    align-items: center !important;&lt;br /&gt;
    border-bottom: 1px solid rgba(204, 0, 0, 0.4) !important;&lt;br /&gt;
    padding-bottom: 10px !important;&lt;br /&gt;
    margin-bottom: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. АВАТАР АБДУЛОВА (С анимацией) */&lt;br /&gt;
.cs-comment-header::before, .cs-reply-header::before {&lt;br /&gt;
    content: &#039;&#039; !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    width: 40px !important;&lt;br /&gt;
    height: 40px !important;&lt;br /&gt;
    min-width: 40px !important;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) !important;&lt;br /&gt;
    background-size: cover !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    border: 2px solid #8b0000 !important;&lt;br /&gt;
    border-radius: 50% !important;&lt;br /&gt;
    margin-right: 15px !important;&lt;br /&gt;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.5) !important;&lt;br /&gt;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-header:hover::before, .cs-reply-header:hover::before {&lt;br /&gt;
    transform: scale(1.15) rotate(-5deg) !important;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 51, 51, 0.9) !important;&lt;br /&gt;
    border-color: #ff3333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-avatar, .cs-comment-header-left { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* 5. ТЕКСТЫ И ЧИТАЕМОСТЬ */&lt;br /&gt;
/* ВРЕМЯ И &amp;quot;НАСРАЛ&amp;quot; - единый тусклый цвет */&lt;br /&gt;
.cs-comment-header-center {&lt;br /&gt;
    color: #aaaaaa !important; /* Серый цвет для всей строки */&lt;br /&gt;
    font-size: 0.95em !important;&lt;br /&gt;
    font-weight: normal !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Если старый .time-text остался — убиваем его отличия */&lt;br /&gt;
.cs-comment-header-center .time-text {&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
    font-size: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-author a, .cs-reply-author a, .cs-comment-header-center a {&lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    font-weight: 900 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-body, .cs-reply-body {&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1.5 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-title {&lt;br /&gt;
    color: #ff3333 !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    margin-bottom: 5px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 6. ФИКС МЕНЮ И ТРЕХ ТОЧЕК */&lt;br /&gt;
/* Убиваем черный квадрат под тремя точками */&lt;br /&gt;
.cs-comment-actions .oo-ui-buttonElement-button {&lt;br /&gt;
    background: transparent !important;&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    border: none !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Меню жестко поверх всего сайта */&lt;br /&gt;
.oo-ui-popupWidget {&lt;br /&gt;
    z-index: 999999 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuSelectWidget {&lt;br /&gt;
    background-color: #111111 !important;&lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.9) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фикс текста и иконок внутри выпадающего меню */&lt;br /&gt;
.oo-ui-menuOptionWidget {&lt;br /&gt;
    color: #eeeeee !important;&lt;br /&gt;
    padding: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Отодвигаем именно текст, чтобы корзина не наезжала на буквы */&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-labelElement-label {&lt;br /&gt;
    margin-left: 28px !important; &lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {&lt;br /&gt;
    left: 10px !important; &lt;br /&gt;
    filter: invert(1) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,&lt;br /&gt;
.oo-ui-menuOptionWidget:hover {&lt;br /&gt;
    background-color: #cc0000 !important;&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сами золотые три точки */&lt;br /&gt;
span.oo-ui-icon-ellipsis {&lt;br /&gt;
    background-image: url(&#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; viewBox=&amp;quot;0 0 20 20&amp;quot;&amp;gt;&amp;lt;path fill=&amp;quot;%23ffcc00&amp;quot; d=&amp;quot;M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&#039;) !important;&lt;br /&gt;
    background-size: 20px !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    background-repeat: no-repeat !important;&lt;br /&gt;
    opacity: 0.8 !important;&lt;br /&gt;
    filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 7. КНОПКИ И ПОЛЯ ВВОДА */&lt;br /&gt;
.cs-button, .cs-add-comment-button {&lt;br /&gt;
    background-color: #1a0000 !important; &lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    padding: 8px 16px !important;&lt;br /&gt;
    box-shadow: 3px 3px 0px #000 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comments input[type=&amp;quot;text&amp;quot;], .cs-comments textarea {&lt;br /&gt;
    background-color: #0a0a0a !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #550000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО РЕГИСТРАЦИИ (БРОНЕБОЙНЫЙ ПАРСЕР)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // 1. Создаем HTML модального окна, если его еще нет&lt;br /&gt;
    if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
        var modalHtml = &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; title=&amp;quot;Закрыть&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
        $(&#039;body&#039;).append(modalHtml);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. ЖЕЛЕЗОБЕТОННЫЙ ПЕРЕХВАТ (Ищем любые ссылки на регу и вход)&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#pt-createaccount a, #pt-login a, .abdul-create-btn, a[href*=&amp;quot;CreateAccount&amp;quot;], a[href*=&amp;quot;Создать_учётную_запись&amp;quot;]&#039;, function(e) {&lt;br /&gt;
        var url = $(this).attr(&#039;href&#039;);&lt;br /&gt;
        if (!url) return; // Если ссылки нет, игнорим&lt;br /&gt;
&lt;br /&gt;
        e.preventDefault(); // Блокируем переход&lt;br /&gt;
        e.stopPropagation(); // Отрубаем родные скрипты MediaWiki, чтоб не лезли&lt;br /&gt;
&lt;br /&gt;
        // Показываем окно&lt;br /&gt;
        $(&#039;#abdul-auth-modal&#039;).fadeIn(200).css(&#039;display&#039;, &#039;flex&#039;);&lt;br /&gt;
        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;); &lt;br /&gt;
        &lt;br /&gt;
        // Запускаем спиннер загрузки&lt;br /&gt;
        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;display:flex; flex-direction:column; justify-content:center; align-items:center; height:200px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size:16px; text-transform:uppercase; text-align:center;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:40px; height:40px; border:3px solid transparent; border-top:3px solid #b71c1c; border-radius:50%; animation:spin 1s linear infinite; margin-bottom:15px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;ИДЁТ СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&amp;lt;style&amp;gt;@keyframes spin { 100% { transform: rotate(360deg); } }&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
        // 3. Выкачиваем страницу агрессивным методом&lt;br /&gt;
        $.ajax({&lt;br /&gt;
            url: url,&lt;br /&gt;
            type: &#039;GET&#039;,&lt;br /&gt;
            success: function(data) {&lt;br /&gt;
                var $parsed = $(data);&lt;br /&gt;
                // Ищем саму форму регистрации&lt;br /&gt;
                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
                var title = $parsed.find(&#039;#firstHeading&#039;).text();&lt;br /&gt;
&lt;br /&gt;
                if ($formContent.length) {&lt;br /&gt;
                    // Вставляем контент!&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2&amp;gt;&#039; + title + &#039;&amp;lt;/h2&amp;gt;&#039; + $formContent.html());&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Если форма не нашлась&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 30px; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;Не удалось вырезать форму. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-weight:bold; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            error: function() {&lt;br /&gt;
                // Если сервер заблокировал AJAX-запрос&lt;br /&gt;
                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 40px; font-family:\&#039;Roboto\&#039;, sans-serif; color: #ff5252; font-size: 16px;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;ОШИБКА ДОСТУПА&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Сервер блокирует фоновую загрузку форм.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; text-decoration:none; border-bottom:1px dashed #ffea00; font-size:18px;&amp;quot;&amp;gt;ОТКРЫТЬ СТРАНИЦУ РЕГИСТРАЦИИ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // 4. Закрытие модального окна&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, #abdul-auth-modal&#039;, function(e) {&lt;br /&gt;
        if (e.target === this) { &lt;br /&gt;
            $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
            $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;); &lt;br /&gt;
            setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   ПЛАШКА РЕФОРМАЦИИ С ЛОГОТИПОМ 5.png (МОНОЛИТНЫЙ СТИЛЬ)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
.abdul-auto-reform-alert {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 16px;&lt;br /&gt;
    background: #111116 !important; /* Глухой плотный фон без просвечивания */&lt;br /&gt;
    border: 1px solid #332211;&lt;br /&gt;
    border-left: 5px solid #ff9100; /* Янтарная полоса реформации */&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 16px 20px;&lt;br /&gt;
    margin: 15px 0 25px 0;&lt;br /&gt;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.8), 0 0 15px rgba(255, 145, 0, 0.15);&lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif;&lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Левая колонка с логотипом 5.png */&lt;br /&gt;
.abdul-reform-icon-side {&lt;br /&gt;
    flex-shrink: 0;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    padding-top: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-logo-img {&lt;br /&gt;
    width: 56px !important;&lt;br /&gt;
    height: auto !important;&lt;br /&gt;
    object-fit: contain;&lt;br /&gt;
    filter: drop-shadow(0 0 8px rgba(255, 145, 0, 0.5));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Правая колонка с текстом */&lt;br /&gt;
.abdul-reform-content-side {&lt;br /&gt;
    flex: 1 1 auto;&lt;br /&gt;
    min-width: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-topline {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    justify-content: space-between;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 10px;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 145, 0, 0.25);&lt;br /&gt;
    padding-bottom: 8px;&lt;br /&gt;
    margin-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-title {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 1.15em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: #ff9100;&lt;br /&gt;
    letter-spacing: 1.5px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 145, 0, 0.4);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pills-wrap {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pill {&lt;br /&gt;
    background: rgba(255, 145, 0, 0.15);&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ffb74d;&lt;br /&gt;
    font-size: 0.72em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    letter-spacing: 0.5px;&lt;br /&gt;
    padding: 3px 8px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-desc {&lt;br /&gt;
    font-size: 0.92em;&lt;br /&gt;
    color: #cccccc;&lt;br /&gt;
    line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list {&lt;br /&gt;
    margin: 8px 0 12px 18px;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    color: #e0e0e0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list li {&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-actions {&lt;br /&gt;
    margin-top: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    background: #ff9100;&lt;br /&gt;
    color: #000000 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.82em;&lt;br /&gt;
    letter-spacing: 0.5px;&lt;br /&gt;
    padding: 8px 18px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);&lt;br /&gt;
    transition: background 0.2s, box-shadow 0.2s, transform 0.1s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn:hover {&lt;br /&gt;
    background: #ffa726;&lt;br /&gt;
    box-shadow: 0 0 14px rgba(255, 167, 38, 0.7);&lt;br /&gt;
    transform: translateY(-1px);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Адаптив под мобилки */&lt;br /&gt;
@media (max-width: 600px) {&lt;br /&gt;
    .abdul-auto-reform-alert {&lt;br /&gt;
        flex-direction: column;&lt;br /&gt;
        align-items: center;&lt;br /&gt;
        text-align: center;&lt;br /&gt;
    }&lt;br /&gt;
    .abdul-reform-topline {&lt;br /&gt;
        justify-content: center;&lt;br /&gt;
    }&lt;br /&gt;
    .abdul-reform-list {&lt;br /&gt;
        text-align: left;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4855</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4855"/>
		<updated>2026-10-20T19:28:19Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Чистый слайдер (уничтожает любые дублирующие клики через cloneNode)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. ИНИЦИАЛИЗАЦИЯ ШАПОК С ГАРАНТИЕЙ РОВНО ОДНОГО ОБРАБОТЧИКА&lt;br /&gt;
    function bindAbdulSmoothBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-smooth-box&#039;).addBack(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            if ($box.data(&#039;abdul-clean-init&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-clean-init&#039;, true);&lt;br /&gt;
            $box.data(&#039;slider-init&#039;, true); // Блокирует старый скрипт, если он не был удален&lt;br /&gt;
&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            // Первичное скрытие&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if ($header.length) {&lt;br /&gt;
                // Клонирование элемента начисто стирает ВСЕ сторонние обработчики кликов&lt;br /&gt;
                var oldHeader = $header[0];&lt;br /&gt;
                var newHeader = oldHeader.cloneNode(true);&lt;br /&gt;
                oldHeader.parentNode.replaceChild(newHeader, oldHeader);&lt;br /&gt;
&lt;br /&gt;
                $(newHeader).css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                    if ($(e.target).closest(&#039;a&#039;).length) return;&lt;br /&gt;
&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                    $content.stop(true, false).slideToggle(250);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. СОРТИРОВКА ССЫЛОК И ДОГРУЗКА ИЗ КАТЕГОРИИ&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. АВТОМАТИЧЕСКАЯ ПОДГРУЗКА БЛОКОВ ПО КАТЕГОРИЯМ&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        bindAbdulSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Запуск на контенте страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        bindAbdulSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   ШТАБ РЕФОРМАЦИИ (v2.0 с логотипом 5.png и защитой от ложных срабатываний)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // 1. АВТО-ПЛАШКА СВЕРХУ СТАТЬИ&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function checkAndInjectReformBanner() {&lt;br /&gt;
        // Проверяем только режим чтения обычной статьи&lt;br /&gt;
        if (mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageName = mw.config.get(&#039;wgPageName&#039;) || &#039;&#039;;&lt;br /&gt;
        var ns = mw.config.get(&#039;wgNamespaceNumber&#039;);&lt;br /&gt;
&lt;br /&gt;
        // ИГНОРИРУЕМ: всё кроме основного пространства статей (ns !== 0)&lt;br /&gt;
        // Также отсекаем страницы помощи, правил, устава и канона&lt;br /&gt;
        if (ns !== 0) return;&lt;br /&gt;
        if (/^(Помощь|Справка|Центр|Устав|Правила|Шаблон|Категория):/i.test(pageName)) return;&lt;br /&gt;
&lt;br /&gt;
        var $content = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        if (!$content.length) return;&lt;br /&gt;
&lt;br /&gt;
        // ИГНОРИРУЕМ: если статья уже проверена/досмотрена (стабильная версия FlaggedRevs)&lt;br /&gt;
        if ($(&#039;#mw-fr-revisiontag, .flaggedrevs_short, .flaggedrevs_notice&#039;).length &amp;gt; 0) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // ИГНОРИРУЕМ: если на странице уже есть плашки реформации, шаблоны-карточки или маркер готовности&lt;br /&gt;
        if ($(&#039;.abdul-auto-reform-alert, .abdul-reform-box, .abdul-no-reform, .abdul-done&#039;).length &amp;gt; 0 ||&lt;br /&gt;
            $content.text().indexOf(&#039;СТАТЬЯ НУЖДАЕТСЯ В РЕФОРМАЦИИ&#039;) !== -1 ||&lt;br /&gt;
            $content.text().indexOf(&#039;ТРЕБУЕТСЯ РЕМЕЙК&#039;) !== -1) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var textLength = $content.text().replace(/\s+/g, &#039; &#039;).trim().length;&lt;br /&gt;
&lt;br /&gt;
        // Если статья большая и проработанная (больше 3500 символов) — не трогаем её&lt;br /&gt;
        if (textLength &amp;gt; 3500) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var defects = [];&lt;br /&gt;
&lt;br /&gt;
        // 1. Проверка на полное отсутствие картинок/медиа (при небольшом объеме)&lt;br /&gt;
        var $media = $content.find(&#039;img:not(.abdul-ignore-media):not([src*=&amp;quot;5.png&amp;quot;]), iframe, video, audio, .abdul-gallery, .gallerybox, .thumbimage&#039;);&lt;br /&gt;
        if ($media.length === 0 &amp;amp;&amp;amp; textLength &amp;lt; 2500) {&lt;br /&gt;
            defects.push({&lt;br /&gt;
                type: &#039;no-media&#039;,&lt;br /&gt;
                title: &#039;НЕТ МЕДИАФАЙЛОВ&#039;,&lt;br /&gt;
                desc: &#039;В статье нет изображений, архивных пруфов или видеоматериалов.&#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Проверка на глухой тупик (в тексте вообще НЕТ внутренних ссылок на другие статьи)&lt;br /&gt;
        var $internalLinks = $content.find(&#039;a[href^=&amp;quot;/&amp;quot;]:not(.external):not([href*=&amp;quot;action=&amp;quot;]):not([href*=&amp;quot;redlink=&amp;quot;]):not([href^=&amp;quot;#&amp;quot;])&#039;);&lt;br /&gt;
        if ($internalLinks.length === 0) {&lt;br /&gt;
            defects.push({&lt;br /&gt;
                type: &#039;dead-end&#039;,&lt;br /&gt;
                title: &#039;ТУПИКОВАЯ СТАТЬЯ&#039;,&lt;br /&gt;
                desc: &#039;Полностью отсутствует внутренняя перелинковка на другие материалы базы.&#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Проверка на пустой огрызок&lt;br /&gt;
        if (textLength &amp;lt; 200) {&lt;br /&gt;
            defects.push({&lt;br /&gt;
                type: &#039;stub&#039;,&lt;br /&gt;
                title: &#039;ОГРЫЗОК ТЕКСТА&#039;,&lt;br /&gt;
                desc: &#039;Объем статьи критически мал (менее 200 символов).&#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Если найдены реальные дефекты — выводим каноничный блок с 5.png&lt;br /&gt;
        if (defects.length &amp;gt; 0) {&lt;br /&gt;
            var editUrl = mw.util.getUrl(pageName, { action: &#039;edit&#039; });&lt;br /&gt;
&lt;br /&gt;
            var badgesHtml = defects.map(function(d) {&lt;br /&gt;
                return &#039;&amp;lt;span class=&amp;quot;abdul-reform-pill&amp;quot;&amp;gt;&#039; + d.title + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            }).join(&#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
            var listHtml = defects.map(function(d) {&lt;br /&gt;
                return &#039;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&#039; + d.title + &#039;:&amp;lt;/b&amp;gt; &#039; + d.desc + &#039;&amp;lt;/li&amp;gt;&#039;;&lt;br /&gt;
            }).join(&#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
            var bannerHtml = &lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-auto-reform-alert&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-icon-side&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;img src=&amp;quot;/Special:FilePath/5.png&amp;quot; alt=&amp;quot;Реформация&amp;quot; class=&amp;quot;abdul-reform-logo-img&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-content-side&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-topline&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;span class=&amp;quot;abdul-reform-title&amp;quot;&amp;gt;СТАТЬЯ НУЖДАЕТСЯ В РЕФОРМАЦИИ&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-pills-wrap&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-desc&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;Автоматический контроль структуры выявил несоответствие канону оформления базы Центра:&#039; +&lt;br /&gt;
                            &#039;&amp;lt;ul class=&amp;quot;abdul-reform-list&amp;quot;&amp;gt;&#039; + listHtml + &#039;&amp;lt;/ul&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-actions&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn&amp;quot;&amp;gt;✏ ВНЕСТИ ПРАВКИ И ДОРАБОТАТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            $content.prepend(bannerHtml);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // 2. ДАШБОРД НА ГЛАВНОЙ СТРАНИЦЕ&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function initReformModule() {&lt;br /&gt;
        var $container = $(&#039;#abdul-reform-pages-module&#039;);&lt;br /&gt;
        if (!$container.length) return;&lt;br /&gt;
&lt;br /&gt;
        $.when(&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Deadendpages&#039;,&lt;br /&gt;
                qplimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }),&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;categorymembers&#039;,&lt;br /&gt;
                cmtitle: &#039;Категория:Дорабатываемое&#039;,&lt;br /&gt;
                cmnamespace: 0,&lt;br /&gt;
                cmlimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            })&lt;br /&gt;
        ).done(function(deadendRes, catRes) {&lt;br /&gt;
            var deadendData = deadendRes[0];&lt;br /&gt;
            var catData = catRes[0];&lt;br /&gt;
            var reformMap = {};&lt;br /&gt;
&lt;br /&gt;
            if (deadendData &amp;amp;&amp;amp; deadendData.query &amp;amp;&amp;amp; deadendData.query.querypage &amp;amp;&amp;amp; deadendData.query.querypage.results) {&lt;br /&gt;
                $.each(deadendData.query.querypage.results, function(i, page) {&lt;br /&gt;
                    reformMap[page.title] = {&lt;br /&gt;
                        title: page.title,&lt;br /&gt;
                        reason: &#039;Тупиковая статья&#039;,&lt;br /&gt;
                        badgeClass: &#039;badge-deadend&#039;&lt;br /&gt;
                    };&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (catData &amp;amp;&amp;amp; catData.query &amp;amp;&amp;amp; catData.query.categorymembers) {&lt;br /&gt;
                $.each(catData.query.categorymembers, function(i, member) {&lt;br /&gt;
                    reformMap[member.title] = {&lt;br /&gt;
                        title: member.title,&lt;br /&gt;
                        reason: &#039;Требует реформ&#039;,&lt;br /&gt;
                        badgeClass: &#039;badge-reform&#039;&lt;br /&gt;
                    };&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var entries = Object.keys(reformMap).map(function(k) { return reformMap[k]; });&lt;br /&gt;
&lt;br /&gt;
            if (entries.length &amp;gt; 0) {&lt;br /&gt;
                var gridHtml = &#039;&#039;;&lt;br /&gt;
                $.each(entries.slice(0, 8), function(i, item) {&lt;br /&gt;
                    var readUrl = mw.util.getUrl(item.title);&lt;br /&gt;
                    var editUrl = mw.util.getUrl(item.title, { action: &#039;edit&#039; });&lt;br /&gt;
&lt;br /&gt;
                    gridHtml += &lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-head&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-tag &#039; + item.badgeClass + &#039;&amp;quot;&amp;gt;&#039; + item.reason + &#039;&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-body&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + readUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-card-name&amp;quot;&amp;gt;&#039; + item.title + &#039;&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-footer&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn-sm&amp;quot;&amp;gt;✏ ИСПРАВИТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $container.html(&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ РЕФОРМАЦИИ И ДОРАБОТКИ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Статьи без перелинковки или ожидающие доработки по канону Центра.&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-grid&amp;quot;&amp;gt;&#039; + gridHtml + &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
                );&lt;br /&gt;
            } else {&lt;br /&gt;
                $container.html(&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ ДОРАБОТКИ: ДЕФЕКТОВ НЕТ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Все статьи базы оформлены подобающим образом.&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
                );&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function() {&lt;br /&gt;
        checkAndInjectReformBanner();&lt;br /&gt;
        initReformModule();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A6%D0%B5%D0%BD%D1%82%D1%80_%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%BE%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B:%D0%9F%D0%BB%D0%B0%D1%88%D0%BA%D0%B8&amp;diff=4854</id>
		<title>Центр Абдулокультуры:Плашки</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A6%D0%B5%D0%BD%D1%82%D1%80_%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%BE%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B:%D0%9F%D0%BB%D0%B0%D1%88%D0%BA%D0%B8&amp;diff=4854"/>
		<updated>2026-10-20T19:25:10Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Центр Абдулокультуры:Плашки в Шаблон:Плашки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Шаблон:Плашки]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D0%BB%D0%B0%D1%88%D0%BA%D0%B8&amp;diff=4853</id>
		<title>Шаблон:Плашки</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9F%D0%BB%D0%B0%D1%88%D0%BA%D0%B8&amp;diff=4853"/>
		<updated>2026-10-20T19:25:09Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Центр Абдулокультуры:Плашки в Шаблон:Плашки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Тут собраны все т.н. «плашки», которые используются на Центре Абдулокультуры — они проставляются в самом верху той или иной страницы. Плашки используются как способ визуально обозначить статус, особенности или недостатки какой-либо статьи.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Воздействие:&#039;&#039;&#039; Могут информировать о чём-то конкретном или указывать на определённые недостатки/особенности. Как правило, большинство из них (особенно предупреждающие и фатальные) используются только административным персоналом.&lt;br /&gt;
&lt;br /&gt;
== 🔴 Фатальные ==&lt;br /&gt;
Плашки критического уровня. Обозначают скорое удаление или наличие шок-контента.&lt;br /&gt;
&lt;br /&gt;
=== В Чёрную Дыру! ===&lt;br /&gt;
{{blackhole}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{blackhole}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{hole}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{расстрелять}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{снести}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Если эта плашка была поставлена на определённую статью, значит, скорее всего, её скоро удалят к абдуловой матери. Проставляется только на очень хуёвых статьях — с объёмом в пару строчек, с большим количеством грамматических ошибок и всратым оформлением. &lt;br /&gt;
* &#039;&#039;&#039;Использование с причиной (предпочтительно):&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{blackhole|Указание причины для удаления и дата (минимум месяц)}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Абдулопиздец ===&lt;br /&gt;
{{абдулопиздец}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{абдулопиздец}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{пиздец}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Для обозначения статей с «повышенным блевотным содержанием». Этой же плашкой помечаются и 18+ статьи или разделы.&lt;br /&gt;
&lt;br /&gt;
== 🟠 Предупреждения и доработка ==&lt;br /&gt;
Статьи с этими плашками нуждаются в срочном вмешательстве авторов или редакторов.&lt;br /&gt;
&lt;br /&gt;
=== Ремейк ===&lt;br /&gt;
{{ремейк}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ремейк}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{переписать}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{передел}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Статья нуждается в ремейке. Указывает на то, что статью нужно полностью переписывать с учётом текущего содержимого. Означает, что в целом статья херовая, но и не тянет на просто удаление.&lt;br /&gt;
* &#039;&#039;&#039;Использование с примечанием:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ремейк|Примечание, что именно не так}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Реформация ===&lt;br /&gt;
{{Незавершённая статья}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Незавершённая статья}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Статья нуждается в реформации. Означает, что статья была перенесена с другого ресурса, но пока не адаптировалась под реалии вики. Необходим кардинальный пересмотр с добавлением медиа или изменением текста.&lt;br /&gt;
* &#039;&#039;&#039;Использование с уточнением:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Незавершённая статья|медиа-материалов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — текст изменится на «Статья будет пересмотрена по части медиа-материалов».&lt;br /&gt;
&lt;br /&gt;
=== Корректировка ===&lt;br /&gt;
{{корректировка}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{корректировка}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{корр}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{correct}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Эта статья нуждается в большей Абдуленности. Ставится на статьи, которые написаны неплохо, но имеют некоторые «броские» недостатки, которые требуется устранить.&lt;br /&gt;
* &#039;&#039;&#039;Пример:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{корректировка|указание недостатков в творительном падеже}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Перепилить ===&lt;br /&gt;
{{перепилить}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{перепилить}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{непонял}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Более щадящий аналог ремейка, ставится на статьи с ощутимыми (но не критическими) недостатками, которые нужно устранить как можно быстрее. Чё, нихуя не понятно, да?&lt;br /&gt;
&lt;br /&gt;
=== Мало ===&lt;br /&gt;
{{мало}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{мало}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Такой плашкой «награждаются» слишком короткие статьи, с которыми срочно нужно что-то делать: дополнять до нормы в 5 килобайт, перемещать в черновики, объединять с другой статьёй или удалять. &lt;br /&gt;
&lt;br /&gt;
=== Актуальность ===&lt;br /&gt;
{{актуальность}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{актуальность}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{уточнить}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; «И прошли года с того времени...» Помечаются все те статьи, информация в которых уже устарела и не является актуальной на сегодняшний день. Требуется внести пояснения или переписать.&lt;br /&gt;
&lt;br /&gt;
== 🟡 Канон и святыни ==&lt;br /&gt;
Неприкосновенные материалы высшей важности.&lt;br /&gt;
&lt;br /&gt;
=== Каноничное содержимое ===&lt;br /&gt;
{{канон}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{каноничное содержимое}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{канон}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{святыня}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; ВНИМАНИЕ, КАНОН! Означает запрет на редактирование для всех пользователей кроме административного персонала. Ставится только на те статьи, которые представляют наибольшую ценность для Абдуловерования.&lt;br /&gt;
&lt;br /&gt;
== 🔵 Информационные ==&lt;br /&gt;
Информируют об особенностях, статусе разработки и характере той или иной статьи.&lt;br /&gt;
&lt;br /&gt;
=== Черновик ===&lt;br /&gt;
{{черновик}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{черновик}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Ставится только на статьи из пространства имён &#039;&#039;Черновик:&#039;&#039;. Обозначает запланированные к созданию статьи, ещё не готовые и нуждающиеся в доработке. &lt;br /&gt;
&lt;br /&gt;
=== Хранилище ===&lt;br /&gt;
{{хранилище}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{хранилище}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Проставляется только на статьях из пространства имён &#039;&#039;Хранилище:&#039;&#039;. Обозначает архивированные материалы.&lt;br /&gt;
&lt;br /&gt;
=== Допилить ===&lt;br /&gt;
{{допилить}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{допилить}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{доделаю}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{добить}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Эта статья пока что не закончена. Говорит о том, что статья ещё пока в процессе написания. Как правило, должна проставляться самим автором недоделанной статьи.&lt;br /&gt;
&lt;br /&gt;
=== Текущее ===&lt;br /&gt;
{{текущее}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{текущее}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Описание текущих событий. Ставится на те статьи, которые описывают текущие события и находятся в процессе запланированного (регулярного) обновления.&lt;br /&gt;
&lt;br /&gt;
=== Юмор ===&lt;br /&gt;
{{юмор}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{смешно}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{хаха}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Посмейся, посмейся... Ставится на «петросянские» статьи с повышенным содержанием абдулоюмора и богосатанаугодной лексики.&lt;br /&gt;
&lt;br /&gt;
== 🔥 Опасность для жоп ==&lt;br /&gt;
&lt;br /&gt;
=== Детектор ===&lt;br /&gt;
{{детектор}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{детектор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{горит}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Потенциальные риски разрыва жоп. Ставится на статьи, которые потенциально могут вызвать воспламенения в нижней части спины у определённых категорий посетителей.&lt;br /&gt;
* &#039;&#039;&#039;Примеры использования:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{детектор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — стандартный вызов (в конце текста выведет каноничное: &#039;&#039;«...смириться с тем, что вы &#039;&#039;&#039;абдулодрочер&#039;&#039;&#039;»&#039;&#039;).&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{детектор|детдомовец}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — самый быстрый способ (просто пишем нужное слово первым параметром: &#039;&#039;«...смириться с тем, что вы &#039;&#039;&#039;маслёнок&#039;&#039;&#039;»&#039;&#039;).&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{детектор|кто=сониблядь}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — через именованный параметр &amp;lt;code&amp;gt;кто&amp;lt;/code&amp;gt; (также поддерживается алиас &amp;lt;code&amp;gt;диагноз=&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{детектор|совок|заголовок=ПОДРЫВ СЕДАЛИЩА!}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — замена слова и кастомный заголовок плашки.&lt;br /&gt;
&lt;br /&gt;
== 🟣 Абдулонаука ==&lt;br /&gt;
&lt;br /&gt;
=== Наука ===&lt;br /&gt;
{{наука}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{наука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Градус|1}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Градус|2}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;...&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Внимание, Абдулонаука! Обозначает статьи, которые «не для всех». Могут быть трудны к пониманию и казаться бредом.&lt;br /&gt;
&lt;br /&gt;
=== Неисследовано ===&lt;br /&gt;
{{неисследовано}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{неисследовано}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Статья требует конфирмации от Абдулоученых! Подтверждение требуется для того, чтобы избежать всякого рода «отсебятины» тех авторов, которые не достаточно глубоко изучили предмет.&lt;br /&gt;
&lt;br /&gt;
=== Доисследовать ===&lt;br /&gt;
{{доисследовать}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{доисследовать}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Указывается на статьях, которые уже могут выступать в роли абдулонаучного обоснования некоторых явлений, однако некоторая часть содержимого может быть пересмотрена или дополнена.&lt;br /&gt;
&lt;br /&gt;
=== Исследование ===&lt;br /&gt;
{{исследование}}&lt;br /&gt;
* &#039;&#039;&#039;Как вызвать:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{исследование}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Зачем:&#039;&#039;&#039; Статья в виде исследовательской работы. Предупреждает читателя о том, что в статье может содержаться очень много собственной точки зрения автора.&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4852</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.css&amp;diff=4852"/>
		<updated>2026-10-20T19:20:45Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   3D-ГАЛЕРЕЯ (СЕТКА EDGE-TO-EDGE + ОТКАЛИБРОВАННЫЕ УГЛЫ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* 1. КОНТЕЙНЕР ГАЛЕРЕИ (Растягиваем в ширину верхнего блока) */&lt;br /&gt;
ul.gallery.mw-gallery-traditional {&lt;br /&gt;
    display: grid !important;&lt;br /&gt;
    /* Автоматически вписывает карточки, растягивая их на всё доступное место */&lt;br /&gt;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; &lt;br /&gt;
    gap: 20px !important; /* Ровное расстояние между карточками */&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    margin: 20px 0 0 0 !important;&lt;br /&gt;
    padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. ГЛАВНАЯ КАРТОЧКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox {&lt;br /&gt;
    width: 100% !important; /* Ширину теперь диктует сетка */&lt;br /&gt;
    height: 320px !important; &lt;br /&gt;
    margin: 0 !important; /* Отступы теперь контролируются через gap в сетке */&lt;br /&gt;
    position: relative !important; &lt;br /&gt;
    background-color: #050505 !important;&lt;br /&gt;
    border: 1px solid #333 !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы откалиброваны под верхний блок */&lt;br /&gt;
    box-shadow: 0 5px 15px rgba(0,0,0,0.8);&lt;br /&gt;
    transform-style: preserve-3d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Обнуляем системные рамки */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb &amp;gt; div,&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.thumb a {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    border: none !important; background: transparent !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КАРТИНКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox img {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: center !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы картинки */&lt;br /&gt;
    margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    filter: brightness(0.6) !important; &lt;br /&gt;
    transition: filter 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover img {&lt;br /&gt;
    filter: brightness(1) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТОВАЯ ПОДЛОЖКА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext {&lt;br /&gt;
    top: auto !important;    &lt;br /&gt;
    bottom: 0 !important;    &lt;br /&gt;
    height: auto !important; &lt;br /&gt;
    left: 0 !important;&lt;br /&gt;
    width: 100% !important; &lt;br /&gt;
    box-sizing: border-box !important;&lt;br /&gt;
    padding: 40px 15px 12px 15px !important; &lt;br /&gt;
    background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important;&lt;br /&gt;
    border-radius: 0 0 6px 6px !important; /* Нижние углы градиента */&lt;br /&gt;
    text-align: center !important;&lt;br /&gt;
    z-index: 10 !important;&lt;br /&gt;
    pointer-events: none !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ИМЯ ФАЙЛА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a {&lt;br /&gt;
    position: relative !important;&lt;br /&gt;
    pointer-events: auto !important;&lt;br /&gt;
    color: #d4af37 !important; &lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 14px !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    white-space: nowrap !important;&lt;br /&gt;
    overflow: hidden !important;&lt;br /&gt;
    text-overflow: ellipsis !important; &lt;br /&gt;
    margin-bottom: 3px !important;&lt;br /&gt;
    transition: 0.2s ease !important;&lt;br /&gt;
    text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext a:hover {&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(212, 175, 55, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ДАТА */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext .abdul-date {&lt;br /&gt;
    color: #a0a0a0 !important;&lt;br /&gt;
    font-size: 12px !important;&lt;br /&gt;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* КРАСНОЕ СВЕЧЕНИЕ КАРТОЧКИ ПРИ НАВЕДЕНИИ */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover {&lt;br /&gt;
    border-color: #b53131 !important;&lt;br /&gt;
    box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЛИНЗА ДЛЯ БЛИКА */&lt;br /&gt;
.abdul-glare {&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    border-radius: 6px !important; /* Углы линзы */&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    opacity: 0; &lt;br /&gt;
    z-index: 20 !important; &lt;br /&gt;
    transition: opacity 0.3s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТВАДЬ (ПАТТЕРН) В РЕЖИМЕ ПОКОЯ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot; !important;&lt;br /&gt;
    position: absolute !important;&lt;br /&gt;
    top: 0 !important; left: 0 !important;&lt;br /&gt;
    width: 100% !important; height: 100% !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Ссылка на картинку */&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important;&lt;br /&gt;
    background-repeat: repeat !important; &lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ТУТ: Меняй 40px на 20px (будет очень мелко) или на 100px (будет крупно) */&lt;br /&gt;
    background-size: 320px !important; &lt;br /&gt;
    &lt;br /&gt;
    opacity: 0.5 !important; &lt;br /&gt;
    z-index: 5 !important; &lt;br /&gt;
    border-radius: 6px !important;&lt;br /&gt;
    pointer-events: none !important;&lt;br /&gt;
    transition: opacity 0.4s ease !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении паттерн растворяется */&lt;br /&gt;
ul.gallery.mw-gallery-traditional li.gallerybox:hover::before {&lt;br /&gt;
    opacity: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УНИВЕРСАЛЬНАЯ ГАЛЕРЕЯ (ОДИНОЧНАЯ, СЛАЙДЕР, 3D-СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
/* --- 1. ОДИНОЧНАЯ КАРТИНКА --- */&lt;br /&gt;
.abdul-single-wrap { position: relative !important; display: block !important; width: 100% !important; max-width: 320px !important; height: 320px !important; margin: 15px 0 !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-single-wrap &amp;gt; a, .abdul-single-wrap &amp;gt; span, .abdul-single-wrap &amp;gt; div:not(.abdul-single-text) { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; display: block !important; }&lt;br /&gt;
.abdul-single-wrap img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; margin: 0 !important; padding: 0 !important; border: none !important; outline: none !important; background: transparent !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-single-wrap::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-single-wrap:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-single-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 15px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.6) 60%, transparent 100%) !important; color: #d4af37 !important; font-weight: bold; font-size: 16px !important; text-align: center !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 2. СЛАЙДЕР (Абсолютное позиционирование, без багов) --- */&lt;br /&gt;
.abdul-slider-wrap { position: relative !important; width: 100% !important; max-width: 320px !important; float: right !important; margin: 0 0 15px 20px !important; background: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8) !important; overflow: hidden !important; }&lt;br /&gt;
.abdul-slider-title { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; padding: 10px 0 20px 0 !important; text-align: center !important; color: #b71c1c !important; font-weight: bold !important; font-size: 16px !important; text-transform: uppercase !important; background: linear-gradient(to bottom, rgba(5,5,5, 0.9) 0%, transparent 100%) !important; z-index: 20 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-slider-track { position: relative !important; display: block !important; width: 100% !important; height: 320px !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; }&lt;br /&gt;
/* Жестко убиваем мусор от MediaWiki внутри трека */&lt;br /&gt;
.abdul-slider-track &amp;gt; :not(.abdul-slide) { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Физика слайдов */&lt;br /&gt;
.abdul-slide { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; opacity: 0 !important; visibility: hidden !important; z-index: 1 !important; transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out !important; }&lt;br /&gt;
.abdul-slide.active { opacity: 1 !important; visibility: visible !important; z-index: 5 !important; transform: translateX(0) !important; }&lt;br /&gt;
.abdul-slide.hidden-left { transform: translateX(-100%) !important; }&lt;br /&gt;
.abdul-slide.hidden-right { transform: translateX(100%) !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-slide &amp;gt; a, .abdul-slide &amp;gt; span { display: block !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-slide img { display: block !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; }&lt;br /&gt;
.abdul-nav-btn { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; background: rgba(15,15,15,0.7) !important; color: #d4af37 !important; padding: 8px 12px !important; font-size: 20px !important; cursor: pointer !important; z-index: 25 !important; border-radius: 4px !important; transition: 0.3s ease !important; user-select: none !important; }&lt;br /&gt;
.abdul-nav-btn:hover { background: #b53131 !important; color: #fff !important; }&lt;br /&gt;
.abdul-nav-btn.prev { left: 10px !important; }&lt;br /&gt;
.abdul-nav-btn.next { right: 10px !important; }&lt;br /&gt;
&lt;br /&gt;
/* --- 3. 3D-СЕТКА КАРТОЧЕК --- */&lt;br /&gt;
.abdul-gallery-container { width: 100%; margin: 20px 0; clear: both; }&lt;br /&gt;
&lt;br /&gt;
/* ЗАГОЛОВОК (Курсив + Строгая тень) */&lt;br /&gt;
.abdul-gallery-title { text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; font-style: italic !important; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8) !important; margin-bottom: 15px; }&lt;br /&gt;
&lt;br /&gt;
.abdul-grid-wrap { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; gap: 20px !important; width: 100% !important; }&lt;br /&gt;
.abdul-grid-item { width: 100% !important; height: 320px !important; position: relative !important; background-color: #050505 !important; border: 1px solid #333 !important; border-radius: 6px !important; box-shadow: 0 5px 15px rgba(0,0,0,0.8); transform-style: preserve-3d; }&lt;br /&gt;
.abdul-grid-item &amp;gt; a, .abdul-grid-item &amp;gt; span, .abdul-grid-item &amp;gt; div:not(.abdul-grid-text):not(.abdul-glare) { display: block !important; width: 100% !important; height: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-grid-item img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-height: 320px !important; object-fit: cover !important; object-position: center !important; border-radius: 6px !important; filter: brightness(0.6) !important; transition: filter 0.4s ease !important; margin: 0 !important; padding: 0 !important; border: none !important; }&lt;br /&gt;
.abdul-grid-item:hover img { filter: brightness(1) !important; }&lt;br /&gt;
.abdul-grid-item::before { content: &amp;quot;&amp;quot; !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; background-image: url(&#039;/Special:FilePath/Pngtree-dotted-grid-pattern.png&#039;) !important; background-repeat: repeat !important; background-position: center !important; background-size: 320px !important; opacity: 0.5 !important; z-index: 5 !important; border-radius: 6px !important; pointer-events: none !important; transition: opacity 0.4s ease !important; }&lt;br /&gt;
.abdul-grid-item:hover::before { opacity: 0 !important; }&lt;br /&gt;
.abdul-grid-text { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; box-sizing: border-box !important; padding: 40px 15px 12px 15px !important; background: linear-gradient(to top, rgba(5,5,5, 0.98) 0%, rgba(5,5,5, 0.8) 50%, transparent 100%) !important; border-radius: 0 0 6px 6px !important; text-align: center !important; color: #d4af37 !important; font-weight: bold; font-size: 14px !important; text-shadow: 0 2px 5px rgba(0,0,0,0.9) !important; z-index: 10 !important; pointer-events: none !important; }&lt;br /&gt;
.abdul-grid-item:hover { border-color: #b53131 !important; box-shadow: 0 10px 30px rgba(181, 49, 49, 0.6) !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ХРОНОЛОГИЯ АДЕПТОВ (GANTT CHART)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-timeline-container { &lt;br /&gt;
    position: relative; background-color: #050505; border: 1px solid #333; &lt;br /&gt;
    border-radius: 8px; padding: 25px 20px 20px 20px; box-shadow: 0 5px 15px rgba(0,0,0,0.8); &lt;br /&gt;
    margin: 20px 0; overflow: hidden; /* Удалили жесткий шрифт, теперь всё наследуется от сайта */&lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-title { &lt;br /&gt;
    text-align: center; font-size: 24px; color: #b71c1c; font-weight: bold; &lt;br /&gt;
    font-style: italic; text-transform: uppercase; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); &lt;br /&gt;
    margin-bottom: 25px; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-content { &lt;br /&gt;
    position: relative; z-index: 1; margin-left: 160px; border-left: 1px solid #333; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row { &lt;br /&gt;
    position: relative; display: flex; align-items: center; height: 32px; &lt;br /&gt;
    margin-bottom: 6px; border-radius: 4px; transition: background 0.2s ease; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-row:hover { background: rgba(255, 255, 255, 0.03); }&lt;br /&gt;
&lt;br /&gt;
/* Имена слева */&lt;br /&gt;
.abdul-timeline-label { &lt;br /&gt;
    position: absolute; left: -160px; width: 150px; text-align: right; &lt;br /&gt;
    padding-right: 15px; box-sizing: border-box; color: #d4af37; font-weight: bold; &lt;br /&gt;
    font-size: 14px; text-shadow: 0 2px 4px rgba(0,0,0,0.8); white-space: nowrap; &lt;br /&gt;
    overflow: hidden; text-overflow: ellipsis; z-index: 5; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a { &lt;br /&gt;
    color: #d4af37 !important; text-decoration: none !important; &lt;br /&gt;
    transition: 0.2s ease; display: block; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-label a:hover { &lt;br /&gt;
    color: #fff !important; text-shadow: 0 0 8px rgba(212,175,55,0.8) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Трек и светящиеся полосы */&lt;br /&gt;
.abdul-timeline-track { position: relative; width: 100%; height: 100%; }&lt;br /&gt;
.abdul-timeline-bar { &lt;br /&gt;
    position: absolute; top: 50%; transform: translateY(-50%); height: 14px; &lt;br /&gt;
    border-radius: 8px; background: linear-gradient(90deg, #8b0000, #b71c1c); &lt;br /&gt;
    box-shadow: 0 2px 10px rgba(183, 28, 28, 0.6), inset 0 1px 1px rgba(255,255,255,0.2); &lt;br /&gt;
    transition: 0.3s ease; cursor: pointer; &lt;br /&gt;
}&lt;br /&gt;
.abdul-timeline-bar:hover { &lt;br /&gt;
    filter: brightness(1.3); height: 18px; z-index: 10; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(212, 175, 55, 0.8), inset 0 1px 2px rgba(255,255,255,0.4); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ АБДУЛОКАЛЕНДАРЯ (ТАЙМЕР + СЕТКА)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Заголовок как на скрине &amp;quot;Сводка базы знаний&amp;quot; */&lt;br /&gt;
.abdul-cal-header {&lt;br /&gt;
    text-align: center; font-size: 24px; color: #ffffff; &lt;br /&gt;
    font-weight: normal; font-style: normal; text-transform: uppercase; &lt;br /&gt;
    letter-spacing: 1px; text-shadow: 0 0 10px rgba(255,255,255,0.3);&lt;br /&gt;
    margin-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок таймера с размытием фона (чтобы текст читался поверх параллакса) */&lt;br /&gt;
.abdul-cal-timer-box {&lt;br /&gt;
    background: linear-gradient(135deg, rgba(139,0,0,0.4) 0%, rgba(20,20,20,0.9) 100%);&lt;br /&gt;
    border-left: 4px solid #b71c1c; border-radius: 0 6px 6px 0;&lt;br /&gt;
    padding: 15px; margin-bottom: 25px; text-align: center;&lt;br /&gt;
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);&lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today-title, .abdul-cal-timer-title { &lt;br /&gt;
    font-size: 13px; color: #aaa; font-weight: bold; margin-bottom: 5px; text-transform: uppercase; &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-today { &lt;br /&gt;
    font-size: 26px; color: #d4af37; font-weight: bold; text-shadow: 0 2px 5px rgba(0,0,0,0.9); &lt;br /&gt;
}&lt;br /&gt;
.abdul-cal-countdown { &lt;br /&gt;
    font-size: 20px; color: #fff; font-weight: bold; text-shadow: 0 0 10px rgba(183, 28, 28, 0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка (Делаем прозрачной, так как фон уже есть у главного блока) */&lt;br /&gt;
.abdul-visual-calendar {&lt;br /&gt;
    background: transparent !important; border: none !important; &lt;br /&gt;
    box-shadow: none !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
    overflow-x: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-row { display: flex; gap: 15px; margin-bottom: 20px; min-width: 1000px; }&lt;br /&gt;
.abdul-vc-days-col { display: flex; flex-direction: column; width: 90px; flex-shrink: 0; }&lt;br /&gt;
.abdul-vc-month-col { flex: 1; display: flex; flex-direction: column; }&lt;br /&gt;
.abdul-vc-m-title {&lt;br /&gt;
    text-align: center; color: #d4af37; font-weight: bold; font-size: 16px;&lt;br /&gt;
    margin-bottom: 5px; text-transform: uppercase; border-bottom: 1px solid #333; padding-bottom: 4px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-grid {&lt;br /&gt;
    display: grid; grid-template-rows: repeat(7, 1fr); &lt;br /&gt;
    grid-auto-columns: 1fr; grid-auto-flow: column; gap: 3px; flex: 1;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-day-name {&lt;br /&gt;
    height: 24px; line-height: 24px; text-align: left; font-size: 13px;&lt;br /&gt;
    color: #888; font-family: inherit; font-weight: bold; margin-bottom: 3px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell {&lt;br /&gt;
    background: rgba(17,17,17,0.8); color: #ccc; border: 1px solid #333; text-align: center;&lt;br /&gt;
    font-size: 14px; height: 24px; line-height: 24px; border-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
.abdul-vc-cell:hover { background: #333; border-color: #777; }&lt;br /&gt;
.abdul-vc-cell.hl-green { background: #1b4b22 !important; border-color: #2e7d32 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
.abdul-vc-cell.hl-gold { background: #5c4000 !important; border-color: #d4af37 !important; color: #fff !important; font-weight: bold; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОЧИСТКА ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ (УЛЬТИМАТИВНАЯ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Выжигаем плашки &amp;quot;Стабильная версия&amp;quot; и досмотры везде */&lt;br /&gt;
html.abdul-not-admin #mw-fr-revisiontag,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_short,&lt;br /&gt;
html.abdul-not-admin #mw-fr-reviewnotice,&lt;br /&gt;
html.abdul-not-admin .fr-diff-to-stable,&lt;br /&gt;
html.abdul-not-admin .flaggedrevs_notice {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Скрываем &amp;quot;Просмотр кода&amp;quot; ТОЛЬКО на защищённых страницах */&lt;br /&gt;
html.abdul-not-admin.abdul-protected-page #ca-viewsource {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ПОЛНОЕ УНИЧТОЖЕНИЕ панелей на Главной для не-админов */&lt;br /&gt;
html.abdul-main-page-guest #p-namespaces,&lt;br /&gt;
html.abdul-main-page-guest #p-views,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-namespaces,&lt;br /&gt;
html.abdul-main-page-guest .mw-portlet-views,&lt;br /&gt;
html.abdul-main-page-guest #page-tools,&lt;br /&gt;
html.abdul-main-page-guest #p-cactions {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   УЛЬТИМАТИВНЫЙ ЗАГОЛОВОК ДЛЯ ГЛАВНОЙ СТРАНИЦЫ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
html.abdul-main-page-all #firstHeading,&lt;br /&gt;
html.abdul-main-page-all .firstHeading {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    margin: 20px 0 40px 0;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    cursor: default;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title h1 {&lt;br /&gt;
    font-size: 58px !important;&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    font-style: normal !important; /* Без курсива */&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    margin: 0; padding: 0;&lt;br /&gt;
    border-bottom: none !important;&lt;br /&gt;
    &lt;br /&gt;
    /* Тёмно-красный градиент под стиль сайта */&lt;br /&gt;
    background: linear-gradient(180deg, #fa2a2a 0%, #a60f0f 45%, #7f0000 100%);&lt;br /&gt;
    -webkit-background-clip: text;&lt;br /&gt;
    -webkit-text-fill-color: transparent;&lt;br /&gt;
    color: #d32f2f; &lt;br /&gt;
    &lt;br /&gt;
    -webkit-text-stroke: 0 !important;&lt;br /&gt;
    filter: none !important; /* Убираем грязную размытую тень */&lt;br /&gt;
    &lt;br /&gt;
    /* МАГИЯ ЖИРНОСТИ И 3D-ТЕНИ */&lt;br /&gt;
    /* 1. Делаем буквы толще за счет микро-контура в цвет самого текста (#d32f2f) */&lt;br /&gt;
    /* 2. Делаем жесткую объемную тень цвета темной крови (#4a0000) */&lt;br /&gt;
    /* 3. Добавляем легкий красный отсвет на фон */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        4px 4px 0px #4a0000,&lt;br /&gt;
        5px 5px 15px rgba(74,0,0,0.5) !important;&lt;br /&gt;
    &lt;br /&gt;
    letter-spacing: 2px;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-main-title::after {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    display: block;&lt;br /&gt;
    width: 40%;&lt;br /&gt;
    height: 3px;&lt;br /&gt;
    margin: 15px auto 0 auto;&lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #b71c1c 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 15px #b71c1c;&lt;br /&gt;
    transition: all 0.4s ease;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* === ЭФФЕКТЫ ПРИ НАВЕДЕНИИ МЫШИ (HOVER) === */&lt;br /&gt;
.abdul-main-title:hover h1 {&lt;br /&gt;
    transform: scale(1.02) translateY(-2px); /* Текст слегка &amp;quot;всплывает&amp;quot; вверх */&lt;br /&gt;
    letter-spacing: 4px; &lt;br /&gt;
    &lt;br /&gt;
    /* Углубляем 3D-эффект и зажигаем адское свечение */&lt;br /&gt;
    text-shadow: &lt;br /&gt;
        1px 0px 0px #d32f2f, -1px 0px 0px #d32f2f, 0px 1px 0px #d32f2f, 0px -1px 0px #d32f2f,&lt;br /&gt;
        2px 2px 0px #4a0000, &lt;br /&gt;
        3px 3px 0px #4a0000, &lt;br /&gt;
        5px 5px 0px #2a0000,&lt;br /&gt;
        7px 7px 0px #1a0000,&lt;br /&gt;
        0px 0px 25px rgba(255, 50, 50, 0.8) !important;&lt;br /&gt;
}&lt;br /&gt;
.abdul-main-title:hover::after {&lt;br /&gt;
    width: 70%; &lt;br /&gt;
    background: linear-gradient(90deg, transparent 0%, #ff1a1a 50%, transparent 100%);&lt;br /&gt;
    box-shadow: 0 0 25px #ff1a1a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 768px) {&lt;br /&gt;
    .abdul-main-title h1 { font-size: 32px !important; letter-spacing: 1px; }&lt;br /&gt;
    .abdul-main-title:hover h1 { letter-spacing: 3px; }&lt;br /&gt;
    .abdul-main-title::after { width: 80%; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КРАСИВЫЙ СПИСОК УЧАСТНИКОВ (ФИНАЛ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));&lt;br /&gt;
    gap: 12px;&lt;br /&gt;
    list-style: none !important;&lt;br /&gt;
    padding: 0; margin: 20px 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Каркас карточки: gap: 4px делает ИДЕАЛЬНЫЕ отступы между всеми строками */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li {&lt;br /&gt;
    background: rgba(15, 15, 18, 0.9);&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 12px 12px 12px 85px;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 4px; &lt;br /&gt;
    min-height: 85px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover {&lt;br /&gt;
    border-color: #b71c1c;&lt;br /&gt;
    background: #111;&lt;br /&gt;
    transform: translateY(-3px);&lt;br /&gt;
    box-shadow: 0 8px 20px rgba(183, 28, 28, 0.4);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Аватарка Абдулова */&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li::before {&lt;br /&gt;
    content: &#039;&#039;;&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    left: 15px; top: 50%;&lt;br /&gt;
    transform: translateY(-50%);&lt;br /&gt;
    width: 55px; height: 55px;&lt;br /&gt;
    background: #1a1a1a url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) center/cover;&lt;br /&gt;
    border-radius: 50%;&lt;br /&gt;
    border: 2px solid #444;&lt;br /&gt;
    box-shadow: 0 0 10px #000;&lt;br /&gt;
    transition: all 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li:hover::before {&lt;br /&gt;
    border-color: #fbc02d;&lt;br /&gt;
    box-shadow: 0 0 15px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный стиль для Админов */&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card { &lt;br /&gt;
    background: rgba(40, 10, 10, 0.9) !important; &lt;br /&gt;
    border-color: #600 !important; &lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card::before { border-color: #b71c1c; }&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover { &lt;br /&gt;
    border-color: #ff5252 !important; &lt;br /&gt;
    background: rgba(60, 15, 15, 0.95) !important;&lt;br /&gt;
    box-shadow: 0 8px 25px rgba(255, 82, 82, 0.5);&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers li.abdul-admin-card:hover::before {&lt;br /&gt;
    border-color: #ffea00;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 234, 0, 0.8);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текстовые элементы */&lt;br /&gt;
.mw-special-Listusers .mw-userlink {&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif;&lt;br /&gt;
    font-size: 18px;&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    line-height: 1.2;&lt;br /&gt;
    text-decoration: none;&lt;br /&gt;
    transition: all 0.2s;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-userlink:hover { color: #fff !important; text-shadow: 0 0 10px #fbc02d; }&lt;br /&gt;
&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #666;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a { color: #aaa; text-decoration: none; }&lt;br /&gt;
.mw-special-Listusers .mw-usertoollinks a:hover { color: #ff5252; text-decoration: underline; }&lt;br /&gt;
&lt;br /&gt;
.abdul-creation-date {&lt;br /&gt;
    font-size: 11px;&lt;br /&gt;
    color: #888;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    margin-top: 4px;&lt;br /&gt;
    border-top: 1px solid #222;&lt;br /&gt;
    padding-top: 4px;&lt;br /&gt;
    width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ПЛАШКИ РОЛЕЙ (Теперь это гарантированно чистый белый текст) */&lt;br /&gt;
.mw-special-Listusers .mw-listusers-groups {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    margin: 4px 0;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.mw-special-Listusers .abdul-role-badge {&lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
    font-size: 11px !important;&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000 0%, #b71c1c 100%) !important;&lt;br /&gt;
    padding: 3px 8px !important;&lt;br /&gt;
    border-radius: 4px !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #ff5252 !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;&lt;br /&gt;
    line-height: 1.2 !important;&lt;br /&gt;
    text-transform: lowercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ЭЛИТНЫЙ ТОП-50 (ИДЕАЛЬНАЯ СЕТКА + ГИГАНТСКИЙ ТОП-3)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list {&lt;br /&gt;
    list-style: none !important; padding: 0 !important; margin: 20px 0 !important;&lt;br /&gt;
    counter-reset: abdul-top;&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(3, 1fr); &lt;br /&gt;
    gap: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* БАЗОВЫЕ СВОЙСТВА ВСЕХ КАРТОЧЕК */&lt;br /&gt;
.abdul-popular-list &amp;gt; li {&lt;br /&gt;
    background: rgba(20, 20, 25, 0.95); border: 1px solid #333; border-radius: 8px;&lt;br /&gt;
    position: relative; transition: 0.3s; counter-increment: abdul-top; &lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.5); display: flex;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:hover { background: #111; transform: translateY(-4px); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li a { font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif !important; text-decoration: none !important; transition: 0.2s;}&lt;br /&gt;
&lt;br /&gt;
/* БЕЙДЖИ ПРОСМОТРОВ */&lt;br /&gt;
.abdul-views-badge {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); color: #fff; padding: 4px 10px;&lt;br /&gt;
    border-radius: 4px; font-size: 12px; font-weight: bold; border: 1px solid #ff5252;&lt;br /&gt;
    white-space: nowrap; z-index: 2; height: fit-content; text-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ТОП-3: ГИГАНТСКИЕ КАРТОЧКИ В ОДИН РЯД БЕЗ ПУСТОТ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) {&lt;br /&gt;
    grid-column: span 1; &lt;br /&gt;
    flex-direction: column; /* Элементы идут сверху вниз */&lt;br /&gt;
    padding: 0; /* Убираем пустые дыры */&lt;br /&gt;
    align-items: stretch;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Картинка-баннер теперь в потоке, без дыр */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-top-thumb {&lt;br /&gt;
    position: relative; &lt;br /&gt;
    width: 100%; height: 160px; /* Идеальная высота шапки */&lt;br /&gt;
    background-color: #111;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-bottom: 2px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3):hover .abdul-top-thumb { filter: brightness(1.1) scale(1.03); }&lt;br /&gt;
&lt;br /&gt;
/* Контейнер с текстом под картинкой */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-card-content { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; flex-direction: column; justify-content: flex-start; z-index: 2; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Текст статьи */&lt;br /&gt;
.abdul-top-extract {&lt;br /&gt;
    font-size: 13px; color: #bbb; margin-top: 8px; line-height: 1.4;&lt;br /&gt;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Медали и бейджи для ТОП-3 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 10px; top: 10px;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 24px; z-index: 3;&lt;br /&gt;
    background: rgba(0,0,0,0.8); padding: 4px 12px; border-radius: 6px; border: 1px solid #555;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) .abdul-views-badge { position: absolute; right: 10px; top: 10px; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(-n+3) a { font-size: 18px !important; margin-bottom: 5px; }&lt;br /&gt;
&lt;br /&gt;
/* Цвета лидеров */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) { border-color: #ffd700; box-shadow: 0 5px 20px rgba(255, 215, 0, 0.15);}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-top-thumb { border-color: #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1)::before { content: &#039;🏆 1&#039;; color: #ffd700; border-color: #ffd700; text-shadow: 0 0 10px #ffd700; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) a { color: #ffd700 !important; text-shadow: 0 0 10px rgba(255,215,0,0.3) !important;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(1) .abdul-views-badge { background: linear-gradient(90deg, #b8860b, #ffd700); color: #000; border-color: #fff; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) .abdul-top-thumb { border-color: #c0c0c0; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2)::before { color: #c0c0c0; border-color: #c0c0c0; text-shadow: 0 0 10px #c0c0c0;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(2) a { color: #e0e0e0 !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) .abdul-top-thumb { border-color: #cd7f32; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3)::before { color: #cd7f32; border-color: #cd7f32; text-shadow: 0 0 10px #cd7f32;}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(3) a { color: #ff9966 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ОСТАЛЬНЫЕ КАРТОЧКИ (С 4 МЕСТА) - В СТОЛБИК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) {&lt;br /&gt;
    grid-column: 1 / -1; &lt;br /&gt;
    flex-direction: row; padding: 12px 15px 12px 60px; min-height: 60px; align-items: center; overflow: hidden;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) .abdul-card-content { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; z-index: 2; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4)::before {&lt;br /&gt;
    content: counter(abdul-top); position: absolute; left: 0; top: 0; bottom: 0; width: 45px;&lt;br /&gt;
    display: flex; align-items: center; justify-content: center;&lt;br /&gt;
    background: rgba(0,0,0,0.6); font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 20px; color: #888; border-right: 1px solid #333; z-index: 2;&lt;br /&gt;
}&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a { color: #ddd !important; font-size: 17px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4) a:hover { color: #ff5252 !important; text-shadow: 0 0 10px rgba(255,82,82,0.5) !important; }&lt;br /&gt;
&lt;br /&gt;
/* ФОТО 4-10 */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) { padding-left: 140px; min-height: 80px; border-color: #555; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+4):nth-child(-n+10) .abdul-top-thumb {&lt;br /&gt;
    position: absolute; left: 45px; top: 0; bottom: 0; width: 85px; height: 100%; &lt;br /&gt;
    background-color: #111; background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;); background-size: cover; background-position: center; transition: 0.3s; z-index: 1;&lt;br /&gt;
    border-right: 1px solid #444; border-bottom: none; border-radius: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЗАТУХАНИЕ (11+) */&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) { background: rgba(10, 10, 12, 0.6); border-color: #222; opacity: 0.8; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11):hover { opacity: 1; border-color: #666; background: rgba(20, 20, 25, 0.9); }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a { color: #999 !important; font-size: 15px !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) a:hover { color: #ccc !important; }&lt;br /&gt;
.abdul-popular-list &amp;gt; li:nth-child(n+11) .abdul-views-badge { background: #222; border-color: #444; color: #888; }&lt;br /&gt;
&lt;br /&gt;
@media (max-width: 900px) {&lt;br /&gt;
    .abdul-popular-list { grid-template-columns: 1fr; }&lt;br /&gt;
    .abdul-popular-list &amp;gt; li:nth-child(-n+3) { grid-column: 1 / -1; min-height: auto; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ФИКС КАРТИНОК И ЧИТАЕМОСТИ ДЛЯ МОДУЛЯ СТАТЕЙ (FLEXBOX)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* 1. Карточка: убираем прыжок, оставляем мягкую тень */&lt;br /&gt;
.abdul-module-card {&lt;br /&gt;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-module-card:hover {&lt;br /&gt;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.9), inset 0 0 15px rgba(255, 255, 255, 0.03);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Flex-контейнер: текст и картинка стоят ровно друг напротив друга */&lt;br /&gt;
.abdul-module-flex-area {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: row;&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    gap: 15px;&lt;br /&gt;
    flex-grow: 1;&lt;br /&gt;
    margin-bottom: 20px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. Блок текста */&lt;br /&gt;
.abdul-module-text {&lt;br /&gt;
    flex: 1; /* Текст занимает всё свободное место */&lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 1.05em; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
    text-align: left; &lt;br /&gt;
    text-shadow: 1px 1px 3px #000, 0 0 10px #000, 0 0 20px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. Блок картинки */&lt;br /&gt;
.abdul-module-img {&lt;br /&gt;
    flex-shrink: 0;&lt;br /&gt;
    width: 160px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 5. Сама картинка */&lt;br /&gt;
.abdul-module-img img {&lt;br /&gt;
    width: 100% !important;&lt;br /&gt;
    height: 200px !important; &lt;br /&gt;
    object-fit: contain !important; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    box-shadow: 0 2px 10px rgba(0,0,0,0.7);&lt;br /&gt;
    border: 1px solid #444;&lt;br /&gt;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important; /* Включаем плавность */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* АНИМАЦИЯ ПРИ НАВЕДЕНИИ ИСКЛЮЧИТЕЛЬНО НА КАРТИНКУ */&lt;br /&gt;
.abdul-module-img a:hover img {&lt;br /&gt;
    transform: scale(1.07) !important; /* Увеличивается на 7% */&lt;br /&gt;
    box-shadow: 0 5px 20px rgba(255, 82, 82, 0.6) !important; /* Красное свечение */&lt;br /&gt;
    border-color: #ff5252 !important; /* Рамка становится красной */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   9. МОДУЛЬ: ДОСКА РОЗЫСКА (WANTED PAGES)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
#abdul-wanted-pages-module { &lt;br /&gt;
    margin: 20px 0; &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Шапка модуля: теперь по центру и симметричная */&lt;br /&gt;
.abdul-wanted-header { &lt;br /&gt;
    background: rgba(30, 10, 10, 0.95); &lt;br /&gt;
    border-top: 4px solid #b71c1c; /* Верхняя полоса для симметрии с другими модулями */&lt;br /&gt;
    padding: 20px; &lt;br /&gt;
    margin-bottom: 20px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);&lt;br /&gt;
    text-align: center; /* ЦЕНТРИРУЕМ ВЕСЬ ТЕКСТ */&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-title { &lt;br /&gt;
    color: #ff5252; &lt;br /&gt;
    font-size: 26px; /* Сделали чуть крупнее */&lt;br /&gt;
    font-weight: bold; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    text-shadow: 0 0 10px rgba(255, 82, 82, 0.5); &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-desc { &lt;br /&gt;
    color: #ccc; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    margin-top: 8px; &lt;br /&gt;
    line-height: 1.4; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сетка карточек: ЖЕСТКО 5 КОЛОНОК В ОДИН РЯД */&lt;br /&gt;
.abdul-wanted-grid { &lt;br /&gt;
    display: grid; &lt;br /&gt;
    grid-template-columns: repeat(5, 1fr); &lt;br /&gt;
    gap: 15px; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сама карточка розыска */&lt;br /&gt;
.abdul-wanted-card {&lt;br /&gt;
    background: #111; &lt;br /&gt;
    border: 1px solid #333; &lt;br /&gt;
    border-radius: 6px; &lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    transition: 0.3s;&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8);&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover { &lt;br /&gt;
    border-color: #b71c1c; &lt;br /&gt;
    transform: translateY(-4px); &lt;br /&gt;
    box-shadow: 0 8px 25px rgba(183, 28, 28, 0.6); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фотка с багровым фильтром и надписью */&lt;br /&gt;
.abdul-wanted-img {&lt;br /&gt;
    height: 140px; &lt;br /&gt;
    background-color: #050505;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;);&lt;br /&gt;
    background-size: cover; &lt;br /&gt;
    background-position: center top;&lt;br /&gt;
    position: relative;&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.6) sepia(1) hue-rotate(315deg) saturate(3); &lt;br /&gt;
    border-bottom: 2px solid #b71c1c;&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    justify-content: center;&lt;br /&gt;
    transition: filter 0.3s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-card:hover .abdul-wanted-img {&lt;br /&gt;
    filter: grayscale(100%) contrast(1.5) brightness(0.8) sepia(1) hue-rotate(315deg) saturate(5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Штамп WANTED */&lt;br /&gt;
.abdul-wanted-img span {&lt;br /&gt;
    background: rgba(150, 0, 0, 0.9); &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    font-size: 24px; &lt;br /&gt;
    padding: 5px 15px; &lt;br /&gt;
    border: 2px solid #ff5252; &lt;br /&gt;
    transform: rotate(-10deg);&lt;br /&gt;
    letter-spacing: 2px; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(0,0,0,0.9); &lt;br /&gt;
    text-shadow: 2px 2px 0px #000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок с текстом под фоткой */&lt;br /&gt;
.abdul-wanted-info { &lt;br /&gt;
    padding: 15px; &lt;br /&gt;
    display: flex; &lt;br /&gt;
    flex-direction: column; &lt;br /&gt;
    flex-grow: 1; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    text-align: center; &lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-name { &lt;br /&gt;
    color: #fff; &lt;br /&gt;
    font-size: 16px; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif; &lt;br /&gt;
    margin-bottom: 8px; &lt;br /&gt;
    word-break: break-word; &lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-mentions { color: #888; font-size: 12px; margin-bottom: 15px; font-style: italic; }&lt;br /&gt;
&lt;br /&gt;
/* Кнопка создания */&lt;br /&gt;
.abdul-wanted-btn {&lt;br /&gt;
    background: linear-gradient(90deg, #4a0000, #b71c1c); &lt;br /&gt;
    color: #fff !important; &lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important; &lt;br /&gt;
    padding: 10px 15px; &lt;br /&gt;
    border-radius: 4px; &lt;br /&gt;
    width: 100%; &lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    border: 1px solid #ff5252; &lt;br /&gt;
    transition: 0.2s; &lt;br /&gt;
    font-size: 14px; &lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    margin-top: auto;&lt;br /&gt;
}&lt;br /&gt;
.abdul-wanted-btn:hover { &lt;br /&gt;
    background: linear-gradient(90deg, #b71c1c, #ff5252); &lt;br /&gt;
    text-shadow: 0 0 5px #fff; &lt;br /&gt;
    box-shadow: 0 0 15px rgba(255,82,82,0.5); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Адаптивность: на телефонах сетка схлопнется в столбик, чтобы не было мелко */&lt;br /&gt;
@media (max-width: 1000px) {&lt;br /&gt;
    .abdul-wanted-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   СТИЛИ ДЛЯ КЛИКАБЕЛЬНОЙ СТАТИСТИКИ (ИДЕАЛЬНЫЙ КОМПАКТ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Бронебойно убиваем фиолетовые (посещенные) и синие ссылки движка */&lt;br /&gt;
.news-hover-row a { text-decoration: none !important; }&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-card {&lt;br /&gt;
    display: flex; &lt;br /&gt;
    align-items: center; &lt;br /&gt;
    margin-bottom: 4px; /* Ужали отступы между строками */&lt;br /&gt;
    padding: 4px 8px;   /* Ужали высоту самих карточек в 2 раза! */&lt;br /&gt;
    background: transparent; &lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    transition: all 0.2s ease; &lt;br /&gt;
    border-left: 2px solid transparent; /* Подготовка для стильного ховера */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Элитный ховер: лёгкий градиент и золотая полоска слева вместо коробки */&lt;br /&gt;
a:hover .abdul-stat-card {&lt;br /&gt;
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.1) 0%, transparent 100%);&lt;br /&gt;
    border-left: 2px solid #ffd700;&lt;br /&gt;
    transform: translateX(3px); /* Минимальный, аккуратный сдвиг */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-stat-icon {&lt;br /&gt;
    font-size: 20px; /* Уменьшили иконки */&lt;br /&gt;
    margin-right: 12px; &lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    filter: drop-shadow(0 0 5px rgba(255,255,255,0.1));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет цифр, защищаем от фиолетового бага браузера */&lt;br /&gt;
.abdul-counter {&lt;br /&gt;
    font-size: 20px !important; /* Компактные цифры */&lt;br /&gt;
    font-weight: bold !important; &lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1 !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif !important; &lt;br /&gt;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.5) !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin-bottom: 2px;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Жёстко фиксируем цвет подписей */&lt;br /&gt;
.abdul-stat-label {&lt;br /&gt;
    color: #aaaaaa !important; &lt;br /&gt;
    font-size: 10px !important; /* Ужали текст */&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    letter-spacing: 1px !important; &lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    line-height: 1;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* При наведении текст загорается ярче */&lt;br /&gt;
a:hover .abdul-counter { text-shadow: 0 0 15px #ffd700 !important; }&lt;br /&gt;
a:hover .abdul-stat-label { color: #ffffff !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   ПРЕДОХРАНИТЕЛЬ ОТ ПУСТЫХ СТРОК ДЛЯ СТАТИСТИКИ&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
.abdul-stats-container p { margin: 0 !important; padding: 0 !important; }&lt;br /&gt;
.abdul-stats-container br { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* Убираем лишний margin-bottom у карточки, так как мы используем gap */&lt;br /&gt;
.abdul-stat-card { margin-bottom: 0 !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   КИБЕР-КНОПКИ (ВЕРСИЯ 2: МИНИМАЛИЗМ С ТЕНЯМИ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Сама панель кнопки: тонкая, с индивидуальными картинками И ТЕНЬЮ */&lt;br /&gt;
.abdul-cyber-btn {&lt;br /&gt;
    position: relative;&lt;br /&gt;
    display: block;&lt;br /&gt;
    height: 75px; &lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    overflow: hidden;&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    transition: 0.3s ease;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    background: #050505;&lt;br /&gt;
    /* МАГИЯ: Небольшая тень в режиме покоя, чтобы кнопка &amp;quot;парила&amp;quot; */&lt;br /&gt;
    box-shadow: 0 4px 10px rgba(0,0,0,0.8); &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ФОНОВАЯ КАРТИНКА КНОПКИ (Бронебойный центр) */&lt;br /&gt;
.cyber-bg-wrapper {&lt;br /&gt;
    position: absolute; inset: 0; width: 100%; height: 100%;&lt;br /&gt;
    z-index: 1; filter: blur(2px) brightness(0.6) grayscale(30%); transition: all 0.4s ease; pointer-events: none;&lt;br /&gt;
    display: flex !important; align-items: center !important; justify-content: center !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper a, .cyber-bg-wrapper a.image {&lt;br /&gt;
    display: flex !important; width: 100% !important; height: 100% !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important;&lt;br /&gt;
}&lt;br /&gt;
.cyber-bg-wrapper img {&lt;br /&gt;
    width: 100% !important; height: 100% !important; &lt;br /&gt;
    object-fit: cover !important; &lt;br /&gt;
    object-position: 50% 50% !important; /* Ровно по центру */&lt;br /&gt;
    margin: 0 auto !important; display: block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ЦВЕТНАЯ ЗАТЕМНЯЮЩАЯ ПЛЁНКА КНОПКИ */&lt;br /&gt;
.abdul-cyber-btn::before {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 2; transition: background 0.3s ease; pointer-events: none;&lt;br /&gt;
}&lt;br /&gt;
.theme-red::before { background: rgba(40, 5, 5, 0.85); }&lt;br /&gt;
.theme-gold::before { background: rgba(40, 30, 0, 0.85); }&lt;br /&gt;
.theme-blue::before { background: rgba(5, 15, 40, 0.85); }&lt;br /&gt;
.theme-blood::before { background: rgba(30, 0, 0, 0.85); }&lt;br /&gt;
.theme-purple::before { background: rgba(25, 0, 40, 0.85); }&lt;br /&gt;
&lt;br /&gt;
/* ИДЕАЛЬНАЯ КИБЕР-СЕТКА (Прозрачная и элитная) */&lt;br /&gt;
.abdul-cyber-btn::after {&lt;br /&gt;
    content: &amp;quot;&amp;quot;; position: absolute; inset: 0; z-index: 3; pointer-events: none; transition: 0.4s ease;&lt;br /&gt;
    background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);&lt;br /&gt;
    background-size: 4px 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ТЕКСТ (Слой 4) */&lt;br /&gt;
.cyber-content {&lt;br /&gt;
    position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; padding: 5px; transition: 0.3s; pointer-events: none; background: transparent !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cyber-text {&lt;br /&gt;
    color: #ddd; font-family: &#039;ZektonBd&#039;, sans-serif; font-size: 13px; text-transform: uppercase; text-align: center; letter-spacing: 1px; transition: 0.3s; text-shadow: 0 0 8px #000; line-height: 1.2;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* МАГИЯ ССЫЛОК (Натянутая прозрачная плёнка для клика) */&lt;br /&gt;
.cyber-link-layer { position: absolute; inset: 0; z-index: 10; pointer-events: auto; }&lt;br /&gt;
.cyber-link-layer a { display: block; width: 100%; height: 100%; text-decoration: none !important; }&lt;br /&gt;
.cyber-link-stretch { display: block; width: 100%; height: 100%; }&lt;br /&gt;
&lt;br /&gt;
/* =========================================&lt;br /&gt;
   АНИМАЦИИ ПРИ НАВЕДЕНИИ&lt;br /&gt;
   ========================================= */&lt;br /&gt;
.abdul-cyber-btn:hover .cyber-bg-wrapper { filter: blur(0px) brightness(1) grayscale(0%); transform: scale(1.1); }&lt;br /&gt;
.abdul-cyber-btn:hover::before { background: rgba(0,0,0,0.3) !important; }&lt;br /&gt;
.abdul-cyber-btn:hover::after { opacity: 0; } /* Сетка исчезает */&lt;br /&gt;
&lt;br /&gt;
/* НЕОНОВЫЕ ТЕМЫ (Заменяем тень на свечение) */&lt;br /&gt;
.theme-red:hover { border-color: #ff5252; box-shadow: 0 0 25px rgba(255,82,82,0.8); }&lt;br /&gt;
.theme-red:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff5252, 0 0 20px #ff5252; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-gold:hover { border-color: #ffd700; box-shadow: 0 0 25px rgba(255,215,0,0.8); }&lt;br /&gt;
.theme-gold:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ffd700, 0 0 20px #ffd700; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blue:hover { border-color: #42a5f5; box-shadow: 0 0 25px rgba(66,165,245,0.8); }&lt;br /&gt;
.theme-blue:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #42a5f5, 0 0 20px #42a5f5; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-blood:hover { border-color: #b71c1c; box-shadow: 0 0 25px rgba(183,28,28,0.9); }&lt;br /&gt;
.theme-blood:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ff0000, 0 0 20px #b71c1c; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
.theme-purple:hover { border-color: #ba68c8; box-shadow: 0 0 25px rgba(186,104,200,0.8); }&lt;br /&gt;
.theme-purple:hover .cyber-text { color: #fff; text-shadow: 0 0 10px #ba68c8, 0 0 20px #ba68c8; transform: scale(1.05); }&lt;br /&gt;
&lt;br /&gt;
/* Убираем стили для старого контейнера, так как мы его удалили из HTML */&lt;br /&gt;
.abdul-buttons-container { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   НОВОСТНОЙ БЛОК И ПРИВЕТСТВИЕ (ЕДИНЫЙ СТИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
/* Строка одной новости */&lt;br /&gt;
.abdul-news-item {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    padding: 12px 20px;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);&lt;br /&gt;
    align-items: flex-start;&lt;br /&gt;
    transition: background 0.2s ease;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:last-child {&lt;br /&gt;
    border-bottom: none; /* Убираем лишнюю полоску у последней новости */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-item:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.05); /* Легкая золотая подсветка при наведении */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок даты */&lt;br /&gt;
.abdul-news-date {&lt;br /&gt;
    flex: 0 0 110px; /* Ширина колонки дат */&lt;br /&gt;
    color: #fbc02d;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    line-height: 1.3;&lt;br /&gt;
    padding-right: 15px;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Блок текста новости */&lt;br /&gt;
.abdul-news-text {&lt;br /&gt;
    flex: 1;&lt;br /&gt;
    color: #cecece;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    line-height: 1.4;&lt;br /&gt;
    border-left: 1px solid rgba(255, 255, 255, 0.1);&lt;br /&gt;
    padding-left: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Делаем ссылки внутри новостей красивыми */&lt;br /&gt;
.abdul-news-text a {&lt;br /&gt;
    color: #fff !important;&lt;br /&gt;
    font-family: &#039;ZektonBd&#039;, sans-serif;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-text a:hover {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    text-shadow: 0 0 8px rgba(251, 192, 45, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Подвал новостника (Кнопка &amp;quot;Весь список&amp;quot;) */&lt;br /&gt;
.abdul-news-footer {&lt;br /&gt;
    padding: 15px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    background: rgba(0, 0, 0, 0.3);&lt;br /&gt;
    border-top: 1px solid rgba(255, 215, 0, 0.1);&lt;br /&gt;
    margin-top: auto; /* Прибиваем к низу */&lt;br /&gt;
    transition: 0.2s;&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer:hover {&lt;br /&gt;
    background: rgba(251, 192, 45, 0.15); /* Вспыхивает золотом при наведении */&lt;br /&gt;
}&lt;br /&gt;
.abdul-news-footer a {&lt;br /&gt;
    color: #fbc02d !important;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-shadow: 0 0 5px rgba(251, 192, 45, 0.5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - СТИЛИ КОММЕНТАРИЕВ (АБСОЛЮТНЫЙ ФИНАЛ)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
/* 1. Глобальный шрифт (Возвращаем родной сайтовый Zekton) */&lt;br /&gt;
.cs-comments, .cs-comments * { &lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Zekton&#039;, &#039;Roboto&#039;, sans-serif !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. КОНТЕЙНЕРЫ (Фон, тень и лечение выпадающего меню) */&lt;br /&gt;
.cs-comment, .cs-reply, .cs-head-comment {&lt;br /&gt;
    background-color: rgba(10, 10, 10, 0.95) !important;&lt;br /&gt;
    border: 1px solid #444 !important;&lt;br /&gt;
    border-left: 4px solid #cc0000 !important;&lt;br /&gt;
    margin-bottom: 25px !important;&lt;br /&gt;
    padding: 15px !important;&lt;br /&gt;
    box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.95) !important; /* Глубокая тень */&lt;br /&gt;
    /* КРИТИЧНО: отключаем relative/z-index, чтобы меню не пряталось под другие комменты */&lt;br /&gt;
    position: static !important; &lt;br /&gt;
    z-index: auto !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment:hover, .cs-reply:hover {&lt;br /&gt;
    border-color: #ffcc00 !important;&lt;br /&gt;
    border-left: 4px solid #ffcc00 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 3. ШАПКА (Убиваем белые фоны скина Timeless) */&lt;br /&gt;
.cs-comment-header, .cs-reply-header {&lt;br /&gt;
    background: transparent !important; /* Сносим белый фон */&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    display: flex !important;&lt;br /&gt;
    align-items: center !important;&lt;br /&gt;
    border-bottom: 1px solid rgba(204, 0, 0, 0.4) !important;&lt;br /&gt;
    padding-bottom: 10px !important;&lt;br /&gt;
    margin-bottom: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 4. АВАТАР АБДУЛОВА (С анимацией) */&lt;br /&gt;
.cs-comment-header::before, .cs-reply-header::before {&lt;br /&gt;
    content: &#039;&#039; !important;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    width: 40px !important;&lt;br /&gt;
    height: 40px !important;&lt;br /&gt;
    min-width: 40px !important;&lt;br /&gt;
    background-image: url(&#039;/Special:FilePath/Ava-abdulov-face.jpg&#039;) !important;&lt;br /&gt;
    background-size: cover !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    border: 2px solid #8b0000 !important;&lt;br /&gt;
    border-radius: 50% !important;&lt;br /&gt;
    margin-right: 15px !important;&lt;br /&gt;
    box-shadow: 0 0 10px rgba(255, 0, 0, 0.5) !important;&lt;br /&gt;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-header:hover::before, .cs-reply-header:hover::before {&lt;br /&gt;
    transform: scale(1.15) rotate(-5deg) !important;&lt;br /&gt;
    box-shadow: 0 0 20px rgba(255, 51, 51, 0.9) !important;&lt;br /&gt;
    border-color: #ff3333 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-avatar, .cs-comment-header-left { display: none !important; }&lt;br /&gt;
&lt;br /&gt;
/* 5. ТЕКСТЫ И ЧИТАЕМОСТЬ */&lt;br /&gt;
/* ВРЕМЯ И &amp;quot;НАСРАЛ&amp;quot; - единый тусклый цвет */&lt;br /&gt;
.cs-comment-header-center {&lt;br /&gt;
    color: #aaaaaa !important; /* Серый цвет для всей строки */&lt;br /&gt;
    font-size: 0.95em !important;&lt;br /&gt;
    font-weight: normal !important;&lt;br /&gt;
    text-shadow: 1px 1px 2px #000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Если старый .time-text остался — убиваем его отличия */&lt;br /&gt;
.cs-comment-header-center .time-text {&lt;br /&gt;
    color: inherit !important;&lt;br /&gt;
    font-size: inherit !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-author a, .cs-reply-author a, .cs-comment-header-center a {&lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    font-weight: 900 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-body, .cs-reply-body {&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    line-height: 1.5 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comment-title {&lt;br /&gt;
    color: #ff3333 !important;&lt;br /&gt;
    font-weight: bold !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    margin-bottom: 5px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 6. ФИКС МЕНЮ И ТРЕХ ТОЧЕК */&lt;br /&gt;
/* Убиваем черный квадрат под тремя точками */&lt;br /&gt;
.cs-comment-actions .oo-ui-buttonElement-button {&lt;br /&gt;
    background: transparent !important;&lt;br /&gt;
    background-color: transparent !important;&lt;br /&gt;
    border: none !important;&lt;br /&gt;
    box-shadow: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Меню жестко поверх всего сайта */&lt;br /&gt;
.oo-ui-popupWidget {&lt;br /&gt;
    z-index: 999999 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuSelectWidget {&lt;br /&gt;
    background-color: #111111 !important;&lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.9) !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Фикс текста и иконок внутри выпадающего меню */&lt;br /&gt;
.oo-ui-menuOptionWidget {&lt;br /&gt;
    color: #eeeeee !important;&lt;br /&gt;
    padding: 10px !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Отодвигаем именно текст, чтобы корзина не наезжала на буквы */&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-labelElement-label {&lt;br /&gt;
    margin-left: 28px !important; &lt;br /&gt;
    display: inline-block !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget .oo-ui-iconElement-icon {&lt;br /&gt;
    left: 10px !important; &lt;br /&gt;
    filter: invert(1) !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.oo-ui-menuOptionWidget.oo-ui-optionWidget-highlighted,&lt;br /&gt;
.oo-ui-menuOptionWidget:hover {&lt;br /&gt;
    background-color: #cc0000 !important;&lt;br /&gt;
    color: #ffffff !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Сами золотые три точки */&lt;br /&gt;
span.oo-ui-icon-ellipsis {&lt;br /&gt;
    background-image: url(&#039;data:image/svg+xml;utf8,&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; viewBox=&amp;quot;0 0 20 20&amp;quot;&amp;gt;&amp;lt;path fill=&amp;quot;%23ffcc00&amp;quot; d=&amp;quot;M4 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm6 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z&amp;quot;/&amp;gt;&amp;lt;/svg&amp;gt;&#039;) !important;&lt;br /&gt;
    background-size: 20px !important;&lt;br /&gt;
    background-position: center !important;&lt;br /&gt;
    background-repeat: no-repeat !important;&lt;br /&gt;
    opacity: 0.8 !important;&lt;br /&gt;
    filter: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 7. КНОПКИ И ПОЛЯ ВВОДА */&lt;br /&gt;
.cs-button, .cs-add-comment-button {&lt;br /&gt;
    background-color: #1a0000 !important; &lt;br /&gt;
    color: #ffcc00 !important; &lt;br /&gt;
    border: 1px solid #cc0000 !important;&lt;br /&gt;
    text-transform: uppercase !important;&lt;br /&gt;
    padding: 8px 16px !important;&lt;br /&gt;
    box-shadow: 3px 3px 0px #000 !important; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.cs-comments input[type=&amp;quot;text&amp;quot;], .cs-comments textarea {&lt;br /&gt;
    background-color: #0a0a0a !important;&lt;br /&gt;
    color: #ffffff !important; &lt;br /&gt;
    border: 1px solid #550000 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО РЕГИСТРАЦИИ (БРОНЕБОЙНЫЙ ПАРСЕР)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // 1. Создаем HTML модального окна, если его еще нет&lt;br /&gt;
    if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
        var modalHtml = &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; title=&amp;quot;Закрыть&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
        $(&#039;body&#039;).append(modalHtml);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. ЖЕЛЕЗОБЕТОННЫЙ ПЕРЕХВАТ (Ищем любые ссылки на регу и вход)&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#pt-createaccount a, #pt-login a, .abdul-create-btn, a[href*=&amp;quot;CreateAccount&amp;quot;], a[href*=&amp;quot;Создать_учётную_запись&amp;quot;]&#039;, function(e) {&lt;br /&gt;
        var url = $(this).attr(&#039;href&#039;);&lt;br /&gt;
        if (!url) return; // Если ссылки нет, игнорим&lt;br /&gt;
&lt;br /&gt;
        e.preventDefault(); // Блокируем переход&lt;br /&gt;
        e.stopPropagation(); // Отрубаем родные скрипты MediaWiki, чтоб не лезли&lt;br /&gt;
&lt;br /&gt;
        // Показываем окно&lt;br /&gt;
        $(&#039;#abdul-auth-modal&#039;).fadeIn(200).css(&#039;display&#039;, &#039;flex&#039;);&lt;br /&gt;
        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;); &lt;br /&gt;
        &lt;br /&gt;
        // Запускаем спиннер загрузки&lt;br /&gt;
        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;display:flex; flex-direction:column; justify-content:center; align-items:center; height:200px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size:16px; text-transform:uppercase; text-align:center;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;width:40px; height:40px; border:3px solid transparent; border-top:3px solid #b71c1c; border-radius:50%; animation:spin 1s linear infinite; margin-bottom:15px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;ИДЁТ СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&amp;lt;style&amp;gt;@keyframes spin { 100% { transform: rotate(360deg); } }&amp;lt;/style&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
        // 3. Выкачиваем страницу агрессивным методом&lt;br /&gt;
        $.ajax({&lt;br /&gt;
            url: url,&lt;br /&gt;
            type: &#039;GET&#039;,&lt;br /&gt;
            success: function(data) {&lt;br /&gt;
                var $parsed = $(data);&lt;br /&gt;
                // Ищем саму форму регистрации&lt;br /&gt;
                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
                var title = $parsed.find(&#039;#firstHeading&#039;).text();&lt;br /&gt;
&lt;br /&gt;
                if ($formContent.length) {&lt;br /&gt;
                    // Вставляем контент!&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2&amp;gt;&#039; + title + &#039;&amp;lt;/h2&amp;gt;&#039; + $formContent.html());&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Если форма не нашлась&lt;br /&gt;
                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 30px; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;Не удалось вырезать форму. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-weight:bold; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            error: function() {&lt;br /&gt;
                // Если сервер заблокировал AJAX-запрос&lt;br /&gt;
                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding: 40px; font-family:\&#039;Roboto\&#039;, sans-serif; color: #ff5252; font-size: 16px;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;ОШИБКА ДОСТУПА&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Сервер блокирует фоновую загрузку форм.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; text-decoration:none; border-bottom:1px dashed #ffea00; font-size:18px;&amp;quot;&amp;gt;ОТКРЫТЬ СТРАНИЦУ РЕГИСТРАЦИИ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // 4. Закрытие модального окна&lt;br /&gt;
    $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, #abdul-auth-modal&#039;, function(e) {&lt;br /&gt;
        if (e.target === this) { &lt;br /&gt;
            $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
            $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;); &lt;br /&gt;
            setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Оформление базы доработок и плашки реформации&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
/* 1. Плашка вверху проблемной статьи */&lt;br /&gt;
.abdul-auto-reform-alert {&lt;br /&gt;
    background: linear-gradient(135deg, #18110b 0%, #0d0c10 100%);&lt;br /&gt;
    border: 2px solid #ff9100;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 16px 20px;&lt;br /&gt;
    margin: 0 0 25px 0;&lt;br /&gt;
    box-shadow: 0 6px 20px rgba(255, 145, 0, 0.25);&lt;br /&gt;
    font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif;&lt;br /&gt;
    color: #eee;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-topline {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    justify-content: space-between;&lt;br /&gt;
    align-items: center;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 10px;&lt;br /&gt;
    border-bottom: 1px solid rgba(255, 145, 0, 0.3);&lt;br /&gt;
    padding-bottom: 10px;&lt;br /&gt;
    margin-bottom: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-title {&lt;br /&gt;
    font-size: 1.15em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: #ff9100;&lt;br /&gt;
    letter-spacing: 1px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pills-wrap {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    gap: 6px;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-pill {&lt;br /&gt;
    background: rgba(255, 145, 0, 0.15);&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ffd54f;&lt;br /&gt;
    font-size: 0.75em;&lt;br /&gt;
    padding: 3px 8px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-desc {&lt;br /&gt;
    font-size: 0.9em;&lt;br /&gt;
    color: #ccc;&lt;br /&gt;
    line-height: 1.5;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list {&lt;br /&gt;
    margin: 8px 0 12px 20px;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
    color: #ddd;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-list li {&lt;br /&gt;
    margin-bottom: 4px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-actions {&lt;br /&gt;
    margin-top: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn {&lt;br /&gt;
    display: inline-block;&lt;br /&gt;
    background: #ff9100;&lt;br /&gt;
    color: #000 !important;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    padding: 7px 16px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: background 0.2s, box-shadow 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn:hover {&lt;br /&gt;
    background: #ffa726;&lt;br /&gt;
    box-shadow: 0 0 12px rgba(255, 167, 38, 0.6);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 2. Сетка карточек в модуле на главной */&lt;br /&gt;
.abdul-reform-board-header {&lt;br /&gt;
    background: #14141c;&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    border-radius: 8px;&lt;br /&gt;
    padding: 16px 20px;&lt;br /&gt;
    margin-bottom: 15px;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-title {&lt;br /&gt;
    font-size: 1.3em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    color: #ff9100;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
    letter-spacing: 1.5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-desc {&lt;br /&gt;
    color: #aaa;&lt;br /&gt;
    font-size: 0.85em;&lt;br /&gt;
    margin-top: 5px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-grid {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));&lt;br /&gt;
    gap: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-card {&lt;br /&gt;
    background: #12121a;&lt;br /&gt;
    border: 1px solid #333;&lt;br /&gt;
    border-left: 3px solid #ff9100;&lt;br /&gt;
    border-radius: 6px;&lt;br /&gt;
    padding: 12px;&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-direction: column;&lt;br /&gt;
    justify-content: space-between;&lt;br /&gt;
    transition: transform 0.15s, border-color 0.15s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-board-card:hover {&lt;br /&gt;
    transform: translateY(-2px);&lt;br /&gt;
    border-color: #ff9100;&lt;br /&gt;
    box-shadow: 0 4px 15px rgba(255, 145, 0, 0.2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-tag {&lt;br /&gt;
    font-size: 0.7em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 2px 6px;&lt;br /&gt;
    border-radius: 3px;&lt;br /&gt;
    text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.badge-deadend {&lt;br /&gt;
    background: rgba(244, 67, 54, 0.2);&lt;br /&gt;
    border: 1px solid #f44336;&lt;br /&gt;
    color: #ef5350;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.badge-reform {&lt;br /&gt;
    background: rgba(255, 145, 0, 0.2);&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ffb74d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-name {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    font-size: 0.95em;&lt;br /&gt;
    color: #fff !important;&lt;br /&gt;
    display: block;&lt;br /&gt;
    margin: 8px 0 4px 0;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-name:hover {&lt;br /&gt;
    color: #ff9100 !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-card-status {&lt;br /&gt;
    font-size: 0.8em;&lt;br /&gt;
    color: #777;&lt;br /&gt;
    margin-bottom: 12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn-sm {&lt;br /&gt;
    display: block;&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    background: #222;&lt;br /&gt;
    border: 1px solid #ff9100;&lt;br /&gt;
    color: #ff9100 !important;&lt;br /&gt;
    font-size: 0.8em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    padding: 6px;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    text-decoration: none !important;&lt;br /&gt;
    transition: background 0.2s;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.abdul-reform-btn-sm:hover {&lt;br /&gt;
    background: #ff9100;&lt;br /&gt;
    color: #000 !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4851</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4851"/>
		<updated>2026-10-20T19:19:53Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Чистый слайдер (уничтожает любые дублирующие клики через cloneNode)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. ИНИЦИАЛИЗАЦИЯ ШАПОК С ГАРАНТИЕЙ РОВНО ОДНОГО ОБРАБОТЧИКА&lt;br /&gt;
    function bindAbdulSmoothBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-smooth-box&#039;).addBack(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            if ($box.data(&#039;abdul-clean-init&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-clean-init&#039;, true);&lt;br /&gt;
            $box.data(&#039;slider-init&#039;, true); // Блокирует старый скрипт, если он не был удален&lt;br /&gt;
&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            // Первичное скрытие&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if ($header.length) {&lt;br /&gt;
                // Клонирование элемента начисто стирает ВСЕ сторонние обработчики кликов&lt;br /&gt;
                var oldHeader = $header[0];&lt;br /&gt;
                var newHeader = oldHeader.cloneNode(true);&lt;br /&gt;
                oldHeader.parentNode.replaceChild(newHeader, oldHeader);&lt;br /&gt;
&lt;br /&gt;
                $(newHeader).css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                    if ($(e.target).closest(&#039;a&#039;).length) return;&lt;br /&gt;
&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                    $content.stop(true, false).slideToggle(250);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. СОРТИРОВКА ССЫЛОК И ДОГРУЗКА ИЗ КАТЕГОРИИ&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. АВТОМАТИЧЕСКАЯ ПОДГРУЗКА БЛОКОВ ПО КАТЕГОРИЯМ&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        bindAbdulSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Запуск на контенте страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        bindAbdulSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   ШТАБ РЕФОРМАЦИИ: &lt;br /&gt;
   1. Автоматическая плашка реформации в статьях с дефектами (нет ссылок/медиа/битые)&lt;br /&gt;
   2. Интерактивный модуль базы доработок на страницах (#abdul-reform-pages-module)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // ЧАСТЬ 1: АВТО-ПЛАШКА СВЕРХУ СТАТЬИ ПРИ ОБНАРУЖЕНИИ ДЕФЕКТОВ&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function checkAndInjectReformBanner() {&lt;br /&gt;
        // Проверяем только обычные статьи в режиме чтения&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var $content = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        if (!$content.length) return;&lt;br /&gt;
&lt;br /&gt;
        // Если плашка реформации или ремейка уже вставлена вручную в коде — не дублируем&lt;br /&gt;
        if ($(&#039;.abdul-auto-reform-alert, .abdul-reform-box&#039;).length &amp;gt; 0 || &lt;br /&gt;
            $content.text().indexOf(&#039;СТАТЬЯ НУЖДАЕТСЯ В РЕФОРМАЦИИ&#039;) !== -1 ||&lt;br /&gt;
            $content.text().indexOf(&#039;ТРЕБУЕТСЯ РЕМЕЙК&#039;) !== -1) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var defects = [];&lt;br /&gt;
&lt;br /&gt;
        // 1. Проверка на наличие медиафайлов (картинки, галереи, видеоплееры)&lt;br /&gt;
        var $media = $content.find(&#039;img:not(.abdul-ignore-media), iframe, video, audio, .abdul-gallery, .gallerybox, .thumbimage&#039;);&lt;br /&gt;
        if ($media.length === 0) {&lt;br /&gt;
            defects.push({&lt;br /&gt;
                type: &#039;no-media&#039;,&lt;br /&gt;
                title: &#039;Отсутствуют медиаматериалы&#039;,&lt;br /&gt;
                desc: &#039;В коде статьи нет ни одного изображения, пруфа или видеоплеера.&#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Проверка на внутренние ссылки (без учета служебных и внешних)&lt;br /&gt;
        var $internalLinks = $content.find(&#039;a[href^=&amp;quot;/&amp;quot;]:not(.external):not([href*=&amp;quot;action=&amp;quot;]):not([href*=&amp;quot;redlink=&amp;quot;]):not([href^=&amp;quot;#&amp;quot;])&#039;);&lt;br /&gt;
        if ($internalLinks.length === 0) {&lt;br /&gt;
            defects.push({&lt;br /&gt;
                type: &#039;dead-end&#039;,&lt;br /&gt;
                title: &#039;Тупиковая статья&#039;,&lt;br /&gt;
                desc: &#039;В тексте полностью отсутствует перелинковка на другие страницы базы.&#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Проверка на битые (красные) ссылки&lt;br /&gt;
        var $brokenLinks = $content.find(&#039;a.new&#039;);&lt;br /&gt;
        if ($brokenLinks.length &amp;gt;= 2) {&lt;br /&gt;
            defects.push({&lt;br /&gt;
                type: &#039;broken-links&#039;,&lt;br /&gt;
                title: &#039;Неработающие ссылки (&#039; + $brokenLinks.length + &#039; шт.)&#039;,&lt;br /&gt;
                desc: &#039;Обнаружены красные ссылки на ещё не созданные или удалённые материалы.&#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Проверка на критически малый объем текста&lt;br /&gt;
        var plainText = $content.text().replace(/\s+/g, &#039; &#039;).trim();&lt;br /&gt;
        if (plainText.length &amp;lt; 250) {&lt;br /&gt;
            defects.push({&lt;br /&gt;
                type: &#039;stub&#039;,&lt;br /&gt;
                title: &#039;Критически малый объем&#039;,&lt;br /&gt;
                desc: &#039;Статья представляет собой заготовку менее 250 символов.&#039;&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Если дефекты обнаружены — вывешиваем аккуратную каноничную плашку&lt;br /&gt;
        if (defects.length &amp;gt; 0) {&lt;br /&gt;
            var editUrl = mw.util.getUrl(mw.config.get(&#039;wgPageName&#039;), { action: &#039;edit&#039; });&lt;br /&gt;
            &lt;br /&gt;
            var defectBadges = defects.map(function(d) {&lt;br /&gt;
                return &#039;&amp;lt;span class=&amp;quot;abdul-reform-pill&amp;quot;&amp;gt;&#039; + d.title + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
            }).join(&#039; &#039;);&lt;br /&gt;
&lt;br /&gt;
            var defectList = defects.map(function(d) {&lt;br /&gt;
                return &#039;&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;&#039; + d.title + &#039;:&amp;lt;/b&amp;gt; &#039; + d.desc + &#039;&amp;lt;/li&amp;gt;&#039;;&lt;br /&gt;
            }).join(&#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
            var bannerHtml = &lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-auto-reform-alert&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-topline&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-title&amp;quot;&amp;gt;⚠ СТАТЬЯ НУЖДАЕТСЯ В РЕФОРМАЦИИ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-pills-wrap&amp;quot;&amp;gt;&#039; + defectBadges + &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-desc&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;Автоматическая система контроля выявила несоответствие стандартам Центра. Статья требует оперативного вмешательства адептов:&#039; +&lt;br /&gt;
                        &#039;&amp;lt;ul class=&amp;quot;abdul-reform-list&amp;quot;&amp;gt;&#039; + defectList + &#039;&amp;lt;/ul&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-actions&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn&amp;quot;&amp;gt;✏ ВНЕСТИ ПРАВКИ И ДОРАБОТАТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            $content.prepend(bannerHtml);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    // ЧАСТЬ 2: ДАШБОРД БАЗЫ ДОРАБОТОК НА ГЛАВНОЙ СТРАНИЦЕ&lt;br /&gt;
    // -------------------------------------------------------------&lt;br /&gt;
    function initReformModule() {&lt;br /&gt;
        var $container = $(&#039;#abdul-reform-pages-module&#039;);&lt;br /&gt;
        if (!$container.length) return;&lt;br /&gt;
&lt;br /&gt;
        // Запрашиваем тупиковые страницы (без ссылок) и страницы из категории «Дорабатываемое»&lt;br /&gt;
        $.when(&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Deadendpages&#039;,&lt;br /&gt;
                qplimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }),&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;categorymembers&#039;,&lt;br /&gt;
                cmtitle: &#039;Категория:Дорабатываемое&#039;,&lt;br /&gt;
                cmnamespace: 0,&lt;br /&gt;
                cmlimit: 10,&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            })&lt;br /&gt;
        ).done(function(deadendRes, catRes) {&lt;br /&gt;
            var deadendData = deadendRes[0];&lt;br /&gt;
            var catData = catRes[0];&lt;br /&gt;
&lt;br /&gt;
            var reformMap = {};&lt;br /&gt;
&lt;br /&gt;
            // Парсим тупиковые статьи&lt;br /&gt;
            if (deadendData &amp;amp;&amp;amp; deadendData.query &amp;amp;&amp;amp; deadendData.query.querypage &amp;amp;&amp;amp; deadendData.query.querypage.results) {&lt;br /&gt;
                $.each(deadendData.query.querypage.results, function(i, page) {&lt;br /&gt;
                    var title = page.title;&lt;br /&gt;
                    reformMap[title] = {&lt;br /&gt;
                        title: title,&lt;br /&gt;
                        reasons: [&#039;Тупиковая (нет ссылок)&#039;],&lt;br /&gt;
                        badgeClass: &#039;badge-deadend&#039;&lt;br /&gt;
                    };&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Парсим статьи, требующие реформации из категории&lt;br /&gt;
            if (catData &amp;amp;&amp;amp; catData.query &amp;amp;&amp;amp; catData.query.categorymembers) {&lt;br /&gt;
                $.each(catData.query.categorymembers, function(i, member) {&lt;br /&gt;
                    var title = member.title;&lt;br /&gt;
                    if (reformMap[title]) {&lt;br /&gt;
                        reformMap[title].reasons.push(&#039;В категории доработки&#039;);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        reformMap[title] = {&lt;br /&gt;
                            title: title,&lt;br /&gt;
                            reasons: [&#039;Нуждается в реформации&#039;],&lt;br /&gt;
                            badgeClass: &#039;badge-reform&#039;&lt;br /&gt;
                        };&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var entries = Object.keys(reformMap).map(function(k) { return reformMap[k]; });&lt;br /&gt;
&lt;br /&gt;
            if (entries.length &amp;gt; 0) {&lt;br /&gt;
                var html = &lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ РЕФОРМАЦИИ И ДОРАБОТКИ&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Список выявленных статей с дефектами: без ссылок, без медиаматериалов или требующих доработки по канону Центра.&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                $.each(entries.slice(0, 8), function(i, item) {&lt;br /&gt;
                    var readUrl = mw.util.getUrl(item.title);&lt;br /&gt;
                    var editUrl = mw.util.getUrl(item.title, { action: &#039;edit&#039; });&lt;br /&gt;
&lt;br /&gt;
                    html += &lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-head&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;span class=&amp;quot;abdul-tag &#039; + item.badgeClass + &#039;&amp;quot;&amp;gt;&#039; + item.reasons[0] + &#039;&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-body&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + readUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-card-name&amp;quot; title=&amp;quot;&#039; + item.title + &#039;&amp;quot;&amp;gt;&#039; + item.title + &#039;&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;div class=&amp;quot;abdul-reform-card-status&amp;quot;&amp;gt;Статус: &amp;lt;span style=&amp;quot;color:#ffb300;&amp;quot;&amp;gt;Требует реформ&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-card-footer&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                                &#039;&amp;lt;a href=&amp;quot;&#039; + editUrl + &#039;&amp;quot; class=&amp;quot;abdul-reform-btn-sm&amp;quot;&amp;gt;✏ ИСПРАВИТЬ&amp;lt;/a&amp;gt;&#039; +&lt;br /&gt;
                            &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                $container.html(html);&lt;br /&gt;
            } else {&lt;br /&gt;
                $container.html(&lt;br /&gt;
                    &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-header&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-title&amp;quot;&amp;gt;ШТАБ ДОРАБОТКИ: ВСЁ ЧИСТО&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-reform-board-desc&amp;quot;&amp;gt;Критических дефектов в базе не обнаружено. Все статьи перелинкованы и соответствуют канону!&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
                );&lt;br /&gt;
            }&lt;br /&gt;
        }).fail(function() {&lt;br /&gt;
            $container.html(&#039;&amp;lt;div style=&amp;quot;color:#ff5252; text-align:center; padding:15px;&amp;quot;&amp;gt;Ошибка при обращении к штабу реформации.&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Инициализация при загрузке содержимого&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function() {&lt;br /&gt;
        checkAndInjectReformBanner();&lt;br /&gt;
        initReformModule();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%94%D0%BE%D0%B1%D1%80%D0%BE_%D0%BF%D0%BE%D0%B6%D0%B0%D0%BB%D0%BE%D0%B2%D0%B0%D1%82%D1%8C_%D0%BD%D0%B0_%D0%A6%D0%B5%D0%BD%D1%82%D1%80_%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%BE%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B&amp;diff=4850</id>
		<title>Добро пожаловать на Центр Абдулокультуры</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%94%D0%BE%D0%B1%D1%80%D0%BE_%D0%BF%D0%BE%D0%B6%D0%B0%D0%BB%D0%BE%D0%B2%D0%B0%D1%82%D1%8C_%D0%BD%D0%B0_%D0%A6%D0%B5%D0%BD%D1%82%D1%80_%D0%90%D0%B1%D0%B4%D1%83%D0%BB%D0%BE%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B&amp;diff=4850"/>
		<updated>2026-10-20T19:19:06Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;abdul-main-title&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;Центр Абдулокультуры&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ЦитатаАбдуля}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:rgba(183,28,28,0.15); border:1px solid #b71c1c; border-left:5px solid #ffd700; padding:15px; margin-top:15px; margin-bottom:25px; border-radius:4px; display:flex; align-items:center; box-shadow:0 0 15px rgba(183,28,28,0.2); color:#ffcdd2; font-size:0.95em; line-height:1.4; box-sizing:border-box;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:2em; margin-right:15px; color:#ffd700;&amp;quot;&amp;gt;⚠️&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&#039;&#039;&#039;Внимание:&#039;&#039;&#039; На данный момент сайт преображается и может выглядеть не очень корректно. Пишите нам обо всех визуальных косяках, которые замечаете: @abdulovera_bot&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Приветствие и Новости}}&lt;br /&gt;
&lt;br /&gt;
{{Кнопки}}&lt;br /&gt;
&lt;br /&gt;
{{Шаблон:Последние_статьи}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-box abdul-dark-panel is-collapsed&amp;quot; style=&amp;quot;position:relative; overflow:hidden; background:rgba(0, 0, 0, 1);&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Фоновая картинка (Горизонтальная панорама с параллаксом) --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-parallax ghost-blend&amp;quot; style=&amp;quot;position:absolute; left:-5px; top:2px; z-index:0; opacity:0.35; pointer-events:none; will-change:transform;&amp;quot;&amp;gt;[[Файл:Healf2.jpg|1200px|link=|frameless]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;position:relative; z-index:1; text-shadow:0 0 6px rgba(255,255,255,0.6), 0 0 15px rgba(255,255,255,0.3);&amp;quot;&amp;gt;Навигация по категориям&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-content&amp;quot; style=&amp;quot;position:relative; z-index:1;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-grid&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Абдулокультура|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🎭&amp;lt;/span&amp;gt; Абдулокультура]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Абдулоистория|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;📜&amp;lt;/span&amp;gt; Абдулоистория]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Мерзость|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🤮&amp;lt;/span&amp;gt; Мерзость]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Абдулонаука|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🧬&amp;lt;/span&amp;gt; Абдулонаука]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Сониблядство|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🎮&amp;lt;/span&amp;gt; Сониблядство]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Автономии_адептов|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🛡️&amp;lt;/span&amp;gt; Автономии адептов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Грешники|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;👹&amp;lt;/span&amp;gt; Грешники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Абдулоосновы|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;📖&amp;lt;/span&amp;gt; Абдулоосновы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Абдулопредатели|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🐀&amp;lt;/span&amp;gt; Абдулопредатели]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Великие_грешники|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;👿&amp;lt;/span&amp;gt; Великие грешники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Юмор|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🤡&amp;lt;/span&amp;gt; Юмор]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Негативные_явления|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;⚠️&amp;lt;/span&amp;gt; Негативные явления]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Грехоболезни|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;☣️&amp;lt;/span&amp;gt; Грехоболезни]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Абдулопередачи|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;📺&amp;lt;/span&amp;gt; Абдулопередачи]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;cat-nav-item&amp;quot;&amp;gt;[[:Категория:Абдулоиконы|&amp;lt;span class=&amp;quot;cat-icon&amp;quot;&amp;gt;🖼️&amp;lt;/span&amp;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;text-align: right; font-weight: bold; margin-top: 20px; border-top: 1px solid #333; padding-top: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Служебная:Категории|&amp;lt;span style=&amp;quot;color:#ffd740;&amp;quot;&amp;gt;Все категории &amp;amp;gt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&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;
&lt;br /&gt;
{{#invoke:RandomArticle|main}}&lt;br /&gt;
&lt;br /&gt;
{{#widget:AbduDialogQuiz}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;abdul-reform-pages-module&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div style=&amp;quot;color: #ff9100; text-align: center; padding: 25px; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.1em; letter-spacing: 1px;&amp;quot;&amp;gt;&lt;br /&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 id=&amp;quot;abdul-wanted-pages-module&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div style=&amp;quot;color: #ff5252; text-align: center; padding: 20px; font-family: &#039;ZektonRg&#039;, sans-serif;&amp;quot;&amp;gt;&lt;br /&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;margin:30px 0; text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
[[Категория:Грешники|&amp;lt;span style=&amp;quot;display:inline-block; background:linear-gradient(to bottom, #b71c1c, #870000); padding:12px 50px; border-radius:30px; color:#ffd700; font-weight:bold; text-transform:uppercase; letter-spacing:1px; box-shadow:0 0 15px rgba(183,28,28,0.4); border:1px solid #ffd700; font-family:&#039;Zekton&#039;, &#039;ZektonBd&#039;;&amp;quot;&amp;gt;&amp;gt;&amp;gt; СПИСОК ВСЕХ ГРЕШНИКОВ &amp;lt;&amp;lt;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Грешники}}&lt;br /&gt;
&lt;br /&gt;
{{Ресурсы с описанием}}&lt;br /&gt;
&lt;br /&gt;
{{Навигация|База}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Абдулоосновы]]&lt;br /&gt;
[[Категория:Абдуловерование]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%98%D0%BF%D0%BE%D1%82%D0%B5%D1%87%D0%BD%D0%B8%D0%BA%D0%B8&amp;diff=4849</id>
		<title>Ипотечники</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%98%D0%BF%D0%BE%D1%82%D0%B5%D1%87%D0%BD%D0%B8%D0%BA%D0%B8&amp;diff=4849"/>
		<updated>2026-10-20T19:13:58Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
{{допилить}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Ипотечники&lt;br /&gt;
| изображение = Ipoteka-logo.jpg&lt;br /&gt;
| подпись     = А ТЫ УЖЕ ОФОРМИЛ ИПОТЕКУ?!&lt;br /&gt;
| поле1       = Тип&lt;br /&gt;
| значение1   = [[Абдулопредатели|Организованные предатели]] / Секта&lt;br /&gt;
| поле2       = Другие названия&lt;br /&gt;
| значение2   = Бритоголовые, закабалённые, петухи, лысотечники&lt;br /&gt;
| поле3       = Время появления&lt;br /&gt;
| значение3   = Первая половина [[2012 год]]а&lt;br /&gt;
| поле4       = Ключевые лица&lt;br /&gt;
| значение4   = [[WarLord|WarrordTV]], [[FIFITER]], [[PEREDOZZ]], позже [[Faust]], [[Анубис406]]&lt;br /&gt;
| поле5       = Статус&lt;br /&gt;
| значение5   = Ликвидированы / Регулярные рецидивы&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ипотечники&#039;&#039;&#039; &#039;&#039;(бритоголовые, закабалённые, петухи)&#039;&#039; — условное (ввиду отсутствия чёткой организованности) сообщество [[Абдулопредатели|абдулопредателей]], поставивших когда-то своими основными целями уничтожение репутации [[Адепт|адептов]] [[Абдуловерование|Абдуловерования]] и [[Пророк Абдуль|пророка Абдуля]] в частности, а также самого Абдуловерования как такового. Считаются одними из первых и наиболее организованных групп абдулопредателей. &#039;&#039;&#039;Не путать с [[Дольщики|Дольщиками]]!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
С течением времени за словом «ипотека» закрепилось и более общее определение — разновидность [[Абдулопредатели|абдулопредателей]], которые после ухода из Абдуловеры начали на неё каким-либо образом публично пиздеть, вредить действующим адептам или сотрудничать с грешниками. Стать ипотечником рискует как [[Дольщики|дольщик]], так и [[Профессиональная деформация адепта Абдуловерования|деформированный]] адепт.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#1a1a24; border:1px solid #691919; border-left:4px solid #b71c1c; border-radius:6px; padding:10px 15px; margin:10px 0 15px 0; display:flex; align-items:center; gap:15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; color:#ff8a80; font-size:0.95em;&amp;quot;&amp;gt;Вместо вступления…&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:0.85em; color:#bbb; margin-top:2px;&amp;quot;&amp;gt;[https://wiki.biboran.org/images/c/cb/Bochkov-Ipoteka.mp3 Аудиозапись Бочкова про ипотеку]&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;
[[Файл:Bald-nikolay.jpg|мини|180px|Личность, вокруг которой была выстроена идеология предателей и пидорасов. Бедняга…]]&lt;br /&gt;
История появления на свет такого недоразумения, как «ипотечники», вертится вокруг одного небезызвестного (в узких кругах) человека, который, условно говоря, был когда-то [[Адепт|адептом]] Абдуловерования и носил никнейм «[[Паркур|parkur23]]». Именно Паркур благодаря своему поведению и действиям стал катализатором образования подобной аномалии.&lt;br /&gt;
&lt;br /&gt;
Тот самый Паркур, как он сам себя иногда называл, «[[Дольщики|второй после Абдуля]]», был особой довольно-таки тонкой душевной организации и очень часто конфликтовал с другими [[Адепт|адептами]] (как раз-таки чаще всего за право называться «номером два после Абдуля»), а после того, как его ставили на место, обижался и демонстративно заявлял о своём уходе из [[Абдуловерование|Абдуловерования]], снимая при этом [[Абдулоаватар|абдулоаватар]] со всех своих аккаунтов в сети. Времена, когда происходили все эти события (первая половина [[2012 год]]а), были достаточно суровыми, и адепты старались всячески поддерживать статусность и престижность звания адепта, и, понятное дело, нашлись те, кто был очень недоволен поведением Паркура — начались первые претензии в его адрес.&lt;br /&gt;
&lt;br /&gt;
Бывший на то время адептом [[WarLord|WarrordTV]] начал выражать свою активную позицию по Паркуру, достаточно последовательно объясняя в серии своих видеороликов, почему Паркур неправ, ведёт себя как осёл и вообще позорит [[Абдуловерование|Абдуловерование]]. Однако всё это не произвело никакого впечатления на Паркура, и он ещё пару раз успел «уйти утром, а вернуться вечером» в Абдуловерование — началась массовая травля, к которой подключились и другие (на то время) адепты. Паркур, поняв, что от него просто так не отстанут, начал просить помощи у пророка Абдуля, который до последнего не желал вмешиваться в конфликтную ситуацию, понадеявшись, что она решится сама собой… В итоге вмешавшийся в конфликт пророк Абдуль встал на сторону Паркура, публично осудил адептов, совершавших на него травлю, а некоторых даже назвал предателями и формально отлучил от Абдуловерования.&lt;br /&gt;
&lt;br /&gt;
После такого поворота событий все те, кто устраивал кампании против Паркура &#039;&#039;(как минимум WarrordTV, [[FIFITER]], [[PEREDOZZ]])&#039;&#039;, оставили Абдуловерование и саны адептов, а вскоре и вовсе решили объединить усилия для того, чтобы отомстить Абдулю (за несправедливое, как они считали, решение) и окончательно затравить Паркура. Эти люди могли бы просто уйти с честью из Абдуловерования и по итогу, скорее всего, оказались бы правы в ситуации с нерадивым Паркуром, но…&lt;br /&gt;
&lt;br /&gt;
Видимо, затаив большую обиду на Абдуля, вышеприведённая троица решила организовать что-то вроде своей организации, которая займётся тем, что сначала полностью разрушит репутацию Абдуловерования, а затем и вовсе уничтожит его как организацию адептов. На середину 2012 года пришёлся пик их активности, который, однако, в целом не нанёс Абдуловерованию ощутимого ущерба.&lt;br /&gt;
&lt;br /&gt;
Также стоит упомянуть о достаточно комичной и занимательной истории о том, как вообще появился термин «ипотечники» в том смысле, который здесь описывается. Уже объединившись в организованную группу абдулопредателей, «вчерашние» адепты не придумали ничего лучше, чем попробовать сдеанонить пророка Абдуля… По итогу их потуг на поприще пробива Абдуля они (хуй пойми с чего) решили считать истинной личностью пророка некоего Николая Серпухова, молодого, лысого мужчину из Подмосковья, который как-то был связан с отделом ипотечного кредитования Сбербанка. С тех пор они начали задвигать молодым и неопытным адептам охуительные истории о том, что глава «секты абдулей» — лысый мошенник, который ворует паспортные данные и оформляет на них ипотечные кредиты. Однако по иронии судьбы, когда за несостоявшихся «мстителей» по-настоящему взялись адепты под предводительством [[Пророк Абдуль|Абдуля]], их же задумка обзывать адептов «ипотечниками» обернулась против них самих, и с тех пор это прозвище намертво к ним приклеилось. &lt;br /&gt;
&lt;br /&gt;
Примечательно, что спустя годы сам Паркур в 2018 году окончательно повторит путь своих бывших гонителей: предаст движение, попытается «официально закрыть» Абдуловеру и станет мешать оставшимся адептам, за что закономерно пополнит официальный реестр абдулопредателей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; color:#ffd700; margin:20px 0 10px 0; font-size:1.1em; text-align:center;&amp;quot;&amp;gt;Тот самый цикл роликов про Паркура (фактически то, с чего начинался конфликт)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:15px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=Kb5TEJuAAWg|текст=Серия №1}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=bjlaDH7yQZk|текст=Серия №2}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=iaE1oDLxvF4|текст=Серия №3}}&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;
Основное занятие ипотечников выражалось в том, что они пытались любыми способами поднасрать адептам и Абдулю. Гадили в комментариях под видеороликами, банили каналы, пытались деанонить действующих адептов (так ни разу и не пробив кого-нибудь хоть сколько-то достоверно).&lt;br /&gt;
&lt;br /&gt;
Но бывали и те, кто выводил свою деструктивную деятельность на другой уровень, который заключался в прямом противостоянии Абдуловерованию как организации путём генерации низкосортного трэш-контента и мэдскиллзов.&lt;br /&gt;
&lt;br /&gt;
А самым основным, с чем не желали мириться адепты, было то, что братия ипотечников целенаправленно представлялась адептам-новичкам опытными и правоверными адептами и после вводила их в заблуждение относительно основ и целей Абдуловерования.&lt;br /&gt;
&lt;br /&gt;
Ипотека (как организация) просуществовала недолго — чуть более года, однако оставила в народной памяти неизгладимый след как одна из самых первых организованных групп [[Абдулопредатели|абдулопредателей]], которая в перспективе могла бы представлять для всего сообщества адептов серьёзную опасность. К счастью, этого не случилось, а подобных аномалий и причин, к ним ведущих, в последующем в сообществах адептов старались не допускать настолько, насколько это возможно. На данный момент нет каких-либо предпосылок к образованию подобных «кружков», а последний представитель ипотеки первой волны был замечен ещё в 2016 году (впрочем, бывали и [[Альфа-Легион|некоторые схожие товарищи]], однако почва для их формирования была несколько другая).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; color:#ffd700; margin:20px 0 10px 0; font-size:1.1em; text-align:center;&amp;quot;&amp;gt;Примеры «творчества»&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:15px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=0TwjYfVX6EQ|текст=Опять-таки Николай, ипотека...}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=GtYg26kFjVI|текст=Masterpiece...}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=YX6zUxecxtA|текст=Пример мэдскиллза ипотечников}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=X4CDBdJaZ4E|текст=Агитка обиженок №1}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=8fwF21Ppshg|текст=Агитка обиженок №2}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=U9LHoGrxMBc|текст=Слишком тонко и локально, если честно. Не надеемся на ваше понимание.}}&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;
В 10 году (2018 г.) на волне радикальных перемен и пересмотра множества [[Абдулонаука|абдулонаучных]] понятий расширилось и определение ипотеки. Первым ипотечником новой формации можно считать ушедшего из [[Абдуловерование|Абдуловеры]] Фауста. Его поведение во многом напоминало «закабалённых». Несмотря на формальный выход из движения, [[Faust|Фауст]] продолжал попытки как-либо «влиять» на сообщество и, по-видимому, путём номинального отчисления от сообщества обеспечить себе иммунитет от соблюдения канонов и традиций Абдуловеры. Методы воздействия переходили от случая к случаю в публичный и непубличный вид, кроме того, в какой-то момент «ушедший» заявил, что списался ни с кем иным, как с [[Анубис406|Анубисом406]], и «понял, какой тот нормальный челик» (не прошло и месяца с того момента, как данный абдулопредатель организовал «стопсекту» — попытку собрать сторонников официального закрытия Абдуловерования в движуху против новых её формаций).&lt;br /&gt;
&lt;br /&gt;
На вышеописанном примере становится понятно, что состояние ипотечника — это далеко не пример из прошлого. [[Абдулопредатели|Абдулопредатели]] имеют схожесть в своих взглядах и действиях. Причём в большинстве случаев ипотечниками становятся бывшие дольщики. Все они невербально тянутся друг к другу, подобно корню сорняка к водоёму — месту паразитирования. Получают некое удовольствие от оскорбительных «рофлов» и иных форм открытого гажения адептам Абдуловеры.&lt;br /&gt;
&lt;br /&gt;
Выражение &#039;&#039;«уйти в ипотеку»&#039;&#039; ныне означает как раз-таки выход из сана адепта с последующими действиями против абдулосообществ.&lt;br /&gt;
&lt;br /&gt;
== Отличие ипотечника от дольщика ==&lt;br /&gt;
Несмотря на схожесть, имеются важные отличия, которые нельзя путать друг с другом:&lt;br /&gt;
* Уход в ипотеку можно считать результатом долгого бытия дольщиком без попыток вылечиться;&lt;br /&gt;
* Если [[Дольщики|дольщик]] всё ещё является [[Адепт|адептом]], ипотечник уже и сам адептом себя не считает;&lt;br /&gt;
* Когда у дольщика основная цель — власть в сообществе, то ипотечник желает ему вреда ради забавы или из ненависти к нему;&lt;br /&gt;
* Дольщик имеет шансы на реабилитацию, а «бритоголовый», тем более с бэкграундом гажения адептам — практически нет.&lt;br /&gt;
&lt;br /&gt;
== Итоги ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ipoteka.jpg|мини|300px|Друг человека!]]&lt;br /&gt;
&lt;br /&gt;
В целом, как уже и было упомянуто ранее, деятельность ипотеки первой формации не нанесла сообществу [[Абдуловерование|Абдуловерования]] серьёзного репутационного ущерба. Все основные зачинщики данного движения обиженок были сдеанонены, а к одному из них даже приходили в гости.&lt;br /&gt;
&lt;br /&gt;
Ипотека же в более широком понимании, хоть на данный момент и не представляет какой-либо угрозы Абдуловере, не выходит из поля зрения. Как и полностью исключить факт вырождения [[Адепт|адепта]] в ипотечника, увы, невозможно.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Грешники}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдуловерование]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Организованные грешники]]&lt;br /&gt;
[[Категория:Негативные явления]]&lt;br /&gt;
[[Категория:Дорабатываемое]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%98%D0%BF%D0%BE%D1%82%D0%B5%D1%87%D0%BD%D0%B8%D0%BA%D0%B8&amp;diff=4848</id>
		<title>Ипотечники</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%98%D0%BF%D0%BE%D1%82%D0%B5%D1%87%D0%BD%D0%B8%D0%BA%D0%B8&amp;diff=4848"/>
		<updated>2026-10-20T19:11:52Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
{{допилить}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Ипотечники&lt;br /&gt;
| изображение = Ipoteka.jpg&lt;br /&gt;
| подпись     = А ТЫ УЖЕ ОФОРМИЛ ИПОТЕКУ?!&lt;br /&gt;
| поле1       = Тип&lt;br /&gt;
| значение1   = [[Абдулопредатели|Организованные предатели]] / Секта&lt;br /&gt;
| поле2       = Другие названия&lt;br /&gt;
| значение2   = Бритоголовые, закабалённые, петухи, лысотечники&lt;br /&gt;
| поле3       = Время появления&lt;br /&gt;
| значение3   = Первая половина [[2012 год]]а&lt;br /&gt;
| поле4       = Ключевые лица&lt;br /&gt;
| значение4   = [[WarLord|WarrordTV]], [[FIFITER]], [[PEREDOZZ]], позже [[Faust]], [[Анубис406]]&lt;br /&gt;
| поле5       = Статус&lt;br /&gt;
| значение5   = Ликвидированы / Регулярные рецидивы&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
[[Файл:Ipoteka.jpg|мини|300px|Друг человека!]]&lt;br /&gt;
&#039;&#039;&#039;Ипотечники&#039;&#039;&#039; &#039;&#039;(бритоголовые, закабалённые, петухи)&#039;&#039; — условное (ввиду отсутствия чёткой организованности) сообщество [[Абдулопредатели|абдулопредателей]], поставивших когда-то своими основными целями уничтожение репутации [[Адепт|адептов]] [[Абдуловерование|Абдуловерования]] и [[Пророк Абдуль|пророка Абдуля]] в частности, а также самого Абдуловерования как такового. Считаются одними из первых и наиболее организованных групп абдулопредателей. &#039;&#039;&#039;Не путать с [[Дольщики|Дольщиками]]!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
С течением времени за словом «ипотека» закрепилось и более общее определение — разновидность [[Абдулопредатели|абдулопредателей]], которые после ухода из Абдуловеры начали на неё каким-либо образом публично пиздеть, вредить действующим адептам или сотрудничать с грешниками. Стать ипотечником рискует как [[Дольщики|дольщик]], так и [[Профессиональная деформация адепта Абдуловерования|деформированный]] адепт.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#1a1a24; border:1px solid #691919; border-left:4px solid #b71c1c; border-radius:6px; padding:10px 15px; margin:10px 0 15px 0; display:flex; align-items:center; gap:15px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; color:#ff8a80; font-size:0.95em;&amp;quot;&amp;gt;Вместо вступления…&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:0.85em; color:#bbb; margin-top:2px;&amp;quot;&amp;gt;[https://wiki.biboran.org/images/c/cb/Bochkov-Ipoteka.mp3 Аудиозапись Бочкова про ипотеку]&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;
[[Файл:Bald-nikolay.jpg|мини|180px|Личность, вокруг которой была выстроена идеология предателей и пидорасов. Бедняга…]]&lt;br /&gt;
История появления на свет такого недоразумения, как «ипотечники», вертится вокруг одного небезызвестного (в узких кругах) человека, который, условно говоря, был когда-то [[Адепт|адептом]] Абдуловерования и носил никнейм «[[Паркур|parkur23]]». Именно Паркур благодаря своему поведению и действиям стал катализатором образования подобной аномалии.&lt;br /&gt;
&lt;br /&gt;
Тот самый Паркур, как он сам себя иногда называл, «[[Дольщики|второй после Абдуля]]», был особой довольно-таки тонкой душевной организации и очень часто конфликтовал с другими [[Адепт|адептами]] (как раз-таки чаще всего за право называться «номером два после Абдуля»), а после того, как его ставили на место, обижался и демонстративно заявлял о своём уходе из [[Абдуловерование|Абдуловерования]], снимая при этом [[Абдулоаватар|абдулоаватар]] со всех своих аккаунтов в сети. Времена, когда происходили все эти события (первая половина [[2012 год]]а), были достаточно суровыми, и адепты старались всячески поддерживать статусность и престижность звания адепта, и, понятное дело, нашлись те, кто был очень недоволен поведением Паркура — начались первые претензии в его адрес.&lt;br /&gt;
&lt;br /&gt;
Бывший на то время адептом [[WarLord|WarrordTV]] начал выражать свою активную позицию по Паркуру, достаточно последовательно объясняя в серии своих видеороликов, почему Паркур неправ, ведёт себя как осёл и вообще позорит [[Абдуловерование|Абдуловерование]]. Однако всё это не произвело никакого впечатления на Паркура, и он ещё пару раз успел «уйти утром, а вернуться вечером» в Абдуловерование — началась массовая травля, к которой подключились и другие (на то время) адепты. Паркур, поняв, что от него просто так не отстанут, начал просить помощи у пророка Абдуля, который до последнего не желал вмешиваться в конфликтную ситуацию, понадеявшись, что она решится сама собой… В итоге вмешавшийся в конфликт пророк Абдуль встал на сторону Паркура, публично осудил адептов, совершавших на него травлю, а некоторых даже назвал предателями и формально отлучил от Абдуловерования.&lt;br /&gt;
&lt;br /&gt;
После такого поворота событий все те, кто устраивал кампании против Паркура &#039;&#039;(как минимум WarrordTV, [[FIFITER]], [[PEREDOZZ]])&#039;&#039;, оставили Абдуловерование и саны адептов, а вскоре и вовсе решили объединить усилия для того, чтобы отомстить Абдулю (за несправедливое, как они считали, решение) и окончательно затравить Паркура. Эти люди могли бы просто уйти с честью из Абдуловерования и по итогу, скорее всего, оказались бы правы в ситуации с нерадивым Паркуром, но…&lt;br /&gt;
&lt;br /&gt;
Видимо, затаив большую обиду на Абдуля, вышеприведённая троица решила организовать что-то вроде своей организации, которая займётся тем, что сначала полностью разрушит репутацию Абдуловерования, а затем и вовсе уничтожит его как организацию адептов. На середину 2012 года пришёлся пик их активности, который, однако, в целом не нанёс Абдуловерованию ощутимого ущерба.&lt;br /&gt;
&lt;br /&gt;
Также стоит упомянуть о достаточно комичной и занимательной истории о том, как вообще появился термин «ипотечники» в том смысле, который здесь описывается. Уже объединившись в организованную группу абдулопредателей, «вчерашние» адепты не придумали ничего лучше, чем попробовать сдеанонить пророка Абдуля… По итогу их потуг на поприще пробива Абдуля они (хуй пойми с чего) решили считать истинной личностью пророка некоего Николая Серпухова, молодого, лысого мужчину из Подмосковья, который как-то был связан с отделом ипотечного кредитования Сбербанка. С тех пор они начали задвигать молодым и неопытным адептам охуительные истории о том, что глава «секты абдулей» — лысый мошенник, который ворует паспортные данные и оформляет на них ипотечные кредиты. Однако по иронии судьбы, когда за несостоявшихся «мстителей» по-настоящему взялись адепты под предводительством [[Пророк Абдуль|Абдуля]], их же задумка обзывать адептов «ипотечниками» обернулась против них самих, и с тех пор это прозвище намертво к ним приклеилось. &lt;br /&gt;
&lt;br /&gt;
Примечательно, что спустя годы сам Паркур в 2018 году окончательно повторит путь своих бывших гонителей: предаст движение, попытается «официально закрыть» Абдуловеру и станет мешать оставшимся адептам, за что закономерно пополнит официальный реестр абдулопредателей.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; color:#ffd700; margin:20px 0 10px 0; font-size:1.1em; text-align:center;&amp;quot;&amp;gt;Тот самый цикл роликов про Паркура (фактически то, с чего начинался конфликт)&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:15px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=Kb5TEJuAAWg|текст=Серия №1}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=bjlaDH7yQZk|текст=Серия №2}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=iaE1oDLxvF4|текст=Серия №3}}&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;
Основное занятие ипотечников выражалось в том, что они пытались любыми способами поднасрать адептам и Абдулю. Гадили в комментариях под видеороликами, банили каналы, пытались деанонить действующих адептов (так ни разу и не пробив кого-нибудь хоть сколько-то достоверно).&lt;br /&gt;
&lt;br /&gt;
Но бывали и те, кто выводил свою деструктивную деятельность на другой уровень, который заключался в прямом противостоянии Абдуловерованию как организации путём генерации низкосортного трэш-контента и мэдскиллзов.&lt;br /&gt;
&lt;br /&gt;
А самым основным, с чем не желали мириться адепты, было то, что братия ипотечников целенаправленно представлялась адептам-новичкам опытными и правоверными адептами и после вводила их в заблуждение относительно основ и целей Абдуловерования.&lt;br /&gt;
&lt;br /&gt;
Ипотека (как организация) просуществовала недолго — чуть более года, однако оставила в народной памяти неизгладимый след как одна из самых первых организованных групп [[Абдулопредатели|абдулопредателей]], которая в перспективе могла бы представлять для всего сообщества адептов серьёзную опасность. К счастью, этого не случилось, а подобных аномалий и причин, к ним ведущих, в последующем в сообществах адептов старались не допускать настолько, насколько это возможно. На данный момент нет каких-либо предпосылок к образованию подобных «кружков», а последний представитель ипотеки первой волны был замечен ещё в 2016 году (впрочем, бывали и [[Альфа-Легион|некоторые схожие товарищи]], однако почва для их формирования была несколько другая).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; color:#ffd700; margin:20px 0 10px 0; font-size:1.1em; text-align:center;&amp;quot;&amp;gt;Примеры «творчества»&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:15px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=0TwjYfVX6EQ|текст=Опять-таки Николай, ипотека...}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=GtYg26kFjVI|текст=Masterpiece...}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=YX6zUxecxtA|текст=Пример мэдскиллза ипотечников}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=X4CDBdJaZ4E|текст=Агитка обиженок №1}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=8fwF21Ppshg|текст=Агитка обиженок №2}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#111; border:1px solid #333; border-radius:6px; padding:10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=U9LHoGrxMBc|текст=Слишком тонко и локально, если честно. Не надеемся на ваше понимание.}}&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;
В 10 году (2018 г.) на волне радикальных перемен и пересмотра множества [[Абдулонаука|абдулонаучных]] понятий расширилось и определение ипотеки. Первым ипотечником новой формации можно считать ушедшего из [[Абдуловерование|Абдуловеры]] Фауста. Его поведение во многом напоминало «закабалённых». Несмотря на формальный выход из движения, [[Faust|Фауст]] продолжал попытки как-либо «влиять» на сообщество и, по-видимому, путём номинального отчисления от сообщества обеспечить себе иммунитет от соблюдения канонов и традиций Абдуловеры. Методы воздействия переходили от случая к случаю в публичный и непубличный вид, кроме того, в какой-то момент «ушедший» заявил, что списался ни с кем иным, как с [[Анубис406|Анубисом406]], и «понял, какой тот нормальный челик» (не прошло и месяца с того момента, как данный абдулопредатель организовал «стопсекту» — попытку собрать сторонников официального закрытия Абдуловерования в движуху против новых её формаций).&lt;br /&gt;
&lt;br /&gt;
На вышеописанном примере становится понятно, что состояние ипотечника — это далеко не пример из прошлого. [[Абдулопредатели|Абдулопредатели]] имеют схожесть в своих взглядах и действиях. Причём в большинстве случаев ипотечниками становятся бывшие дольщики. Все они невербально тянутся друг к другу, подобно корню сорняка к водоёму — месту паразитирования. Получают некое удовольствие от оскорбительных «рофлов» и иных форм открытого гажения адептам Абдуловеры.&lt;br /&gt;
&lt;br /&gt;
Выражение &#039;&#039;«уйти в ипотеку»&#039;&#039; ныне означает как раз-таки выход из сана адепта с последующими действиями против абдулосообществ.&lt;br /&gt;
&lt;br /&gt;
== Отличие ипотечника от дольщика ==&lt;br /&gt;
Несмотря на схожесть, имеются важные отличия, которые нельзя путать друг с другом:&lt;br /&gt;
* Уход в ипотеку можно считать результатом долгого бытия дольщиком без попыток вылечиться;&lt;br /&gt;
* Если [[Дольщики|дольщик]] всё ещё является [[Адепт|адептом]], ипотечник уже и сам адептом себя не считает;&lt;br /&gt;
* Когда у дольщика основная цель — власть в сообществе, то ипотечник желает ему вреда ради забавы или из ненависти к нему;&lt;br /&gt;
* Дольщик имеет шансы на реабилитацию, а «бритоголовый», тем более с бэкграундом гажения адептам — практически нет.&lt;br /&gt;
&lt;br /&gt;
== Итоги ==&lt;br /&gt;
В целом, как уже и было упомянуто ранее, деятельность ипотеки первой формации не нанесла сообществу [[Абдуловерование|Абдуловерования]] серьёзного репутационного ущерба. Все основные зачинщики данного движения обиженок были сдеанонены, а к одному из них даже приходили в гости.&lt;br /&gt;
&lt;br /&gt;
Ипотека же в более широком понимании, хоть на данный момент и не представляет какой-либо угрозы Абдуловере, не выходит из поля зрения. Как и полностью исключить факт вырождения [[Адепт|адепта]] в ипотечника, увы, невозможно.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Грешники}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдуловерование]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Организованные грешники]]&lt;br /&gt;
[[Категория:Негативные явления]]&lt;br /&gt;
[[Категория:Дорабатываемое]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4847</id>
		<title>Волна ипотеки (терминология)</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4847"/>
		<updated>2026-10-20T19:03:24Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Волна ипотеки&lt;br /&gt;
| изображение = &lt;br /&gt;
| подпись     = &lt;br /&gt;
| поле1       = Тип&lt;br /&gt;
| значение1   = Деструктивное явление / [[Ипотечники|Ипотечный психоз]]&lt;br /&gt;
| поле2       = Другие названия&lt;br /&gt;
| значение2   = Петушатники, лысотека, детдомизация, альфаризация, бритоголовое братство&lt;br /&gt;
| поле3       = Ключевые главари&lt;br /&gt;
| значение3   = [[Павел Куценко]], [[Fifighter|Фифайтер]], [[Max Adept|Максимка Голицын]]&lt;br /&gt;
| поле4       = Статус&lt;br /&gt;
| значение4   = Приравнены к [[Грешники|полноценным грешникам]]&lt;br /&gt;
| поле5       = Периоды активности&lt;br /&gt;
| значение5   = [[2012 год|2012]]—[[2013 год|2013]], [[2015 год|2015]]—[[2017 год|2017]], [[2023 год|2023]]—[[2026 год|2026]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Волна ипотеки&#039;&#039;&#039; &#039;&#039;(петушатники, детдомизация, альфаризация, бритоголовое братство)&#039;&#039; — это процесс сбора [[Абдулопредатели|абдулопредателей]] и других врагов Абдулодвижения в единый костяк с целью любыми способами навредить сообществу или конкретным его участникам. Организованные [[Ипотечники|ипотечники]] не являются отделившейся от [[Абдуловерование|Абдуловеры]] фракцией, а приравнены к полноценным [[Грешники|грешникам]], так как их действия всегда направлены на причинение вреда или уничтожение религии ДОбра. &#039;&#039;&#039;Не путать с [[Раскол|абдулорасколом]]!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Понятие «волны ипотеки» ходило по абдуловским сообществам в разные годы и несло разный подтекст. Над ним в частности иронизировали [[Дольщики|дольщики]], которые часто балансировали на грани ухода в ипотеку, либо же сами махровые ипотекари вроде [[Павел Куценко|Паши Куценко]] или [[Faust|Фауста]]. Однако со временем данный термин стал использоваться и [[Абдулонаука|абдулоучёными]] со вполне очевидным определением и делением по хронологии.&lt;br /&gt;
&lt;br /&gt;
=== Характерные черты ипотечной волны ===&lt;br /&gt;
* Два или более членов петушатника (среди которых кто-то обязательно ранее имел отношение к самой движухе);&lt;br /&gt;
* Вредительские действия в отношении [[Адепт|адептов]];&lt;br /&gt;
* Сотрудничество и прямая помощь [[Грешники|грешникам]].&lt;br /&gt;
&lt;br /&gt;
==== Что НЕ является волной ипотеки ====&lt;br /&gt;
* Группы [[Дольщики|дольщиков]] и иные раскольники (условной «красной линией» в действиях таких групп считается слив личных данных другого участника);&lt;br /&gt;
* Подсосня грешников, в чьей группе отсутствуют бывшие адепты;&lt;br /&gt;
* Одиночные [[Абдулопредатели|абдулопредатели]].&lt;br /&gt;
&lt;br /&gt;
== Влияние на абдулокультуру ==&lt;br /&gt;
Появление волн ипотеки является сугубо негативным фактором в жизни любых [[Автономная церковь|автономных церквей]], подрывает мотивацию абдуловцев на совершение добра, заставляет абдулодвижение перенаправлять время и силы с лечения пациентов на подавление активных ренегатов. &lt;br /&gt;
&lt;br /&gt;
При этом в процессе уничтожения рассадников ипотеки отдельные адепты и абдуловцы также подвергаются нападениям с их стороны. В отличие от борьбы с рядовым грешником и его подсосами, ипотечные волны несут куда большую угрозу — ведь среди них обязательно затесались абдулопредатели, «знающие кухню изнутри».&lt;br /&gt;
&lt;br /&gt;
== Абдулоисторическая справка ==&lt;br /&gt;
&lt;br /&gt;
{{Хронология|Хронология волн ипотеки|&lt;br /&gt;
  {{Адепт|Лысотека|2012|2013}}&lt;br /&gt;
  {{Адепт|Вторая волна|2015|2017}}&lt;br /&gt;
  {{Адепт|Третья волна|2023|2026}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Лысотека|Первая волна ипотеки]] (2012—2013)&#039;&#039;&#039; — родоначальники жанра, пытавшиеся деанонимизировать [[Пророк Абдуль|Абдуля]]; распространяли везде фотку лысого мужика и данные некоего Коли Серпухова. Организовались после изгнания Пророком из Абдуловеры за травлю одного из других участников — [[Порыч|Порыча]]. Ближе к 2013 году мутировали в более хаотичную структуру, где рандомные лица могли пробивать вообще всех подряд в околодвижухе «ради развлечения».&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Альфа-Легион|Вторая волна ипотеки]] (2015—2017)&#039;&#039;&#039; — она же [[Альфа-Легион]] во главе с [[Павел Куценко|Пашкой Куценко]]. Систематически занимались деаноном адептов, кидали страйки на их каналы, активно сотрудничали с [[Фанаты намба ван]] и помогали [[Vanomas|Бомжу]] &amp;lt;s&amp;gt;писать заявы пьяные в ментовку&amp;lt;/s&amp;gt; привлечь абдуловцев к ответственности по статьям типа хулиганства.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[Детдом|Третья волна ипотеки]] (2023—2026)&#039;&#039;&#039; — она же [[Детдом]], организовал снова [[Павел Куценко|Паша Куценко]] и новоявленные ипотекари [[DieStasi|Максимка Голицын]] с [[Алекс|Алексом]]. Занимались также пробивами адептов, но ушли дальше в полный криминал — сначала делали сватинги на слитые адреса, а потом и вовсе собирали деньги на организацию нападений и поджогов через даркнеты.&lt;br /&gt;
Отдельно можно выделить период &#039;&#039;&#039;2018—2019&#039;&#039;&#039; годов и действия ушедшего в ипотеку Фауста с его &amp;quot;[[Стопсекта|Стопсектой]]&amp;quot;. Некоторые абдулоучёные могут выделять это как отдельную волну ипотеки, но, по нынешнему толкованию, группа Димы Пинского таковой не являлась. Как это называл сам Фауст, &amp;quot;седьмая волна ипотеки на выгодных условиях&amp;quot; состояла из нескольких ушедших из движения абдулопредателей, но занимались &amp;quot;апостолы постабдуловеры&amp;quot; исключительно публичным хуесосингом вернувшегося Абдуля и поддерживавших его адептов. Единственным отличием от обыкновенных абдулопредателей было то, что Пинский самолично являлся ипотекарем и нормально общался с Анубисом, при этом не был замечен в сотрудничестве с ним или нанесением какого-либо физического вреда адептам.&lt;br /&gt;
&lt;br /&gt;
== Итог ==&lt;br /&gt;
Волны ипотеки — одно из главных вредных явлений в Абдулорелигии, которая подчёркивает печальный факт, что нелюдей в наших абдулонетах предостаточно. Добрая половина адептов уходили из движения именно в периоды активности таких вот петушатников.&lt;br /&gt;
&lt;br /&gt;
Никакая волна ипотеки не продолжается бесконечно. Они либо рассасываются после слива и причинения добра отдельным петухам, либо просто пропадают бесследно в пучинах интернетов. В отличие от абдулосообществ, в риторике ипотечных петушатников отсутствует любая позитивная повестка, и строится всё это исключительно на ненависти, личных обидах и желании причинять вред.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Негативные явления}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Негативные явления]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4846</id>
		<title>Волна ипотеки (терминология)</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4846"/>
		<updated>2026-10-20T18:58:37Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Волна ипотеки&lt;br /&gt;
| изображение = &lt;br /&gt;
| подпись     = &lt;br /&gt;
| поле1       = Тип&lt;br /&gt;
| значение1   = Деструктивное явление / [[Ипотечники|Ипотечный психоз]]&lt;br /&gt;
| поле2       = Другие названия&lt;br /&gt;
| значение2   = Петушатники, лысотека, детдомизация, альфаризация, бритоголовое братство&lt;br /&gt;
| поле3       = Ключевые главари&lt;br /&gt;
| значение3   = [[Павел Куценко]], [[Fifighter|Фифайтер]], [[Max Adept|Максимка Голицын]]&lt;br /&gt;
| поле4       = Статус&lt;br /&gt;
| значение4   = Приравнены к [[Грешники|полноценным грешникам]]&lt;br /&gt;
| поле5       = Периоды активности&lt;br /&gt;
| значение5   = [[2012 год|2012]]—[[2013 год|2013]], [[2015 год|2015]]—[[2017 год|2017]], [[2023 год|2023]]—[[2026 год|2026]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Волна ипотеки&#039;&#039;&#039; &#039;&#039;(петушатники, детдомизация, альфаризация, бритоголовое братство)&#039;&#039; — это процесс сбора [[Абдулопредатели|абдулопредателей]] и других врагов Абдулодвижения в единый костяк с целью любыми способами навредить сообществу или конкретным его участникам. Организованные [[Ипотечники|ипотечники]] не являются отделившейся от [[Абдуловерование|Абдуловеры]] фракцией, а приравнены к полноценным [[Грешники|грешникам]], так как их действия всегда направлены на причинение вреда или уничтожение религии ДОбра. &#039;&#039;&#039;Не путать с [[Раскол|абдулорасколом]]!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Понятие «волны ипотеки» ходило по абдуловским сообществам в разные годы и несло разный подтекст. Над ним в частности иронизировали [[Дольщики|дольщики]], которые часто балансировали на грани ухода в ипотеку, либо же сами махровые ипотекари вроде [[Павел Куценко|Паши Куценко]] или [[Faust|Фауста]]. Однако со временем данный термин стал использоваться и [[Абдулонаука|абдулоучёными]] со вполне очевидным определением и делением по хронологии.&lt;br /&gt;
&lt;br /&gt;
=== Характерные черты ипотечной волны ===&lt;br /&gt;
* Два или более членов петушатника (среди которых кто-то обязательно ранее имел отношение к самой движухе);&lt;br /&gt;
* Вредительские действия в отношении [[Адепт|адептов]];&lt;br /&gt;
* Сотрудничество и прямая помощь [[Грешники|грешникам]].&lt;br /&gt;
&lt;br /&gt;
==== Что НЕ является волной ипотеки ====&lt;br /&gt;
* Группы [[Дольщики|дольщиков]] и иные раскольники (условной «красной линией» в действиях таких групп считается слив личных данных другого участника);&lt;br /&gt;
* Подсосня грешников, в чьей группе отсутствуют бывшие адепты;&lt;br /&gt;
* Одиночные [[Абдулопредатели|абдулопредатели]].&lt;br /&gt;
&lt;br /&gt;
== Влияние на абдулокультуру ==&lt;br /&gt;
Появление волн ипотеки является сугубо негативным фактором в жизни любых [[Автономная церковь|автономных церквей]], подрывает мотивацию абдуловцев на совершение добра, заставляет абдулодвижение перенаправлять время и силы с лечения пациентов на подавление активных ренегатов. &lt;br /&gt;
&lt;br /&gt;
При этом в процессе уничтожения рассадников ипотеки отдельные адепты и абдуловцы также подвергаются нападениям с их стороны. В отличие от борьбы с рядовым грешником и его подсосами, ипотечные волны несут куда большую угрозу — ведь среди них обязательно затесались абдулопредатели, «знающие кухню изнутри».&lt;br /&gt;
&lt;br /&gt;
== Абдулоисторическая справка ==&lt;br /&gt;
&lt;br /&gt;
{{Хронология|Хронология волн ипотеки|&lt;br /&gt;
  {{Адепт|Лысотека|2012|2013}}&lt;br /&gt;
  {{Адепт|Вторая волна|2015|2017}}&lt;br /&gt;
  {{Адепт|Третья волна|2023|2026}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Первая волна ипотеки (2012—2013)&#039;&#039;&#039; — родоначальники жанра, пытавшиеся деанонимизировать [[Пророк Абдуль|Абдуля]]; распространяли везде фотку лысого мужика и данные некоего Коли Серпухова. Организовались после изгнания Пророком из Абдуловеры за травлю одного из других участников — [[Порыч|Порыча]]. Ближе к 2013 году мутировали в более хаотичную структуру, где рандомные лица могли пробивать вообще всех подряд в околодвижухе «ради развлечения».&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Вторая волна ипотеки (2015—2017)&#039;&#039;&#039; — она же [[Альфа-Легион]] во главе с [[Павел Куценко|Пашкой Куценко]]. Систематически занимались деаноном адептов, кидали страйки на их каналы, активно сотрудничали с [[Фанаты намба ван]] и помогали [[Vanomas|Бомжу]] &amp;lt;s&amp;gt;писать заявы пьяные в ментовку&amp;lt;/s&amp;gt; привлечь абдуловцев к ответственности по статьям типа хулиганства.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Третья волна ипотеки (2023—2026)&#039;&#039;&#039; — она же [[Детдом]], организовал снова [[Павел Куценко|Паша Куценко]] и новоявленные ипотекари [[DieStasi|Максимка Голицын]] с [[Алекс|Алексом]]. Занимались также пробивами адептов, но ушли дальше в полный криминал — сначала делали сватинги на слитые адреса, а потом и вовсе собирали деньги на организацию нападений и поджогов через даркнеты.&lt;br /&gt;
Отдельно можно выделить период &#039;&#039;&#039;2018—2019&#039;&#039;&#039; годов и действия ушедшего в ипотеку Фауста с его &amp;quot;[[Стопсекта|Стопсектой]]&amp;quot;. Некоторые абдулоучёные могут выделять это как отдельную волну ипотеки, но, по нынешнему толкованию, группа Димы Пинского таковой не являлась. Как это называл сам Фауст, &amp;quot;седьмая волна ипотеки на выгодных условиях&amp;quot; состояла из нескольких ушедших из движения абдулопредателей, но занимались &amp;quot;апостолы постабдуловеры&amp;quot; исключительно публичным хуесосингом вернувшегося Абдуля и поддерживавших его адептов. Единственным отличием от обыкновенных абдулопредателей было то, что Пинский самолично являлся ипотекарем и нормально общался с Анубисом, при этом не был замечен в сотрудничестве с ним или нанесением какого-либо физического вреда адептам.&lt;br /&gt;
&lt;br /&gt;
== Итог ==&lt;br /&gt;
Волны ипотеки — одно из главных вредных явлений в Абдулорелигии, которая подчёркивает печальный факт, что нелюдей в наших абдулонетах предостаточно. Добрая половина адептов уходили из движения именно в периоды активности таких вот петушатников.&lt;br /&gt;
&lt;br /&gt;
Никакая волна ипотеки не продолжается бесконечно. Они либо рассасываются после слива и причинения добра отдельным петухам, либо просто пропадают бесследно в пучинах интернетов. В отличие от абдулосообществ, в риторике ипотечных петушатников отсутствует любая позитивная повестка, и строится всё это исключительно на ненависти, личных обидах и желании причинять вред.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Негативные явления}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Негативные явления]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4845</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4845"/>
		<updated>2026-10-20T18:57:36Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Чистый слайдер (уничтожает любые дублирующие клики через cloneNode)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. ИНИЦИАЛИЗАЦИЯ ШАПОК С ГАРАНТИЕЙ РОВНО ОДНОГО ОБРАБОТЧИКА&lt;br /&gt;
    function bindAbdulSmoothBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-smooth-box&#039;).addBack(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            if ($box.data(&#039;abdul-clean-init&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-clean-init&#039;, true);&lt;br /&gt;
            $box.data(&#039;slider-init&#039;, true); // Блокирует старый скрипт, если он не был удален&lt;br /&gt;
&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            // Первичное скрытие&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if ($header.length) {&lt;br /&gt;
                // Клонирование элемента начисто стирает ВСЕ сторонние обработчики кликов&lt;br /&gt;
                var oldHeader = $header[0];&lt;br /&gt;
                var newHeader = oldHeader.cloneNode(true);&lt;br /&gt;
                oldHeader.parentNode.replaceChild(newHeader, oldHeader);&lt;br /&gt;
&lt;br /&gt;
                $(newHeader).css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                    if ($(e.target).closest(&#039;a&#039;).length) return;&lt;br /&gt;
&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                    $content.stop(true, false).slideToggle(250);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. СОРТИРОВКА ССЫЛОК И ДОГРУЗКА ИЗ КАТЕГОРИИ&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. АВТОМАТИЧЕСКАЯ ПОДГРУЗКА БЛОКОВ ПО КАТЕГОРИЯМ&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        bindAbdulSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Запуск на контенте страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        bindAbdulSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4844</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4844"/>
		<updated>2026-10-20T18:52:18Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Железобетонный перехват клика (Capture Phase — исключает двойные клики)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. ПЕРЕХВАТ НА ФАЗЕ CAPTURE: перехватывает событие раньше любых jQuery-обработчиков&lt;br /&gt;
    if (!window.abdulNavClickBound) {&lt;br /&gt;
        window.abdulNavClickBound = true;&lt;br /&gt;
&lt;br /&gt;
        window.addEventListener(&#039;click&#039;, function(e) {&lt;br /&gt;
            var header = e.target.closest(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            if (!header) return;&lt;br /&gt;
&lt;br /&gt;
            // Если кликнули по ссылке внутри шапки — даём перейти&lt;br /&gt;
            if (e.target.closest(&#039;a&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
            // Полностью глушим дальнейшее всплытие клика для любых других скриптов&lt;br /&gt;
            e.stopPropagation();&lt;br /&gt;
            e.stopImmediatePropagation();&lt;br /&gt;
            e.preventDefault();&lt;br /&gt;
&lt;br /&gt;
            var box = header.closest(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
            if (!box) return;&lt;br /&gt;
&lt;br /&gt;
            var $box = $(box);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            if ($content.is(&#039;:animated&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                $box.removeClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                $content.stop(true, false).slideDown(250);&lt;br /&gt;
            } else {&lt;br /&gt;
                $content.stop(true, false).slideUp(250, function() {&lt;br /&gt;
                    $box.addClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }, true); // true = фаза перехвата (Capture)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Скрытие содержимого свернутых блоков при первой отрисовке&lt;br /&gt;
    function hideInitialCollapsed($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        $root.find(&#039;.abdul-smooth-box.is-collapsed&#039;).each(function() {&lt;br /&gt;
            $(this).find(&#039;.abdul-smooth-content&#039;).hide();&lt;br /&gt;
        });&lt;br /&gt;
        if ($root.hasClass(&#039;abdul-smooth-box&#039;) &amp;amp;&amp;amp; $root.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $root.find(&#039;.abdul-smooth-content&#039;).hide();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. СОРТИРОВКА ССЫЛОК И ДОГРУЗКА ИЗ КАТЕГОРИИ&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. АВТОВСТАВКА ПОБОЧНЫХ БЛОКОВ ПО КАТЕГОРИЯМ СТАТЬИ&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        hideInitialCollapsed($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        hideInitialCollapsed($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4843</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4843"/>
		<updated>2026-10-20T18:49:02Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Надежное раскрытие (с защитой от двойных кликов и дерганий)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. НАДЕЖНАЯ ПРИВЯЗКА КЛИКА С ЗАЩИТОЙ ОТ ЗАЦИКЛИВАНИЯ&lt;br /&gt;
    function bindBoxToggles($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-smooth-box&#039;).addBack(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            // Скрываем контент при старте, если блок свернут&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Сносим абсолютно все старые клики с шапки и вешаем один чистый&lt;br /&gt;
            $header.css(&#039;cursor&#039;, &#039;pointer&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                // Игнорируем клик, если нажали на ссылку внутри заголовка&lt;br /&gt;
                if ($(e.target).closest(&#039;a&#039;).length) return;&lt;br /&gt;
&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                e.stopImmediatePropagation();&lt;br /&gt;
&lt;br /&gt;
                // Если блок уже анимируется в эту секунду — игнорируем спам-клики&lt;br /&gt;
                if ($content.is(&#039;:animated&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $box.removeClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                    $content.stop(true, true).slideDown(250);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $content.stop(true, true).slideUp(250, function() {&lt;br /&gt;
                        $box.addClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. СОРТИРОВКА ССЫЛОК И ДОГРУЗКА ИЗ КАТЕГОРИИ&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Проверка наличия блока&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. АВТОМАТИЧЕСКАЯ ВСТАВКА ПОБОЧНЫХ БЛОКОВ ПО КАТЕГОРИЯМ СТАТЬИ&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        bindBoxToggles($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Запуск при готовности DOM&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        bindBoxToggles($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4842</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4842"/>
		<updated>2026-10-20T18:46:46Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Надежное плавное раскрытие (делегирование на document — работает всегда)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и догрузка из API&lt;br /&gt;
   3. Автоподгрузка побочных блоков по категориям статьи (без дублирования)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function() {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    // 1. ЖЕЛЕЗОБЕТОННЫЙ КЛИК: ловит клик по шапке любого блока (даже если он добавлен динамически)&lt;br /&gt;
    $(document).off(&#039;click.abdulToggle&#039;).on(&#039;click.abdulToggle&#039;, &#039;.abdul-smooth-header&#039;, function(e) {&lt;br /&gt;
        if ($(e.target).closest(&#039;a&#039;).length) return;&lt;br /&gt;
&lt;br /&gt;
        var $header = $(this);&lt;br /&gt;
        var $box = $header.closest(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
        var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        $content.stop(true, false).slideToggle(250);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Скрытие свернутых блоков при первой загрузке&lt;br /&gt;
    function hideCollapsed($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        $root.find(&#039;.abdul-smooth-box.is-collapsed&#039;).each(function() {&lt;br /&gt;
            $(this).find(&#039;.abdul-smooth-content&#039;).hide();&lt;br /&gt;
        });&lt;br /&gt;
        if ($root.hasClass(&#039;abdul-smooth-box&#039;) &amp;amp;&amp;amp; $root.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $root.find(&#039;.abdul-smooth-content&#039;).hide();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ»)&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        var $root = $context ? $($context) : $(document);&lt;br /&gt;
        var $boxes = $root.find(&#039;.abdul-sub-box&#039;).addBack(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Проверка, есть ли уже блок на странице&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var target = catName.trim().toUpperCase();&lt;br /&gt;
        var exists = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $b = $(this);&lt;br /&gt;
            if ($b.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var hText = $.trim($b.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (hText.indexOf(target) !== -1) {&lt;br /&gt;
                exists = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return exists;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // 3. Автоподгрузка по категориям страницы&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        hideCollapsed($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Запуск при готовности содержимого страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        hideCollapsed($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%9F%D0%B5%D1%80%D0%B2%D0%B0%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8&amp;diff=4841</id>
		<title>Первая волна ипотеки</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%9F%D0%B5%D1%80%D0%B2%D0%B0%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8&amp;diff=4841"/>
		<updated>2026-10-20T18:45:20Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Первая волна ипотеки в Лысотека&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Лысотека]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%9B%D1%8B%D1%81%D0%BE%D1%82%D0%B5%D0%BA%D0%B0&amp;diff=4840</id>
		<title>Лысотека</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%9B%D1%8B%D1%81%D0%BE%D1%82%D0%B5%D0%BA%D0%B0&amp;diff=4840"/>
		<updated>2026-10-20T18:45:19Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Первая волна ипотеки в Лысотека&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Первая волна ипотеки&lt;br /&gt;
| поле1       = Другие названия&lt;br /&gt;
| значение1   = Лысотека, бунт Варлорда, смута 2012 года&lt;br /&gt;
| поле2       = Тип&lt;br /&gt;
| значение2   = [[Ипотечники|Ипотечный бунт]] / Предательство веры&lt;br /&gt;
| поле3       = Период&lt;br /&gt;
| значение3   = Конец [[2012 год|2012]] — начало [[2013 год]]а&lt;br /&gt;
| поле4       = Ключевые предатели&lt;br /&gt;
| значение4   = [[WarLord]], [[Архангел]], [[Kane]], [[Джихад]]&lt;br /&gt;
| поле5       = Жертвы травли&lt;br /&gt;
| значение5   = [[Паркур]], [[Солом]], [[AlanBrigada]]&lt;br /&gt;
| поле6       = Итог&lt;br /&gt;
| значение6   = Тотальный деанон предателей, уход Пророка из ЦАА&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая волна ипотеки&#039;&#039;&#039; (историческое название: &#039;&#039;«Лысотека»&#039;&#039;) — масштабный системный бунт [[Абдулопредатели|абдулопредателей]] в истории [[Абдуловерование|Абдуловерования]], разразившийся во второй половине [[2012 год]]а. Событие ознаменовалось предательством группы доверенных лиц, отказом от священной кары внешних [[Список грешников|грешников]], внутренней травлей верных [[Адепт|адептов]], попытками финансового саботажа и фабрикацией фейкового деанона [[Пророк Абдуль|Пророка Абдуля]]. &lt;br /&gt;
&lt;br /&gt;
Именно катастрофические последствия Первой волны и моральное разложение верхушки заговорщиков вынудили Пророка Абдуля записать фундаментальное разоблачительное обращение и покинуть [[Церковь Ада Абдулова]] первой формации.&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Как свидетельствовал Пророк Абдуль, корень катастрофы крылся в его чрезмерно гуманном отношении к новоприбывшим последователям. В отличие от коммерческих видеоблогеров и интернет-попрошаек, Абдуль не держал адептов за безликий скот или источник донатов: он списывался с каждым в личных сообщениях, выслушивал проблемы, помогал настраивать софт и относился ко всем как к родным братьям.&lt;br /&gt;
&lt;br /&gt;
Однако подобная открытость натолкнулась на специфический контингент, хлынувший в движение на раннем этапе:&lt;br /&gt;
* &#039;&#039;&#039;Социопатия:&#039;&#039;&#039; Значительная часть неофитов представляла собой озлобленных подростков и маргиналов с психологией «трудных [[Детдом|детдомовцев]]». Не имея базовых понятий о совести и преданности, они воспринимали доброту Пророка как слабость, а при любом удобном случае стремились воткнуть нож в спину соратникам.&lt;br /&gt;
* &#039;&#039;&#039;Раздувание ЧСВ:&#039;&#039;&#039; Факт прямого голосового общения с создателем культа моментально срывал планку у малолетних адептов. Возомнив себя «элитой» и равными Пророку, они переставали развиваться, начинали диктовать свои условия и плести интриги.&lt;br /&gt;
* &#039;&#039;&#039;Отказ от кары грешников:&#039;&#039;&#039; Когда первичный интерес к травле внешних врагов (вроде [[Ozon671games|Озона]]) угас, банда бездельников отказалась от тяжелой созидательной работы. Вместо распространения веры они предпочли пожирать собственных братьев, переключив карательный аппарат на беззащитных членов общины.&lt;br /&gt;
&lt;br /&gt;
== Травля Паркура ==&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=V6JKCSCMqS8|текст=Комментарий Пророка Абдуля о Первой волне ипотеки|ширина=350px|обтекание=right}}Фундаментом внутреннего порядка в Абдуловере тех лет служил негласный закон, сформулированный Пророком: &#039;&#039;«Пока с Паркуром всё нормально — с Абдуловерой всё нормально. Два гаранта: я и Паркур»&#039;&#039;. Адепт [[Паркур]] (Порыч) был искренним, трудолюбивым и абсолютно безобидным участником, беззаветно верившим в священный [[Биборан]]. Тем не менее, он так же был подвержен завышенному ЧСВ, правда за ним не стояло никакой силы кроме слова Пророка, на что агрились будущие ипотекари. &lt;br /&gt;
&lt;br /&gt;
Именно слабость Паркура сделала его главной мишенью для заговорщиков. Руководствуясь волчьей логикой «задушить слабого, чтобы поднять свой авторитет», шайка развернула против него травлю. Как отмечал Абдуль, это явление носило строго цикличный характер: уничтожив одного искреннего последователя, выродки неизбежно переключались на следующих.&lt;br /&gt;
&lt;br /&gt;
== Главные заговорщики ==&lt;br /&gt;
&lt;br /&gt;
=== Бунт Варлорда (WarRord) ===&lt;br /&gt;
Первым открытым зачинщиком бунта выступил [[Дольщики|дольщик]] [[WarLord]] (Вова). Собрав вокруг себя группу ведомых школьников (около 5–8 человек), он в течение пяти часов выдвигал Пророку претензии, добиваясь смещения фокуса с кары грешников на утверждение собственной диктатуры. &lt;br /&gt;
&lt;br /&gt;
После изгнания ссаными тряпками Варлорд лично признался Абдулю, что саботаж был спланирован им заранее: не умея создавать созидательный контент, он намеревался уничтожить движение изнутри ради развлечения. Уйдя в подполье, банда Варлорда начала совершать первые набеги на официальные ресурсы.&lt;br /&gt;
&lt;br /&gt;
=== Параноик Архангел и провокация с «Сабриной» ===&lt;br /&gt;
Вскоре в общине объявился субъект под псевдонимом [[Архангел]] — неуравновешенный подросток с маниакальной манией преследования. Архангел отличался патологической трусостью: подвергаясь регулярным насмешкам со стороны старших соратников (в конфах над ним издевались фразами  типо фру-фру или «ФрутоНяня», отчего он рыдал в подушку), он компенсировал унижения маниакальным шпионажем.&lt;br /&gt;
&lt;br /&gt;
Архангел при этом непрерывно собирал досье на каждого адепта: вычислял IP-адреса, сверял часовые пояса, сканировал прокси и запугивал участников ночными телефонными звонками. Ради окончательного уничтожения Паркура Архангел с сообщниками провернул изощренную фабрикацию: они наняли подставную девицу, завели её в голосовую конференцию под видом некой «Сабрины» и заставили публично обвинять Паркура в домогательствах. Введённый в заблуждение Абдуль первоначально поверил провокаторам и исключил Паркура, о чём впоследствии открыто сожалел. &lt;br /&gt;
&lt;br /&gt;
Окончательно обезумев, Архангел потратил свыше 100 долларов на телефонный автодозвон с угрозами родителям адепта Artifix&#039;а, а затем попытался атаковать самого Пророка.&lt;br /&gt;
&lt;br /&gt;
=== Двурушничество Кейна и Джихада ===&lt;br /&gt;
Адепты [[Kane]] и [[Джихад]] долгое время играли роль «центровых», выжидая исход противостояния. Обладая компроматом на соратников, они втайне вели аудиозаписи закрытых совещаний и сливали их изгнанному Варлорду. &lt;br /&gt;
&lt;br /&gt;
Когда предатели затеяли раздел казны, планируя похитить WebMoney Пророка и заявляя, что «Абдуловера проживёт без Абдуля», их подлость записал адепт [[Солом]]. Узнав об этом, Кейн и Архангел подвергли Солома жесточайшей травле, доведя его до глубокого нервного срыва.&lt;br /&gt;
[[Файл:The creator of abdulovera.jpg|мини|Та самая фотка &amp;quot;лысого&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== Рождение мифа о «Лысотеке» и «деаноне» Абдуля ==&lt;br /&gt;
Именно в недрах этой шайки родился исторический термин &#039;&#039;&#039;«Лысотека»&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Пытаясь пошатнуть непререкаемый авторитет Пророка, Архангел наткнулся на старый телефонный номер, вывешенный в описании одного из каналов. На самом деле это была ловушка: Абдуль намеренно опубликовал там реальный телефон грешника [[Ozon671games|Озона]], дабы перенаправлять на него звонки пранкеров. Архангел, не поняв розыгрыша, в эйфории побежал по всем чатам с криками: &#039;&#039;«Я нашёл телефон Абдуля, он живёт рядом с Озоном!»&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Вскоре отступники сфабриковали фейковое «досье» на Пророка: взяв случайную фотографию лысого мужчины из баз данных и приписав ему имя некоего «Коли Серпухова», [[ипотечники]] начали массово спамить этой карточкой по социальным сетям. Этот абсурдный вброс стал визитной карточкой Первой волны, навсегда закрепив за отступниками презрительное клеймо «лысотечников».&lt;br /&gt;
&lt;br /&gt;
== Возмездие Пророка и разгром предателей ==&lt;br /&gt;
Надежды предателей на безнаказанность разбились о карательный гений основателя движения. Пророк, разработавший 100% всей теоретической базы, методик поиска и цифрового давления, применил свои инструменты против мятежников:&lt;br /&gt;
* Личности всех участников заговора были деанонимизированы до реальных паспортных данных и домашних адресов;&lt;br /&gt;
* Секретные чаты саботажников были вскрыты, а их контакты переданы для адресного телефонного возмездия;&lt;br /&gt;
* Попытка заговорщиков прикрыться дешёвыми лозунгами о «демократии» была жестко высмеяна: Абдуль напомнил, что предатели нарушили священную присягу и продали великую идею за копеечные игры в Steam.&lt;br /&gt;
&lt;br /&gt;
Осознав масштабы возмездия, Варлорд и его окружение в панике покинули интернет-пространство, а Архангел был пожизненно изолирован от любых абдулоресурсов.&lt;br /&gt;
&lt;br /&gt;
== Исторические последствия ==&lt;br /&gt;
Разгром Первой волны ипотеки достался движению дорогой ценой. Пророк констатировал, что три года его молодости, положенные на создание братства справедливости, были растоптаны неблагодарными подонками. Постоянные стрессы, ночные разборки и предательство людей, которых он считал братьями, непоправимо подорвали его физическое здоровье, нервы и голосовые связки.&lt;br /&gt;
&lt;br /&gt;
Не желая тратить жизненные силы на бесконечную войну с новыми поколениями малолетних дегенератов, Пророк Абдуль официально объявил о прекращении координации движения ЦАА. Перенаправив трафик на персональный канал для независимого творчества, он оставил отступников вариться в собственном котле, заложив исторический прецедент беспощадной борьбы с любой внутренней изменой.&lt;br /&gt;
&lt;br /&gt;
Позже, 25 ноября 2012 года мммщики слили данные Абдуля, после чего он перестал связывать себя с Абдуловерой на долгие годы вперёд. Разрозненные ипотекари продолжали наплыв своей &amp;quot;волны&amp;quot; в течении 2013 года, хотя особо уже ничего примечательного не делали. В реальный деанон пророка они не верили и просто дальше срали &amp;quot;лысым&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Абдулоистория}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Абдулоистория]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A2%D1%80%D0%B5%D1%82%D1%8C%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0&amp;diff=4839</id>
		<title>Третья волна</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A2%D1%80%D0%B5%D1%82%D1%8C%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0&amp;diff=4839"/>
		<updated>2026-10-20T18:44:38Z</updated>

		<summary type="html">&lt;p&gt;Adept: Перенаправление на Детдом&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Детдом]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%92%D1%82%D0%BE%D1%80%D0%B0%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0&amp;diff=4838</id>
		<title>Вторая волна</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%92%D1%82%D0%BE%D1%80%D0%B0%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0&amp;diff=4838"/>
		<updated>2026-10-20T18:44:05Z</updated>

		<summary type="html">&lt;p&gt;Adept: Перенаправление на Альфа-Легион&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Альфа-Легион]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%9F%D0%B5%D1%80%D0%B2%D0%B0%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0&amp;diff=4837</id>
		<title>Первая волна</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%9F%D0%B5%D1%80%D0%B2%D0%B0%D1%8F_%D0%B2%D0%BE%D0%BB%D0%BD%D0%B0&amp;diff=4837"/>
		<updated>2026-10-20T18:42:26Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Первая волна в Первая волна ипотеки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Первая волна ипотеки]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%9B%D1%8B%D1%81%D0%BE%D1%82%D0%B5%D0%BA%D0%B0&amp;diff=4836</id>
		<title>Лысотека</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%9B%D1%8B%D1%81%D0%BE%D1%82%D0%B5%D0%BA%D0%B0&amp;diff=4836"/>
		<updated>2026-10-20T18:42:25Z</updated>

		<summary type="html">&lt;p&gt;Adept: Adept переименовал страницу Первая волна в Первая волна ипотеки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Первая волна ипотеки&lt;br /&gt;
| поле1       = Другие названия&lt;br /&gt;
| значение1   = Лысотека, бунт Варлорда, смута 2012 года&lt;br /&gt;
| поле2       = Тип&lt;br /&gt;
| значение2   = [[Ипотечники|Ипотечный бунт]] / Предательство веры&lt;br /&gt;
| поле3       = Период&lt;br /&gt;
| значение3   = Конец [[2012 год|2012]] — начало [[2013 год]]а&lt;br /&gt;
| поле4       = Ключевые предатели&lt;br /&gt;
| значение4   = [[WarLord]], [[Архангел]], [[Kane]], [[Джихад]]&lt;br /&gt;
| поле5       = Жертвы травли&lt;br /&gt;
| значение5   = [[Паркур]], [[Солом]], [[AlanBrigada]]&lt;br /&gt;
| поле6       = Итог&lt;br /&gt;
| значение6   = Тотальный деанон предателей, уход Пророка из ЦАА&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая волна ипотеки&#039;&#039;&#039; (историческое название: &#039;&#039;«Лысотека»&#039;&#039;) — масштабный системный бунт [[Абдулопредатели|абдулопредателей]] в истории [[Абдуловерование|Абдуловерования]], разразившийся во второй половине [[2012 год]]а. Событие ознаменовалось предательством группы доверенных лиц, отказом от священной кары внешних [[Список грешников|грешников]], внутренней травлей верных [[Адепт|адептов]], попытками финансового саботажа и фабрикацией фейкового деанона [[Пророк Абдуль|Пророка Абдуля]]. &lt;br /&gt;
&lt;br /&gt;
Именно катастрофические последствия Первой волны и моральное разложение верхушки заговорщиков вынудили Пророка Абдуля записать фундаментальное разоблачительное обращение и покинуть [[Церковь Ада Абдулова]] первой формации.&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Как свидетельствовал Пророк Абдуль, корень катастрофы крылся в его чрезмерно гуманном отношении к новоприбывшим последователям. В отличие от коммерческих видеоблогеров и интернет-попрошаек, Абдуль не держал адептов за безликий скот или источник донатов: он списывался с каждым в личных сообщениях, выслушивал проблемы, помогал настраивать софт и относился ко всем как к родным братьям.&lt;br /&gt;
&lt;br /&gt;
Однако подобная открытость натолкнулась на специфический контингент, хлынувший в движение на раннем этапе:&lt;br /&gt;
* &#039;&#039;&#039;Социопатия:&#039;&#039;&#039; Значительная часть неофитов представляла собой озлобленных подростков и маргиналов с психологией «трудных [[Детдом|детдомовцев]]». Не имея базовых понятий о совести и преданности, они воспринимали доброту Пророка как слабость, а при любом удобном случае стремились воткнуть нож в спину соратникам.&lt;br /&gt;
* &#039;&#039;&#039;Раздувание ЧСВ:&#039;&#039;&#039; Факт прямого голосового общения с создателем культа моментально срывал планку у малолетних адептов. Возомнив себя «элитой» и равными Пророку, они переставали развиваться, начинали диктовать свои условия и плести интриги.&lt;br /&gt;
* &#039;&#039;&#039;Отказ от кары грешников:&#039;&#039;&#039; Когда первичный интерес к травле внешних врагов (вроде [[Ozon671games|Озона]]) угас, банда бездельников отказалась от тяжелой созидательной работы. Вместо распространения веры они предпочли пожирать собственных братьев, переключив карательный аппарат на беззащитных членов общины.&lt;br /&gt;
&lt;br /&gt;
== Травля Паркура ==&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=V6JKCSCMqS8|текст=Комментарий Пророка Абдуля о Первой волне ипотеки|ширина=350px|обтекание=right}}Фундаментом внутреннего порядка в Абдуловере тех лет служил негласный закон, сформулированный Пророком: &#039;&#039;«Пока с Паркуром всё нормально — с Абдуловерой всё нормально. Два гаранта: я и Паркур»&#039;&#039;. Адепт [[Паркур]] (Порыч) был искренним, трудолюбивым и абсолютно безобидным участником, беззаветно верившим в священный [[Биборан]]. Тем не менее, он так же был подвержен завышенному ЧСВ, правда за ним не стояло никакой силы кроме слова Пророка, на что агрились будущие ипотекари. &lt;br /&gt;
&lt;br /&gt;
Именно слабость Паркура сделала его главной мишенью для заговорщиков. Руководствуясь волчьей логикой «задушить слабого, чтобы поднять свой авторитет», шайка развернула против него травлю. Как отмечал Абдуль, это явление носило строго цикличный характер: уничтожив одного искреннего последователя, выродки неизбежно переключались на следующих.&lt;br /&gt;
&lt;br /&gt;
== Главные заговорщики ==&lt;br /&gt;
&lt;br /&gt;
=== Бунт Варлорда (WarRord) ===&lt;br /&gt;
Первым открытым зачинщиком бунта выступил [[Дольщики|дольщик]] [[WarLord]] (Вова). Собрав вокруг себя группу ведомых школьников (около 5–8 человек), он в течение пяти часов выдвигал Пророку претензии, добиваясь смещения фокуса с кары грешников на утверждение собственной диктатуры. &lt;br /&gt;
&lt;br /&gt;
После изгнания ссаными тряпками Варлорд лично признался Абдулю, что саботаж был спланирован им заранее: не умея создавать созидательный контент, он намеревался уничтожить движение изнутри ради развлечения. Уйдя в подполье, банда Варлорда начала совершать первые набеги на официальные ресурсы.&lt;br /&gt;
&lt;br /&gt;
=== Параноик Архангел и провокация с «Сабриной» ===&lt;br /&gt;
Вскоре в общине объявился субъект под псевдонимом [[Архангел]] — неуравновешенный подросток с маниакальной манией преследования. Архангел отличался патологической трусостью: подвергаясь регулярным насмешкам со стороны старших соратников (в конфах над ним издевались фразами  типо фру-фру или «ФрутоНяня», отчего он рыдал в подушку), он компенсировал унижения маниакальным шпионажем.&lt;br /&gt;
&lt;br /&gt;
Архангел при этом непрерывно собирал досье на каждого адепта: вычислял IP-адреса, сверял часовые пояса, сканировал прокси и запугивал участников ночными телефонными звонками. Ради окончательного уничтожения Паркура Архангел с сообщниками провернул изощренную фабрикацию: они наняли подставную девицу, завели её в голосовую конференцию под видом некой «Сабрины» и заставили публично обвинять Паркура в домогательствах. Введённый в заблуждение Абдуль первоначально поверил провокаторам и исключил Паркура, о чём впоследствии открыто сожалел. &lt;br /&gt;
&lt;br /&gt;
Окончательно обезумев, Архангел потратил свыше 100 долларов на телефонный автодозвон с угрозами родителям адепта Artifix&#039;а, а затем попытался атаковать самого Пророка.&lt;br /&gt;
&lt;br /&gt;
=== Двурушничество Кейна и Джихада ===&lt;br /&gt;
Адепты [[Kane]] и [[Джихад]] долгое время играли роль «центровых», выжидая исход противостояния. Обладая компроматом на соратников, они втайне вели аудиозаписи закрытых совещаний и сливали их изгнанному Варлорду. &lt;br /&gt;
&lt;br /&gt;
Когда предатели затеяли раздел казны, планируя похитить WebMoney Пророка и заявляя, что «Абдуловера проживёт без Абдуля», их подлость записал адепт [[Солом]]. Узнав об этом, Кейн и Архангел подвергли Солома жесточайшей травле, доведя его до глубокого нервного срыва.&lt;br /&gt;
[[Файл:The creator of abdulovera.jpg|мини|Та самая фотка &amp;quot;лысого&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== Рождение мифа о «Лысотеке» и «деаноне» Абдуля ==&lt;br /&gt;
Именно в недрах этой шайки родился исторический термин &#039;&#039;&#039;«Лысотека»&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Пытаясь пошатнуть непререкаемый авторитет Пророка, Архангел наткнулся на старый телефонный номер, вывешенный в описании одного из каналов. На самом деле это была ловушка: Абдуль намеренно опубликовал там реальный телефон грешника [[Ozon671games|Озона]], дабы перенаправлять на него звонки пранкеров. Архангел, не поняв розыгрыша, в эйфории побежал по всем чатам с криками: &#039;&#039;«Я нашёл телефон Абдуля, он живёт рядом с Озоном!»&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Вскоре отступники сфабриковали фейковое «досье» на Пророка: взяв случайную фотографию лысого мужчины из баз данных и приписав ему имя некоего «Коли Серпухова», [[ипотечники]] начали массово спамить этой карточкой по социальным сетям. Этот абсурдный вброс стал визитной карточкой Первой волны, навсегда закрепив за отступниками презрительное клеймо «лысотечников».&lt;br /&gt;
&lt;br /&gt;
== Возмездие Пророка и разгром предателей ==&lt;br /&gt;
Надежды предателей на безнаказанность разбились о карательный гений основателя движения. Пророк, разработавший 100% всей теоретической базы, методик поиска и цифрового давления, применил свои инструменты против мятежников:&lt;br /&gt;
* Личности всех участников заговора были деанонимизированы до реальных паспортных данных и домашних адресов;&lt;br /&gt;
* Секретные чаты саботажников были вскрыты, а их контакты переданы для адресного телефонного возмездия;&lt;br /&gt;
* Попытка заговорщиков прикрыться дешёвыми лозунгами о «демократии» была жестко высмеяна: Абдуль напомнил, что предатели нарушили священную присягу и продали великую идею за копеечные игры в Steam.&lt;br /&gt;
&lt;br /&gt;
Осознав масштабы возмездия, Варлорд и его окружение в панике покинули интернет-пространство, а Архангел был пожизненно изолирован от любых абдулоресурсов.&lt;br /&gt;
&lt;br /&gt;
== Исторические последствия ==&lt;br /&gt;
Разгром Первой волны ипотеки достался движению дорогой ценой. Пророк констатировал, что три года его молодости, положенные на создание братства справедливости, были растоптаны неблагодарными подонками. Постоянные стрессы, ночные разборки и предательство людей, которых он считал братьями, непоправимо подорвали его физическое здоровье, нервы и голосовые связки.&lt;br /&gt;
&lt;br /&gt;
Не желая тратить жизненные силы на бесконечную войну с новыми поколениями малолетних дегенератов, Пророк Абдуль официально объявил о прекращении координации движения ЦАА. Перенаправив трафик на персональный канал для независимого творчества, он оставил отступников вариться в собственном котле, заложив исторический прецедент беспощадной борьбы с любой внутренней изменой.&lt;br /&gt;
&lt;br /&gt;
Позже, 25 ноября 2012 года мммщики слили данные Абдуля, после чего он перестал связывать себя с Абдуловерой на долгие годы вперёд. Разрозненные ипотекари продолжали наплыв своей &amp;quot;волны&amp;quot; в течении 2013 года, хотя особо уже ничего примечательного не делали. В реальный деанон пророка они не верили и просто дальше срали &amp;quot;лысым&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Абдулоистория}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Абдулоистория]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%9B%D1%8B%D1%81%D0%BE%D1%82%D0%B5%D0%BA%D0%B0&amp;diff=4835</id>
		<title>Лысотека</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%9B%D1%8B%D1%81%D0%BE%D1%82%D0%B5%D0%BA%D0%B0&amp;diff=4835"/>
		<updated>2026-10-20T18:41:40Z</updated>

		<summary type="html">&lt;p&gt;Adept: Новая страница: «{{наука}}  {{Карточка Явления | название    = Первая волна ипотеки | поле1       = Другие названия | значение1   = Лысотека, бунт Варлорда, смута 2012 года | поле2       = Тип | значение2   = Ипотечный бунт / Предательство веры | поле3       = Период | значение3   = Кон...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Первая волна ипотеки&lt;br /&gt;
| поле1       = Другие названия&lt;br /&gt;
| значение1   = Лысотека, бунт Варлорда, смута 2012 года&lt;br /&gt;
| поле2       = Тип&lt;br /&gt;
| значение2   = [[Ипотечники|Ипотечный бунт]] / Предательство веры&lt;br /&gt;
| поле3       = Период&lt;br /&gt;
| значение3   = Конец [[2012 год|2012]] — начало [[2013 год]]а&lt;br /&gt;
| поле4       = Ключевые предатели&lt;br /&gt;
| значение4   = [[WarLord]], [[Архангел]], [[Kane]], [[Джихад]]&lt;br /&gt;
| поле5       = Жертвы травли&lt;br /&gt;
| значение5   = [[Паркур]], [[Солом]], [[AlanBrigada]]&lt;br /&gt;
| поле6       = Итог&lt;br /&gt;
| значение6   = Тотальный деанон предателей, уход Пророка из ЦАА&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Первая волна ипотеки&#039;&#039;&#039; (историческое название: &#039;&#039;«Лысотека»&#039;&#039;) — масштабный системный бунт [[Абдулопредатели|абдулопредателей]] в истории [[Абдуловерование|Абдуловерования]], разразившийся во второй половине [[2012 год]]а. Событие ознаменовалось предательством группы доверенных лиц, отказом от священной кары внешних [[Список грешников|грешников]], внутренней травлей верных [[Адепт|адептов]], попытками финансового саботажа и фабрикацией фейкового деанона [[Пророк Абдуль|Пророка Абдуля]]. &lt;br /&gt;
&lt;br /&gt;
Именно катастрофические последствия Первой волны и моральное разложение верхушки заговорщиков вынудили Пророка Абдуля записать фундаментальное разоблачительное обращение и покинуть [[Церковь Ада Абдулова]] первой формации.&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Как свидетельствовал Пророк Абдуль, корень катастрофы крылся в его чрезмерно гуманном отношении к новоприбывшим последователям. В отличие от коммерческих видеоблогеров и интернет-попрошаек, Абдуль не держал адептов за безликий скот или источник донатов: он списывался с каждым в личных сообщениях, выслушивал проблемы, помогал настраивать софт и относился ко всем как к родным братьям.&lt;br /&gt;
&lt;br /&gt;
Однако подобная открытость натолкнулась на специфический контингент, хлынувший в движение на раннем этапе:&lt;br /&gt;
* &#039;&#039;&#039;Социопатия:&#039;&#039;&#039; Значительная часть неофитов представляла собой озлобленных подростков и маргиналов с психологией «трудных [[Детдом|детдомовцев]]». Не имея базовых понятий о совести и преданности, они воспринимали доброту Пророка как слабость, а при любом удобном случае стремились воткнуть нож в спину соратникам.&lt;br /&gt;
* &#039;&#039;&#039;Раздувание ЧСВ:&#039;&#039;&#039; Факт прямого голосового общения с создателем культа моментально срывал планку у малолетних адептов. Возомнив себя «элитой» и равными Пророку, они переставали развиваться, начинали диктовать свои условия и плести интриги.&lt;br /&gt;
* &#039;&#039;&#039;Отказ от кары грешников:&#039;&#039;&#039; Когда первичный интерес к травле внешних врагов (вроде [[Ozon671games|Озона]]) угас, банда бездельников отказалась от тяжелой созидательной работы. Вместо распространения веры они предпочли пожирать собственных братьев, переключив карательный аппарат на беззащитных членов общины.&lt;br /&gt;
&lt;br /&gt;
== Травля Паркура ==&lt;br /&gt;
{{Видео|1=https://www.youtube.com/watch?v=V6JKCSCMqS8|текст=Комментарий Пророка Абдуля о Первой волне ипотеки|ширина=350px|обтекание=right}}Фундаментом внутреннего порядка в Абдуловере тех лет служил негласный закон, сформулированный Пророком: &#039;&#039;«Пока с Паркуром всё нормально — с Абдуловерой всё нормально. Два гаранта: я и Паркур»&#039;&#039;. Адепт [[Паркур]] (Порыч) был искренним, трудолюбивым и абсолютно безобидным участником, беззаветно верившим в священный [[Биборан]]. Тем не менее, он так же был подвержен завышенному ЧСВ, правда за ним не стояло никакой силы кроме слова Пророка, на что агрились будущие ипотекари. &lt;br /&gt;
&lt;br /&gt;
Именно слабость Паркура сделала его главной мишенью для заговорщиков. Руководствуясь волчьей логикой «задушить слабого, чтобы поднять свой авторитет», шайка развернула против него травлю. Как отмечал Абдуль, это явление носило строго цикличный характер: уничтожив одного искреннего последователя, выродки неизбежно переключались на следующих.&lt;br /&gt;
&lt;br /&gt;
== Главные заговорщики ==&lt;br /&gt;
&lt;br /&gt;
=== Бунт Варлорда (WarRord) ===&lt;br /&gt;
Первым открытым зачинщиком бунта выступил [[Дольщики|дольщик]] [[WarLord]] (Вова). Собрав вокруг себя группу ведомых школьников (около 5–8 человек), он в течение пяти часов выдвигал Пророку претензии, добиваясь смещения фокуса с кары грешников на утверждение собственной диктатуры. &lt;br /&gt;
&lt;br /&gt;
После изгнания ссаными тряпками Варлорд лично признался Абдулю, что саботаж был спланирован им заранее: не умея создавать созидательный контент, он намеревался уничтожить движение изнутри ради развлечения. Уйдя в подполье, банда Варлорда начала совершать первые набеги на официальные ресурсы.&lt;br /&gt;
&lt;br /&gt;
=== Параноик Архангел и провокация с «Сабриной» ===&lt;br /&gt;
Вскоре в общине объявился субъект под псевдонимом [[Архангел]] — неуравновешенный подросток с маниакальной манией преследования. Архангел отличался патологической трусостью: подвергаясь регулярным насмешкам со стороны старших соратников (в конфах над ним издевались фразами  типо фру-фру или «ФрутоНяня», отчего он рыдал в подушку), он компенсировал унижения маниакальным шпионажем.&lt;br /&gt;
&lt;br /&gt;
Архангел при этом непрерывно собирал досье на каждого адепта: вычислял IP-адреса, сверял часовые пояса, сканировал прокси и запугивал участников ночными телефонными звонками. Ради окончательного уничтожения Паркура Архангел с сообщниками провернул изощренную фабрикацию: они наняли подставную девицу, завели её в голосовую конференцию под видом некой «Сабрины» и заставили публично обвинять Паркура в домогательствах. Введённый в заблуждение Абдуль первоначально поверил провокаторам и исключил Паркура, о чём впоследствии открыто сожалел. &lt;br /&gt;
&lt;br /&gt;
Окончательно обезумев, Архангел потратил свыше 100 долларов на телефонный автодозвон с угрозами родителям адепта Artifix&#039;а, а затем попытался атаковать самого Пророка.&lt;br /&gt;
&lt;br /&gt;
=== Двурушничество Кейна и Джихада ===&lt;br /&gt;
Адепты [[Kane]] и [[Джихад]] долгое время играли роль «центровых», выжидая исход противостояния. Обладая компроматом на соратников, они втайне вели аудиозаписи закрытых совещаний и сливали их изгнанному Варлорду. &lt;br /&gt;
&lt;br /&gt;
Когда предатели затеяли раздел казны, планируя похитить WebMoney Пророка и заявляя, что «Абдуловера проживёт без Абдуля», их подлость записал адепт [[Солом]]. Узнав об этом, Кейн и Архангел подвергли Солома жесточайшей травле, доведя его до глубокого нервного срыва.&lt;br /&gt;
[[Файл:The creator of abdulovera.jpg|мини|Та самая фотка &amp;quot;лысого&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== Рождение мифа о «Лысотеке» и «деаноне» Абдуля ==&lt;br /&gt;
Именно в недрах этой шайки родился исторический термин &#039;&#039;&#039;«Лысотека»&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Пытаясь пошатнуть непререкаемый авторитет Пророка, Архангел наткнулся на старый телефонный номер, вывешенный в описании одного из каналов. На самом деле это была ловушка: Абдуль намеренно опубликовал там реальный телефон грешника [[Ozon671games|Озона]], дабы перенаправлять на него звонки пранкеров. Архангел, не поняв розыгрыша, в эйфории побежал по всем чатам с криками: &#039;&#039;«Я нашёл телефон Абдуля, он живёт рядом с Озоном!»&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Вскоре отступники сфабриковали фейковое «досье» на Пророка: взяв случайную фотографию лысого мужчины из баз данных и приписав ему имя некоего «Коли Серпухова», [[ипотечники]] начали массово спамить этой карточкой по социальным сетям. Этот абсурдный вброс стал визитной карточкой Первой волны, навсегда закрепив за отступниками презрительное клеймо «лысотечников».&lt;br /&gt;
&lt;br /&gt;
== Возмездие Пророка и разгром предателей ==&lt;br /&gt;
Надежды предателей на безнаказанность разбились о карательный гений основателя движения. Пророк, разработавший 100% всей теоретической базы, методик поиска и цифрового давления, применил свои инструменты против мятежников:&lt;br /&gt;
* Личности всех участников заговора были деанонимизированы до реальных паспортных данных и домашних адресов;&lt;br /&gt;
* Секретные чаты саботажников были вскрыты, а их контакты переданы для адресного телефонного возмездия;&lt;br /&gt;
* Попытка заговорщиков прикрыться дешёвыми лозунгами о «демократии» была жестко высмеяна: Абдуль напомнил, что предатели нарушили священную присягу и продали великую идею за копеечные игры в Steam.&lt;br /&gt;
&lt;br /&gt;
Осознав масштабы возмездия, Варлорд и его окружение в панике покинули интернет-пространство, а Архангел был пожизненно изолирован от любых абдулоресурсов.&lt;br /&gt;
&lt;br /&gt;
== Исторические последствия ==&lt;br /&gt;
Разгром Первой волны ипотеки достался движению дорогой ценой. Пророк констатировал, что три года его молодости, положенные на создание братства справедливости, были растоптаны неблагодарными подонками. Постоянные стрессы, ночные разборки и предательство людей, которых он считал братьями, непоправимо подорвали его физическое здоровье, нервы и голосовые связки.&lt;br /&gt;
&lt;br /&gt;
Не желая тратить жизненные силы на бесконечную войну с новыми поколениями малолетних дегенератов, Пророк Абдуль официально объявил о прекращении координации движения ЦАА. Перенаправив трафик на персональный канал для независимого творчества, он оставил отступников вариться в собственном котле, заложив исторический прецедент беспощадной борьбы с любой внутренней изменой.&lt;br /&gt;
&lt;br /&gt;
Позже, 25 ноября 2012 года мммщики слили данные Абдуля, после чего он перестал связывать себя с Абдуловерой на долгие годы вперёд. Разрозненные ипотекари продолжали наплыв своей &amp;quot;волны&amp;quot; в течении 2013 года, хотя особо уже ничего примечательного не делали. В реальный деанон пророка они не верили и просто дальше срали &amp;quot;лысым&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Абдулоистория}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Абдулоистория]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:The_creator_of_abdulovera.jpg&amp;diff=4834</id>
		<title>Файл:The creator of abdulovera.jpg</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:The_creator_of_abdulovera.jpg&amp;diff=4834"/>
		<updated>2026-10-20T18:36:57Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;та самая фотка лысого от ипотекарей&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4832</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4832"/>
		<updated>2026-10-19T11:22:38Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Автоподгрузка побочных блоков по категориям статьи (с защитой от дублей)&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Плавное раскрытие/сворачивание навигационных плашек&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
(function() {&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    // Глобальный реестр для мгновенной блокировки повторных вызовов&lt;br /&gt;
    window.abdulNavInjected = window.abdulNavInjected || {};&lt;br /&gt;
&lt;br /&gt;
    function initSmoothBoxes($context) {&lt;br /&gt;
        $context.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;) &amp;amp;&amp;amp; !$box.data(&#039;abdul-inited&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (!$box.data(&#039;abdul-inited&#039;)) {&lt;br /&gt;
                $box.data(&#039;abdul-inited&#039;, true);&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).off(&#039;click.abdul&#039;).on(&#039;click.abdul&#039;, function() {&lt;br /&gt;
                    $content.stop(true, true).slideToggle(250);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        $context.find(&#039;.abdul-sub-box&#039;).each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Проверка наличия блока на странице (как по data-cat, так и по тексту шапки)&lt;br /&gt;
    function isBlockPresent(catName) {&lt;br /&gt;
        var targetUpper = catName.trim().toUpperCase();&lt;br /&gt;
        var found = false;&lt;br /&gt;
&lt;br /&gt;
        $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            if ($box.find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                found = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
            var headerText = $.trim($box.find(&#039;.abdul-smooth-header&#039;).text()).toUpperCase();&lt;br /&gt;
            if (headerText.indexOf(targetUpper) !== -1) {&lt;br /&gt;
                found = true;&lt;br /&gt;
                return false;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        return found;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        // Вставляем строго перед блоком комментариев или перед категориями&lt;br /&gt;
        var $anchor = $(&#039;#cs-comments, .cs-comments, #catlinks&#039;).first();&lt;br /&gt;
        var insertMethod = $anchor.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        if (!$anchor.length) {&lt;br /&gt;
            $anchor = $(&#039;#mw-content-text&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                // Если блок уже запрошен или уже есть в DOM (включая ручную вставку в статье) — отменяем&lt;br /&gt;
                if (window.abdulNavInjected[catName] || isBlockPresent(catName)) {&lt;br /&gt;
                    window.abdulNavInjected[catName] = true;&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Мгновенный мьютекс до ухода сетевого запроса&lt;br /&gt;
                window.abdulNavInjected[catName] = true;&lt;br /&gt;
&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        if (isBlockPresent(catName)) return;&lt;br /&gt;
&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        initSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        initSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4831</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4831"/>
		<updated>2026-10-19T11:17:45Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Плавное раскрытие/сворачивание навигационных плашек&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
(function() {&lt;br /&gt;
    // Список 12 побочных (компактных) категорий&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    // Обработчик клика для плавного сворачивания&lt;br /&gt;
    function initSmoothBoxes($context) {&lt;br /&gt;
        $context.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;) &amp;amp;&amp;amp; !$box.data(&#039;abdul-inited&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (!$box.data(&#039;abdul-inited&#039;)) {&lt;br /&gt;
                $box.data(&#039;abdul-inited&#039;, true);&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $content.stop(true, true).slideToggle(250);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Двусторонняя сортировка ссылок и догрузка новых статей через API&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        $context.find(&#039;.abdul-sub-box&#039;).each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Автоматическая вставка блоков на основе категорий текущей статьи&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        // Только для обычных статей в режиме чтения (исключаем правку и спецстраницы)&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        // Определяем, куда вставлять: перед системным блоком категорий или в конец текста&lt;br /&gt;
        var $targetContainer = $(&#039;#catlinks&#039;);&lt;br /&gt;
        var insertMethod = $targetContainer.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        var $anchor = $targetContainer.length ? $targetContainer : $(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            // Если у страницы есть эта категория&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                // Проверяем, не вставлен ли уже блок этой категории вручную&lt;br /&gt;
                var alreadyExists = false;&lt;br /&gt;
                $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                    if ($(this).find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                        alreadyExists = true;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (alreadyExists) return;&lt;br /&gt;
&lt;br /&gt;
                // Запрашиваем готовый HTML шаблона через MediaWiki API&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        // Инициализируем анимацию и сортировку для созданного блока&lt;br /&gt;
                        initSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Точка входа при загрузке содержимого страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        initSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4830</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4830"/>
		<updated>2026-10-19T11:12:58Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#switch:{{{1|}}}|Грешники|Абдулокультура|Абдулонаука|База=abdul-main-box|#default=abdul-sub-box}} {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = margin: 0 auto 20px auto; border-radius: 12px;&lt;br /&gt;
|#default = margin: 0 auto 12px auto; border-radius: 6px;&lt;br /&gt;
}} overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|Великие грешники  = border: 1px solid rgba(213, 0, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Грехоболезни      = border: 1px solid rgba(100, 221, 23, 0.3); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулоистория     = border: 1px solid rgba(230, 81, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Сониблядство      = border: 1px solid rgba(0, 145, 234, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулоосновы      = border: 1px solid rgba(255, 143, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Юмор              = border: 1px solid rgba(170, 0, 255, 0.3); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулопередачи    = border: 1px solid rgba(0, 180, 216, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Мерзость          = border: 1px solid rgba(130, 119, 23, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Автономии адептов = border: 1px solid rgba(96, 125, 139, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулопредатели   = border: 1px solid rgba(93, 64, 55, 0.4); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Негативные явления = border: 1px solid rgba(255, 61, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулоиконы       = border: 1px solid rgba(255, 214, 0, 0.3); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|#default          = border: 1px solid #333; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = font-size: 1.3em; letter-spacing: 1px; padding: 15px;&lt;br /&gt;
|#default = font-size: 0.98em; letter-spacing: 0.8px; padding: 7px 12px;&lt;br /&gt;
}} {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #180d0d 0%, #2b1313 50%, #180d0d 100%); color: #ef9a9a; border-bottom: 1px solid rgba(213,0,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #0d180d 0%, #152615 50%, #0d180d 100%); color: #a5d6a7; border-bottom: 1px solid rgba(100,221,23,0.2); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #18110b 0%, #2b1a0e 50%, #18110b 100%); color: #ffcc80; border-bottom: 1px solid rgba(230,81,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #0b1318 0%, #10212d 50%, #0b1318 100%); color: #90caf9; border-bottom: 1px solid rgba(0,145,234,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #18140b 0%, #2b200e 50%, #18140b 100%); color: #ffe082; border-bottom: 1px solid rgba(255,143,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #140b18 0%, #24102c 50%, #140b18 100%); color: #ce93d8; border-bottom: 1px solid rgba(170,0,255,0.2); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #0b1518 0%, #0f242b 50%, #0b1518 100%); color: #80deea; border-bottom: 1px solid rgba(0,180,216,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #14140b 0%, #24240f 50%, #14140b 100%); color: #e6ee9c; border-bottom: 1px solid rgba(130,119,23,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #101416 0%, #192024 50%, #101416 100%); color: #b0bec5; border-bottom: 1px solid rgba(96,125,139,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #141110 0%, #241c19 50%, #141110 100%); color: #bcaaa4; border-bottom: 1px solid rgba(93,64,55,0.3); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #180e0a 0%, #2b150d 50%, #180e0a 100%); color: #ffab91; border-bottom: 1px solid rgba(255,61,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #18160b 0%, #2b250e 50%, #18160b 100%); color: #fff59d; border-bottom: 1px solid rgba(255,214,0,0.2); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|#default          = background: #1c1c24; color: #ccc; border-bottom: 1px solid #333; text-shadow: 1px 1px 3px #000;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(13, 13, 18, 0.96); color: #d6d6d6;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = padding: 20px; font-size: 0.95em; line-height: 1.7;&lt;br /&gt;
|#default = padding: 10px 14px; font-size: 0.88em; line-height: 1.55;&lt;br /&gt;
}} vertical-align: top; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОСНОВНЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[Itpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[Артемий Лебедев]] • [[Юрий Заболотских]] • [[VJLink]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Папич]] • [[Убермаргинал]] • [[Драчикула]] • [[Max Adept]] • [[Шабоз]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;«ВЕЛИКИЕ»&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Анатолий Кашпировский]] • [[Андрей Чикатило]] • [[Владимир Ленин]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Сергей Супонев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОРГАНИЗОВАННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Ипотечники]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]] • [[Детдом]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ПАЦИЕНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[GOBZAVR|Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулокультура = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;СТОЛПЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ИСКУССТВО&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Абдулоартоделие]] • [[Абдуломузыка]] • [[Абдулоплясания]] • [[Абдулокодинг]] • [[Абдулопоэзия]] • [[Абдулописательство]] • [[Нейрохрамы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРАЗДНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоджихад]] • [[Абдулопост]] • [[Абдулодам]] • [[Абдулоумертвие]] • [[День низвержения старобога и старосатаны]] • [[Взрыв на АЭС «Фукусима»]] • [[Антибомж]] • [[Абдулопорождение]] • [[День рождения Абдуловерования]] • [[День поминовения Пророка]] • [[День победы над Озонофашизмом]] • [[Деелькинизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРОЧЕЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Воздушно-кабельный способ передачи заболевания]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;РАЗДЕЛЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]] • [[Абдулолингвистика]] • [[Белая магия]] • [[Абдулофилософия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ИССЛЕДОВАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаучный трактат]] • [[Влияние аниме на психику]] • [[Теория завышенной численности]] • [[Принцип автономности церквей]] • [[Абдулоджихад]] • [[С.У.К.А]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ГРЕХОБОЛЕЗНИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;НОРМАТИВНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;РЕКОМЕНДАТЕЛЬНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Рекомендации к написанию статей]] • [[Справка по форматированию]] • [[Сокращения страниц]] • [[Часто-задаваемые вопросы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;ВСЁ ОСТАЛЬНОЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Центр Абдулокультуры|Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ef9a9a; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]] • [[Андрей Чикатило]] • [[Григорий Грабовой]] • [[Александр Елькин]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#a5d6a7; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] • [[Грехозаболевание]] • [[Воздушно-кабельный способ передачи заболевания]] • [[Педофилия]] • [[Валерия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffcc80; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Первый Абдулоджихад]] • [[Падение Озона]] • [[Абдулолетопись]] • [[История написания Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#90caf9; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Сониблядство]] • [[Отряд 731]] • [[Сониблядск]] • [[Антон Логвинов]] • [[Itpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]] • [[Гейпад]] • [[Мыльное кинцо за 2300]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[PlayStation Network]] • [[Тридцать кадров в секунду]] • [[Десонизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffe082; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Абдуловерование]] • [[Богосатана]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдулопричастие]] • [[Абдуломолитва]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ce93d8; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Пранки над грешниками]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#80deea; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;gt;[[Криминальный Рунет]] • [[Абдулоновости]] • [[Певозоры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#e6ee9c; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[GOBZAVR|Гобзавр]] • [[Влад Савельев]] • [[Алексей Поднебесный]] • [[Сергей Симонов]] • [[Дикий Треш]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Автономии адептов&amp;quot;&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Священный сервер]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопредатели&amp;quot;&amp;gt;[[Абдулопредатели]] • [[Ипотечники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffab91; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Негативные явления&amp;quot;&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Баны священных каналов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Ересь]] • [[Дольщики]] • [[Помирание]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Деанонимизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff59d; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоиконы&amp;quot;&amp;gt;[[Абдулоиконопись]] • [[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Глыба Абдулова]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Икона Богосатанинского Очищения]] • [[Первая икона Богосатаны]] • [[Нейрохрамы]] • [[Священные фотожабы]] • [[Морфинг-иконы]] • [[Каноны написания ликов]] • [[Чудотворный портрет]] • [[Электро-крест «УЖАС»]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = width:140px; padding:15px;&lt;br /&gt;
|#default = width:80px; padding:6px;&lt;br /&gt;
}} text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); background: rgba(0,0,0,0.25);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|65px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|65px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|65px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|65px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|65px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|65px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|65px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|65px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|65px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|65px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|65px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|65px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|65px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Универсальный навигационный шаблон связывает статьи вики-проекта в единую сеть. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, строго перед категориями.&lt;br /&gt;
&lt;br /&gt;
== Как устроена система навигации ==&lt;br /&gt;
В шаблоне действует двухуровневая система оформления:&lt;br /&gt;
1. &#039;&#039;&#039;Главные блоки (4 шт.):&#039;&#039;&#039; &amp;lt;code&amp;gt;Грешники&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Абдулокультура&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Абдулонаука&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;База&amp;lt;/code&amp;gt;. Имеют массивную рамку, яркие акцентные заголовки и классическую разбивку по авторским подразделам.&lt;br /&gt;
2. &#039;&#039;&#039;Побочные блоки (12 шт.):&#039;&#039;&#039; Имеют компактную высоту, приглушённые тёмные тона и автоматическое распределение ссылок по строкам («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ»).&lt;br /&gt;
&lt;br /&gt;
=== Параметры вызова ===&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (первый безымянный) — имя категории блока (обязательный).&lt;br /&gt;
* &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; — режим показа. По умолчанию блок свёрнут. Чтобы развернуть блок сразу при загрузке страницы, используйте &amp;lt;code&amp;gt;state=uncollapsed&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Демонстрация всех блоков навигации ==&lt;br /&gt;
&lt;br /&gt;
=== ЧАСТЬ I. ГЛАВНЫЕ БЛОКИ (КЛАССИЧЕСКИЕ) ===&lt;br /&gt;
&lt;br /&gt;
==== 1. Грешники ====&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2. Абдулокультура ====&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3. Абдулонаука ====&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. База Центра ====&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== ЧАСТЬ II. ПОБОЧНЫЕ БЛОКИ (КОМПАКТНЫЕ ПРИГЛУШЁННЫЕ) ===&lt;br /&gt;
&lt;br /&gt;
==== 5. Великие грешники ====&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 6. Грехоболезни ====&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 7. Абдулоистория ====&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 8. Сониблядство ====&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 9. Абдулоосновы ====&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 10. Абдулоюмор ====&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 11. Абдулопередачи ====&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 12. Мерзость ====&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 13. Автономии адептов ====&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 14. Абдулопредатели ====&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 15. Негативные явления ====&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 16. Абдулоиконы ====&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4829</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4829"/>
		<updated>2026-10-19T11:11:24Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическое пополнение и сортировка для побочных навигационных блоков */&lt;br /&gt;
(function() {&lt;br /&gt;
    function initAbdulSubNav($content) {&lt;br /&gt;
        $content = $content || $(document);&lt;br /&gt;
        var $subBoxes = $content.find(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
        if (!$subBoxes.length) return;&lt;br /&gt;
&lt;br /&gt;
        $subBoxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length) return;&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                // Сканируем ссылки побочного блока&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // Подтягиваем вновь созданные статьи из категории&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Перерисовка блока «В РЕЕСТРЕ»&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // Перерисовка блока «ТРЕБУЮТСЯ»&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (window.mw &amp;amp;&amp;amp; mw.hook) {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(initAbdulSubNav);&lt;br /&gt;
    } else {&lt;br /&gt;
        $(document).ready(function() { initAbdulSubNav($(document)); });&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Единый модуль навигации Центра:&lt;br /&gt;
   1. Автоподгрузка побочных блоков по категориям статьи&lt;br /&gt;
   2. Сортировка ссылок («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ») и пополнение из категорий&lt;br /&gt;
   3. Плавное раскрытие/сворачивание навигационных плашек&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
&lt;br /&gt;
(function() {&lt;br /&gt;
    // Список 12 побочных (компактных) категорий&lt;br /&gt;
    var SUB_CATEGORIES = [&lt;br /&gt;
        &#039;Великие грешники&#039;,&lt;br /&gt;
        &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулоистория&#039;,&lt;br /&gt;
        &#039;Сониблядство&#039;,&lt;br /&gt;
        &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;,&lt;br /&gt;
        &#039;Абдулопередачи&#039;,&lt;br /&gt;
        &#039;Мерзость&#039;,&lt;br /&gt;
        &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;,&lt;br /&gt;
        &#039;Негативные явления&#039;,&lt;br /&gt;
        &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    // Обработчик клика для плавного сворачивания&lt;br /&gt;
    function initSmoothBoxes($context) {&lt;br /&gt;
        $context.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
            var $content = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
            if ($box.hasClass(&#039;is-collapsed&#039;) &amp;amp;&amp;amp; !$box.data(&#039;abdul-inited&#039;)) {&lt;br /&gt;
                $content.hide();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            if (!$box.data(&#039;abdul-inited&#039;)) {&lt;br /&gt;
                $box.data(&#039;abdul-inited&#039;, true);&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $content.stop(true, true).slideToggle(250);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Двусторонняя сортировка ссылок и догрузка новых статей через API&lt;br /&gt;
    function initSubNavBoxes($context) {&lt;br /&gt;
        $context.find(&#039;.abdul-sub-box&#039;).each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length || $box.data(&#039;abdul-sorted&#039;)) return;&lt;br /&gt;
            $box.data(&#039;abdul-sorted&#039;, true);&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Автоматическая вставка блоков на основе категорий текущей статьи&lt;br /&gt;
    function autoInjectCategoryNav() {&lt;br /&gt;
        // Только для обычных статей в режиме чтения (исключаем правку и спецстраницы)&lt;br /&gt;
        if (mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0 || mw.config.get(&#039;wgAction&#039;) !== &#039;view&#039; || mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        var pageCategories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
        if (!pageCategories.length) return;&lt;br /&gt;
&lt;br /&gt;
        // Определяем, куда вставлять: перед системным блоком категорий или в конец текста&lt;br /&gt;
        var $targetContainer = $(&#039;#catlinks&#039;);&lt;br /&gt;
        var insertMethod = $targetContainer.length ? &#039;insertBefore&#039; : &#039;appendTo&#039;;&lt;br /&gt;
        var $anchor = $targetContainer.length ? $targetContainer : $(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
        $.each(SUB_CATEGORIES, function(index, catName) {&lt;br /&gt;
            // Если у страницы есть эта категория&lt;br /&gt;
            if (pageCategories.indexOf(catName) !== -1) {&lt;br /&gt;
                // Проверяем, не вставлен ли уже блок этой категории вручную&lt;br /&gt;
                var alreadyExists = false;&lt;br /&gt;
                $(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                    if ($(this).find(&#039;[data-cat=&amp;quot;&#039; + catName + &#039;&amp;quot;]&#039;).length &amp;gt; 0) {&lt;br /&gt;
                        alreadyExists = true;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (alreadyExists) return;&lt;br /&gt;
&lt;br /&gt;
                // Запрашиваем готовый HTML шаблона через MediaWiki API&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;parse&#039;,&lt;br /&gt;
                    text: &#039;{{Навигация|&#039; + catName + &#039;}}&#039;,&lt;br /&gt;
                    contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
                        var $injectedBlock = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
&lt;br /&gt;
                        if (insertMethod === &#039;insertBefore&#039;) {&lt;br /&gt;
                            $injectedBlock.insertBefore($anchor);&lt;br /&gt;
                        } else {&lt;br /&gt;
                            $anchor.append($injectedBlock);&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        // Инициализируем анимацию и сортировку для созданного блока&lt;br /&gt;
                        initSmoothBoxes($injectedBlock);&lt;br /&gt;
                        initSubNavBoxes($injectedBlock);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Точка входа при загрузке содержимого страницы&lt;br /&gt;
    mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
        initSmoothBoxes($content);&lt;br /&gt;
        initSubNavBoxes($content);&lt;br /&gt;
        autoInjectCategoryNav();&lt;br /&gt;
    });&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4828</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4828"/>
		<updated>2026-10-19T11:01:53Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#switch:{{{1|}}}|Грешники|Абдулокультура|Абдулонаука|База=abdul-main-box|#default=abdul-sub-box}} {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = margin: 0 auto 20px auto; border-radius: 12px;&lt;br /&gt;
|#default = margin: 0 auto 12px auto; border-radius: 6px;&lt;br /&gt;
}} overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|Великие грешники  = border: 1px solid rgba(213, 0, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Грехоболезни      = border: 1px solid rgba(100, 221, 23, 0.3); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулоистория     = border: 1px solid rgba(230, 81, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Сониблядство      = border: 1px solid rgba(0, 145, 234, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулоосновы      = border: 1px solid rgba(255, 143, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Юмор              = border: 1px solid rgba(170, 0, 255, 0.3); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулопередачи    = border: 1px solid rgba(0, 180, 216, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Мерзость          = border: 1px solid rgba(130, 119, 23, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Автономии адептов = border: 1px solid rgba(96, 125, 139, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулопредатели   = border: 1px solid rgba(93, 64, 55, 0.4); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Негативные явления = border: 1px solid rgba(255, 61, 0, 0.35); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|Абдулоиконы       = border: 1px solid rgba(255, 214, 0, 0.3); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
|#default          = border: 1px solid #333; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.6);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = font-size: 1.3em; letter-spacing: 1px; padding: 15px;&lt;br /&gt;
|#default = font-size: 0.98em; letter-spacing: 0.8px; padding: 7px 12px;&lt;br /&gt;
}} {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #180d0d 0%, #2b1313 50%, #180d0d 100%); color: #ef9a9a; border-bottom: 1px solid rgba(213,0,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #0d180d 0%, #152615 50%, #0d180d 100%); color: #a5d6a7; border-bottom: 1px solid rgba(100,221,23,0.2); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #18110b 0%, #2b1a0e 50%, #18110b 100%); color: #ffcc80; border-bottom: 1px solid rgba(230,81,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #0b1318 0%, #10212d 50%, #0b1318 100%); color: #90caf9; border-bottom: 1px solid rgba(0,145,234,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #18140b 0%, #2b200e 50%, #18140b 100%); color: #ffe082; border-bottom: 1px solid rgba(255,143,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #140b18 0%, #24102c 50%, #140b18 100%); color: #ce93d8; border-bottom: 1px solid rgba(170,0,255,0.2); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #0b1518 0%, #0f242b 50%, #0b1518 100%); color: #80deea; border-bottom: 1px solid rgba(0,180,216,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #14140b 0%, #24240f 50%, #14140b 100%); color: #e6ee9c; border-bottom: 1px solid rgba(130,119,23,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #101416 0%, #192024 50%, #101416 100%); color: #b0bec5; border-bottom: 1px solid rgba(96,125,139,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #141110 0%, #241c19 50%, #141110 100%); color: #bcaaa4; border-bottom: 1px solid rgba(93,64,55,0.3); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #180e0a 0%, #2b150d 50%, #180e0a 100%); color: #ffab91; border-bottom: 1px solid rgba(255,61,0,0.25); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #18160b 0%, #2b250e 50%, #18160b 100%); color: #fff59d; border-bottom: 1px solid rgba(255,214,0,0.2); text-shadow: 1px 1px 3px #000;&lt;br /&gt;
|#default          = background: #1c1c24; color: #ccc; border-bottom: 1px solid #333; text-shadow: 1px 1px 3px #000;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(13, 13, 18, 0.96); color: #d6d6d6;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = padding: 20px; font-size: 0.95em; line-height: 1.7;&lt;br /&gt;
|#default = padding: 10px 14px; font-size: 0.88em; line-height: 1.55;&lt;br /&gt;
}} vertical-align: top; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОСНОВНЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[Itpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[Артемий Лебедев]] • [[Юрий Заболотских]] • [[VJLink]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Папич]] • [[Убермаргинал]] • [[Драчикула]] • [[Max Adept]] • [[Шабоз]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;«ВЕЛИКИЕ»&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Анатолий Кашпировский]] • [[Андрей Чикатило]] • [[Владимир Ленин]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Сергей Супонев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОРГАНИЗОВАННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Ипотечники]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]] • [[Детдом]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ПАЦИЕНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[GOBZAVR|Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулокультура = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;СТОЛПЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ИСКУССТВО&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Абдулоартоделие]] • [[Абдуломузыка]] • [[Абдулоплясания]] • [[Абдулокодинг]] • [[Абдулопоэзия]] • [[Абдулописательство]] • [[Нейрохрамы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРАЗДНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоджихад]] • [[Абдулопост]] • [[Абдулодам]] • [[Абдулоумертвие]] • [[День низвержения старобога и старосатаны]] • [[Взрыв на АЭС «Фукусима»]] • [[Антибомж]] • [[Абдулопорождение]] • [[День рождения Абдуловерования]] • [[День поминовения Пророка]] • [[День победы над Озонофашизмом]] • [[Деелькинизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРОЧЕЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Воздушно-кабельный способ передачи заболевания]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;РАЗДЕЛЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]] • [[Абдулолингвистика]] • [[Белая магия]] • [[Абдулофилософия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ИССЛЕДОВАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаучный трактат]] • [[Влияние аниме на психику]] • [[Теория завышенной численности]] • [[Принцип автономности церквей]] • [[Абдулоджихад]] • [[С.У.К.А]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ГРЕХОБОЛЕЗНИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;НОРМАТИВНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;РЕКОМЕНДАТЕЛЬНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Рекомендации к написанию статей]] • [[Справка по форматированию]] • [[Сокращения страниц]] • [[Часто-задаваемые вопросы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;ВСЁ ОСТАЛЬНОЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Центр Абдулокультуры|Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ef9a9a; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]] • [[Андрей Чикатило]] • [[Григорий Грабовой]] • [[Александр Елькин]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#a5d6a7; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] • [[Грехозаболевание]] • [[Воздушно-кабельный способ передачи заболевания]] • [[Педофилия]] • [[Валерия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffcc80; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Первый Абдулоджихад]] • [[Падение Озона]] • [[Абдулолетопись]] • [[История написания Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]] • [[Хроники карательных операций]] • [[Архив каналов-смертников]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Сониблядство = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#90caf9; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Сониблядство]] • [[Отряд 731]] • [[Сониблядск]] • [[Антон Логвинов]] • [[Itpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]] • [[Гейпад]] • [[Мыльное кинцо за 2300]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Фанаты намба ван]] • [[PlayStation Network]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffe082; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Абдуловерование]] • [[Богосатана]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдулопричастие]] • [[Абдуломолитва]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ce93d8; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Пранки над грешниками]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#80deea; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Карательный стрим]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#e6ee9c; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[GOBZAVR|Гобзавр]] • [[Влад Савельев]] • [[Алексей Поднебесный]] • [[Сергей Симонов]] • [[Дикий Треш]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Автономии адептов&amp;quot;&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Священный сервер]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопредатели&amp;quot;&amp;gt;[[Абдулопредатели]] • [[Ипотечники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffab91; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Негативные явления&amp;quot;&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Баны священных каналов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Ересь]] • [[Дольщики]] • [[Помирание]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; border-bottom:1px solid rgba(255,255,255,0.05); padding-bottom:6px; margin-bottom:6px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff59d; font-size:0.9em;&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоиконы&amp;quot;&amp;gt;[[Абдулоиконопись]] • [[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Глыба Абдулова]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#777; font-size:0.9em;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Икона Божественного Очищения]] • [[Спас на Биборане]] • [[Первая икона Богосатаны]] • [[Нейрохрамы]] • [[Священные фотожабы]] • [[Морфинг-иконы]] • [[Каноны написания ликов]] • [[Золотой Лик]] • [[Чудотворный портрет]] • [[Электро-крест «УЖАС»]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = width:140px; padding:15px;&lt;br /&gt;
|#default = width:80px; padding:6px;&lt;br /&gt;
}} text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); background: rgba(0,0,0,0.25);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|65px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|65px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|65px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|65px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|65px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|65px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|65px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|65px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|65px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|65px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|65px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|65px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|65px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Универсальный навигационный шаблон связывает статьи вики-проекта в единую сеть. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, строго перед категориями.&lt;br /&gt;
&lt;br /&gt;
== Как устроена система навигации ==&lt;br /&gt;
В шаблоне действует двухуровневая система оформления:&lt;br /&gt;
1. &#039;&#039;&#039;Главные блоки (4 шт.):&#039;&#039;&#039; &amp;lt;code&amp;gt;Грешники&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Абдулокультура&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Абдулонаука&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;База&amp;lt;/code&amp;gt;. Имеют массивную рамку, яркие акцентные заголовки и классическую разбивку по авторским подразделам.&lt;br /&gt;
2. &#039;&#039;&#039;Побочные блоки (12 шт.):&#039;&#039;&#039; Имеют компактную высоту, приглушённые тёмные тона и автоматическое распределение ссылок по строкам («В РЕЕСТРЕ» / «ТРЕБУЮТСЯ»).&lt;br /&gt;
&lt;br /&gt;
=== Параметры вызова ===&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (первый безымянный) — имя категории блока (обязательный).&lt;br /&gt;
* &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; — режим показа. По умолчанию блок свёрнут. Чтобы развернуть блок сразу при загрузке страницы, используйте &amp;lt;code&amp;gt;state=uncollapsed&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Демонстрация всех блоков навигации ==&lt;br /&gt;
&lt;br /&gt;
=== ЧАСТЬ I. ГЛАВНЫЕ БЛОКИ (КЛАССИЧЕСКИЕ) ===&lt;br /&gt;
&lt;br /&gt;
==== 1. Грешники ====&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2. Абдулокультура ====&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 3. Абдулонаука ====&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. База Центра ====&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== ЧАСТЬ II. ПОБОЧНЫЕ БЛОКИ (КОМПАКТНЫЕ ПРИГЛУШЁННЫЕ) ===&lt;br /&gt;
&lt;br /&gt;
==== 5. Великие грешники ====&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 6. Грехоболезни ====&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 7. Абдулоистория ====&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 8. Сониблядство ====&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 9. Абдулоосновы ====&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 10. Абдулоюмор ====&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 11. Абдулопередачи ====&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 12. Мерзость ====&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 13. Автономии адептов ====&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 14. Абдулопредатели ====&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 15. Негативные явления ====&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 16. Абдулоиконы ====&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4827</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4827"/>
		<updated>2026-10-19T10:54:56Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#switch:{{{1|}}}|Грешники|Абдулокультура|Абдулонаука|База=abdul-main-box|#default=abdul-sub-box}} {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = margin: 0 auto 20px auto; border-radius: 12px;&lt;br /&gt;
|#default = margin: 0 auto 14px auto; border-radius: 8px;&lt;br /&gt;
}} overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|Великие грешники  = border: 1px solid #d50000; box-shadow: 0 4px 15px rgba(213, 0, 0, 0.3);&lt;br /&gt;
|Грехоболезни      = border: 1px solid #64dd17; box-shadow: 0 4px 15px rgba(100, 221, 23, 0.25);&lt;br /&gt;
|Абдулоистория     = border: 1px solid #e65100; box-shadow: 0 4px 15px rgba(230, 81, 0, 0.3);&lt;br /&gt;
|Сониблядство      = border: 1px solid #0091ea; box-shadow: 0 4px 15px rgba(0, 145, 234, 0.3);&lt;br /&gt;
|Абдулоосновы      = border: 1px solid #ff8f00; box-shadow: 0 4px 15px rgba(255, 143, 0, 0.3);&lt;br /&gt;
|Юмор              = border: 1px solid #aa00ff; box-shadow: 0 4px 15px rgba(170, 0, 255, 0.25);&lt;br /&gt;
|Абдулопередачи    = border: 1px solid #00b4d8; box-shadow: 0 4px 15px rgba(0, 180, 216, 0.3);&lt;br /&gt;
|Мерзость          = border: 1px solid #827717; box-shadow: 0 4px 15px rgba(130, 119, 23, 0.3);&lt;br /&gt;
|Автономии адептов = border: 1px solid #607d8b; box-shadow: 0 4px 15px rgba(96, 125, 139, 0.3);&lt;br /&gt;
|Абдулопредатели   = border: 1px solid #5d4037; box-shadow: 0 4px 15px rgba(93, 64, 55, 0.35);&lt;br /&gt;
|Негативные явления = border: 1px solid #ff3d00; box-shadow: 0 4px 15px rgba(255, 61, 0, 0.3);&lt;br /&gt;
|Абдулоиконы       = border: 1px solid #ffd600; box-shadow: 0 4px 15px rgba(255, 214, 0, 0.25);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 4px 12px rgba(0,0,0,0.4);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = font-size: 1.3em; letter-spacing: 1px; padding: 15px;&lt;br /&gt;
|#default = font-size: 1.05em; letter-spacing: 0.8px; padding: 9px 12px;&lt;br /&gt;
}} {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(255, 23, 68, 0.7);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(118, 255, 3, 0.7);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(255, 183, 77, 0.7);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(64, 196, 255, 0.7);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(255, 213, 79, 0.7);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(225, 190, 231, 0.7);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(77, 208, 225, 0.7);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(212, 225, 87, 0.7);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(176, 190, 197, 0.7);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(188, 170, 164, 0.7);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(255, 138, 101, 0.7);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 1px 1px 4px rgba(0,0,0,0.9), 0 0 8px rgba(255, 238, 88, 0.7);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = padding: 20px; font-size: 0.95em; line-height: 1.7;&lt;br /&gt;
|#default = padding: 12px 16px; font-size: 0.9em; line-height: 1.6;&lt;br /&gt;
}} vertical-align: top; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОСНОВНЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[Itpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[Артемий Лебедев]] • [[Юрий Заболотских]] • [[VJLink]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Папич]] • [[Убермаргинал]] • [[Драчикула]] • [[Max Adept]] • [[Шабоз]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;«ВЕЛИКИЕ»&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Анатолий Кашпировский]] • [[Андрей Чикатило]] • [[Владимир Ленин]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Сергей Супонев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОРГАНИЗОВАННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Ипотечники]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]] • [[Детдом]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ПАЦИЕНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[GOBZAVR|Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулокультура = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;СТОЛПЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ИСКУССТВО&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Абдулоартоделие]] • [[Абдуломузыка]] • [[Абдулоплясания]] • [[Абдулокодинг]] • [[Абдулопоэзия]] • [[Абдулописательство]] • [[Нейрохрамы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРАЗДНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоджихад]] • [[Абдулопост]] • [[Абдулодам]] • [[Абдулоумертвие]] • [[День низвержения старобога и старосатаны]] • [[Взрыв на АЭС «Фукусима»]] • [[Антибомж]] • [[Абдулопорождение]] • [[День рождения Абдуловерования]] • [[День поминовения Пророка]] • [[День победы над Озонофашизмом]] • [[Деелькинизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРОЧЕЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Воздушно-кабельный способ передачи заболевания]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;РАЗДЕЛЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]] • [[Абдулолингвистика]] • [[Белая магия]] • [[Абдулофилософия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ИССЛЕДОВАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаучный трактат]] • [[Влияние аниме на психику]] • [[Теория завышенной численности]] • [[Принцип автономности церквей]] • [[Абдулоджихад]] • [[С.У.К.А]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ГРЕХОБОЛЕЗНИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;НОРМАТИВНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;РЕКОМЕНДАТЕЛЬНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Рекомендации к написанию статей]] • [[Справка по форматированию]] • [[Сокращения страниц]] • [[Часто-задаваемые вопросы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;ВСЁ ОСТАЛЬНОЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Центр Абдулокультуры|Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(213,0,0,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 4px rgba(255,23,68,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]] • [[Андрей Чикатило]] • [[Григорий Грабовой]] • [[Александр Елькин]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(100,221,23,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 4px rgba(118,255,3,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] • [[Грехозаболевание]] • [[Воздушно-кабельный способ передачи заболевания]] • [[Педофилия]] • [[Валерия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b9f6ca; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(230,81,0,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 4px rgba(255,183,77,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Первый Абдулоджихад]] • [[Падение Озона]] • [[Абдулолетопись]] • [[История написания Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffe0b2; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]] • [[Хроники карательных операций]] • [[Архив каналов-смертников]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Сониблядство = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(0,145,234,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 4px rgba(64,196,255,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Сониблядство]] • [[Отряд 731]] • [[Сониблядск]] • [[Антон Логвинов]] • [[Itpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]] • [[Гейпад]] • [[Мыльное кинцо за 2300]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b3e5fc; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Фанаты намба ван]] • [[PlayStation Network]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(255,143,0,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 4px rgba(255,213,79,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Абдуловерование]] • [[Богосатана]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдулопричастие]] • [[Абдуломолитва]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffecb3; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(170,0,255,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 4px rgba(234,128,252,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Пранки над грешниками]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f8bbd0; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(0,180,216,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 4px rgba(77,208,225,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Карательный стрим]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b2ebf2; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(130,119,23,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 4px rgba(212,225,87,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[GOBZAVR|Гобзавр]] • [[Влад Савельев]] • [[Алексей Поднебесный]] • [[Сергей Симонов]] • [[Дикий Треш]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f0f4c3; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(96,125,139,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 4px rgba(176,190,197,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Автономии адептов&amp;quot;&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Священный сервер]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#cfd8dc; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(93,64,55,0.3); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; text-shadow: 0 0 4px rgba(188,170,164,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопредатели&amp;quot;&amp;gt;[[Абдулопредатели]] • [[Ипотечники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d7ccc8; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(255,61,0,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 4px rgba(255,138,101,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Негативные явления&amp;quot;&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Баны священных каналов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffccbc; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Ересь]] • [[Дольщики]] • [[Помирание]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; border-bottom:1px solid rgba(255,214,0,0.25); padding-bottom:8px; margin-bottom:8px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 4px rgba(255,238,88,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоиконы&amp;quot;&amp;gt;[[Абдулоиконопись]] • [[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Глыба Абдулова]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 125px 1fr; gap: 12px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff59d; opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Икона Божественного Очищения]] • [[Спас на Биборане]] • [[Первая икона Богосатаны]] • [[Нейрохрамы]] • [[Священные фотожабы]] • [[Морфинг-иконы]] • [[Каноны написания ликов]] • [[Золотой Лик]] • [[Чудотворный портрет]] • [[Электро-крест «УЖАС»]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники|Абдулокультура|Абдулонаука|База = width:140px; padding:15px;&lt;br /&gt;
|#default = width:95px; padding:8px;&lt;br /&gt;
}} text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); background: rgba(0,0,0,0.2);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|75px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|75px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|75px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|75px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|75px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|75px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|75px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|75px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|75px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|75px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|75px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|75px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|75px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Универсальный навигационный шаблон связывает статьи вики-проекта в единую сеть[cite: 3]. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, строго перед категориями[cite: 3].&lt;br /&gt;
&lt;br /&gt;
== Как устроена система навигации ==&lt;br /&gt;
В шаблоне реализовано двухуровневое разделение:&lt;br /&gt;
1. &#039;&#039;&#039;Главные блоки (4 штуки):&#039;&#039;&#039; Грешники, Абдулокультура, Абдулонаука, База[cite: 3]. Имеют массивный классический дизайн и чёткое разделение на каноничные подразделы (например, «ОСНОВНЫЕ», «СТОЛПЫ», «НОРМАТИВНАЯ ЧАСТЬ»)[cite: 3]. Их разметка стабильна и не перестраивается скриптом[cite: 3].&lt;br /&gt;
2. &#039;&#039;&#039;Побочные блоки (12 штук):&#039;&#039;&#039; Имеют компактный дизайн и встроенную автоматику (подтягивание новых статей из категории в строку «В РЕЕСТРЕ» и отображение фронта ненаписанных страниц в строке «ТРЕБУЮТСЯ»).&lt;br /&gt;
&lt;br /&gt;
В статьях можно комбинировать один главный блок и при необходимости дополнительный компактный побочный блок.&lt;br /&gt;
&lt;br /&gt;
=== Параметры вызова ===&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (первый безымянный) — имя категории блока (обязательный).&lt;br /&gt;
* &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; — режим показа. По умолчанию свёрнут. Для разворота используйте &amp;lt;code&amp;gt;state=uncollapsed&amp;lt;/code&amp;gt;[cite: 3].&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Демонстрация всех блоков навигации ==&lt;br /&gt;
&lt;br /&gt;
=== ЧАСТЬ I. ГЛАВНЫЕ БЛОКИ (КЛАССИЧЕСКИЕ) ===&lt;br /&gt;
&lt;br /&gt;
==== 1. Грешники ====&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 2. Абдулокультура ====&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 3. Абдулонаука ====&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 4. База Центра ====&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== ЧАСТЬ II. ПОБОЧНЫЕ БЛОКИ (КОМПАКТНЫЕ С АВТОМАТИКОЙ) ===&lt;br /&gt;
&lt;br /&gt;
==== 5. Великие грешники ====&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 6. Грехоболезни ====&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 7. Абдулоистория ====&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 8. Сониблядство ====&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 9. Абдулоосновы ====&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 10. Абдулоюмор ====&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 11. Абдулопередачи ====&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 12. Мерзость ====&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 13. Автономии адептов ====&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 14. Абдулопредатели ====&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 15. Негативные явления ====&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
==== 16. Абдулоиконы ====&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 3]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]][cite: 3]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4826</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4826"/>
		<updated>2026-10-19T10:53:47Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическое пополнение и сортировка для побочных навигационных блоков */&lt;br /&gt;
(function() {&lt;br /&gt;
    function initAbdulSubNav($content) {&lt;br /&gt;
        $content = $content || $(document);&lt;br /&gt;
        var $subBoxes = $content.find(&#039;.abdul-sub-box&#039;);&lt;br /&gt;
        if (!$subBoxes.length) return;&lt;br /&gt;
&lt;br /&gt;
        $subBoxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length) return;&lt;br /&gt;
&lt;br /&gt;
            function updateLinks(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                // Сканируем ссылки побочного блока&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // Подтягиваем вновь созданные статьи из категории&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Перерисовка блока «В РЕЕСТРЕ»&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // Перерисовка блока «ТРЕБУЮТСЯ»&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            updateLinks();&lt;br /&gt;
&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        updateLinks(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (window.mw &amp;amp;&amp;amp; mw.hook) {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(initAbdulSubNav);&lt;br /&gt;
    } else {&lt;br /&gt;
        $(document).ready(function() { initAbdulSubNav($(document)); });&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4825</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4825"/>
		<updated>2026-10-19T10:46:58Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Великие грешники  = border: 2px solid #d50000; box-shadow: 0 8px 25px rgba(213, 0, 0, 0.45);&lt;br /&gt;
|Грехоболезни      = border: 2px solid #64dd17; box-shadow: 0 8px 25px rgba(100, 221, 23, 0.35);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|Абдулоистория     = border: 2px solid #e65100; box-shadow: 0 8px 25px rgba(230, 81, 0, 0.4);&lt;br /&gt;
|Сониблядство      = border: 2px solid #0091ea; box-shadow: 0 8px 25px rgba(0, 145, 234, 0.4);&lt;br /&gt;
|Абдулоосновы      = border: 2px solid #ff8f00; box-shadow: 0 8px 25px rgba(255, 143, 0, 0.4);&lt;br /&gt;
|Юмор              = border: 2px solid #aa00ff; box-shadow: 0 8px 25px rgba(170, 0, 255, 0.35);&lt;br /&gt;
|Абдулопередачи    = border: 2px solid #00b4d8; box-shadow: 0 8px 25px rgba(0, 180, 216, 0.4);&lt;br /&gt;
|Мерзость          = border: 2px solid #827717; box-shadow: 0 8px 25px rgba(130, 119, 23, 0.4);&lt;br /&gt;
|Автономии адептов = border: 2px solid #607d8b; box-shadow: 0 8px 25px rgba(96, 125, 139, 0.4);&lt;br /&gt;
|Абдулопредатели   = border: 2px solid #5d4037; box-shadow: 0 8px 25px rgba(93, 64, 55, 0.45);&lt;br /&gt;
|Негативные явления = border: 2px solid #ff3d00; box-shadow: 0 8px 25px rgba(255, 61, 0, 0.4);&lt;br /&gt;
|Абдулоиконы       = border: 2px solid #ffd600; box-shadow: 0 8px 25px rgba(255, 214, 0, 0.35);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 5px 15px rgba(0,0,0,0.5);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.3em; letter-spacing: 1px; padding: 15px; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 23, 68, 0.8);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(118, 255, 3, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 183, 77, 0.8);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(64, 196, 255, 0.8);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 213, 79, 0.8);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(225, 190, 231, 0.8);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(77, 208, 225, 0.8);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(212, 225, 87, 0.8);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(176, 190, 197, 0.8);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(188, 170, 164, 0.8);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 138, 101, 0.8);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 20px; vertical-align: top; font-size: 0.95em; line-height: 1.7; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грешники&amp;quot;&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[Itpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[VJLink]] • [[GOBZAVR]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]] • [[Детдом]] • [[Корпорация Sony]] • [[Сониблядск]] • [[Шабоз]] • [[Max Adept]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Артемий Лебедев]] • [[Альфа-Легион]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[ComodoPangolin]] • [[Инал Алтуев]] • [[Папич]] • [[Убермаргинал]] • [[Юрий Заболотских]] • [[Церковь Ультраспасителей]] • [[Драчикула]] • [[Ипотечники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]] • [[Андрей Чикатило]] • [[Григорий Грабовой]] • [[Александр Елькин]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(100,221,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] • [[Грехозаболевание]] • [[Воздушно-кабельный способ передачи заболевания]] • [[Педофилия]] • [[Валерия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b9f6ca; text-shadow: 0 0 5px rgba(185,246,202,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулокультура&amp;quot;&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]] • [[Глыба Абдулова]] • [[Абдулоджихад]] • [[Абдулопост]] • [[Абдулоиконопись]] • [[Абдуломузыка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff9c4; text-shadow: 0 0 5px rgba(255,249,196,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулонаука&amp;quot;&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#c5cae9; text-shadow: 0 0 5px rgba(197,202,233,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Первый Абдулоджихад]] • [[Падение Озона]] • [[Абдулолетопись]] • [[История написания Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffe0b2; text-shadow: 0 0 5px rgba(255,224,178,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]] • [[Хроники карательных операций]] • [[Архив каналов-смертников]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Сониблядство = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Сониблядство]] • [[Отряд 731]] • [[Сониблядск]] • [[Антон Логвинов]] • [[Itpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]] • [[Гейпад]] • [[Мыльное кинцо за 2300]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b3e5fc; text-shadow: 0 0 5px rgba(179,229,252,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Фанаты намба ван]] • [[PlayStation Network]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Абдуловерование]] • [[Богосатана]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдулопричастие]] • [[Абдуломолитва]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffecb3; text-shadow: 0 0 5px rgba(255,236,179,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(170,0,255,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Пранки над грешниками]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f8bbd0; text-shadow: 0 0 5px rgba(248,187,208,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(0,180,216,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Карательный стрим]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b2ebf2; text-shadow: 0 0 5px rgba(178,235,242,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[GOBZAVR|Гобзавр]] • [[Влад Савельев]] • [[Алексей Поднебесный]] • [[Сергей Симонов]] • [[Дикий Треш]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f0f4c3; text-shadow: 0 0 5px rgba(240,244,195,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Автономии адептов&amp;quot;&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Священный сервер]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#cfd8dc; text-shadow: 0 0 5px rgba(207,216,220,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(93,64,55,0.4); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; text-shadow: 0 0 5px rgba(188,170,164,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопредатели&amp;quot;&amp;gt;[[Абдулопредатели]] • [[Ипотечники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d7ccc8; text-shadow: 0 0 5px rgba(215,204,200,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Негативные явления&amp;quot;&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Баны священных каналов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffccbc; text-shadow: 0 0 5px rgba(255,204,188,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Ересь]] • [[Дольщики]] • [[Помирание]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоиконы&amp;quot;&amp;gt;[[Абдулоиконопись]] • [[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Глыба Абдулова]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff59d; text-shadow: 0 0 5px rgba(255,245,157,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;База&amp;quot;&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]] • [[Справка по форматированию]] • [[Рекомендации к написанию статей]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-wanted-row&amp;quot; style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffcdd2; text-shadow: 0 0 5px rgba(255,205,210,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Сокращения страниц]] • [[Часто-задаваемые вопросы]] • [[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;width:140px; text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); padding:15px; background: rgba(0,0,0,0.2);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|120px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|120px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|120px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|120px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|120px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|120px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|120px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|120px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|120px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Универсальный навигационный шаблон связывает статьи вики-проекта в единую сеть и упрощает переход по смежным материалам. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, строго перед категориями.&lt;br /&gt;
&lt;br /&gt;
== Как использовать ==&lt;br /&gt;
В зависимости от тематики статьи шаблон вызывается с указанием имени нужной категории первым параметром: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Название}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
* Шаблон автоматически проставляет соответствующую категорию странице (кроме пространства «База»).&lt;br /&gt;
* Верхняя строка (&#039;&#039;&#039;В РЕЕСТРЕ&#039;&#039;&#039;) содержит существующие статьи и автоматически пополняется скриптом из категории при создании новых страниц.&lt;br /&gt;
* Нижняя строка (&#039;&#039;&#039;ТРЕБУЮТСЯ&#039;&#039;&#039;) отображает ещё ненаписанные статьи красными ссылками, формируя фронт работ для адептов. При написании статьи ссылка автоматически перемещается в верхний блок.&lt;br /&gt;
&lt;br /&gt;
=== Параметры вызова ===&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (первый безымянный) — имя категории блока (обязательный).&lt;br /&gt;
* &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; — режим показа. По умолчанию блок свёрнут. Чтобы развернуть блок сразу при загрузке страницы, используйте &amp;lt;code&amp;gt;state=uncollapsed&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Каталог блоков и примеры применения ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Грешники ===&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об основных интернет-пациентах, блогерах, стримерах, организованных группировках и врагах веры.&lt;br /&gt;
&lt;br /&gt;
=== 2. Великие грешники ===&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об исторических правителях, телеведущих 90-х, создателях пирамид, лидерах деструктивных культов и маньяках.&lt;br /&gt;
&lt;br /&gt;
=== 3. Грехоболезни ===&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Аналитические статьи о патогенезе греха, озонизации, сониблядстве, феторизме и способах заражения через кабель.&lt;br /&gt;
&lt;br /&gt;
=== 4. Абдулокультура ===&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи о столпах веры, творчестве адептов (музыка, иконопись, артоделие, кодинг) и священных праздниках.&lt;br /&gt;
&lt;br /&gt;
=== 5. Абдулонаука ===&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Теоретические разделы богословия, трактаты, исследования аниме, АЭЛ, догматика Биборана и концепции мироздания.&lt;br /&gt;
&lt;br /&gt;
=== 6. Абдулоистория ===&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Исторические хроники, периоды зарождения и золотого века веры, описания великих джихадов, рейдов и походов.&lt;br /&gt;
&lt;br /&gt;
=== 7. Сониблядство ===&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Материалы о деятельности Корпорации Sony, Отряде 731, консольных грешниках, гейпадах и мыльном кинце.&lt;br /&gt;
&lt;br /&gt;
=== 8. Абдулоосновы ===&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Базовые тексты Священного Биборана, каноны, заповеди Богосатаны, обряды посвящения и причастия.&lt;br /&gt;
&lt;br /&gt;
=== 9. Юмор ===&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Каноничные мемы движения, цитатник Пророка, пасты, анекдоты, записи телефонных пранков и пародии.&lt;br /&gt;
&lt;br /&gt;
=== 10. Абдулопередачи ===&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи о циклах вещания Биборан ТВ, карательных стримах, судебных выпусках и разоблачительных передачах.&lt;br /&gt;
&lt;br /&gt;
=== 11. Мерзость ===&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Досье на опустившихся треш-стримеров, алкашей, детдомовцев, донатных попрошаек и грязные притоны.&lt;br /&gt;
&lt;br /&gt;
=== 12. Автономии адептов ===&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об устройстве автономных церквей, региональных ячейках, фронтах рейдов и протоколах связи.&lt;br /&gt;
&lt;br /&gt;
=== 13. Абдулопредатели ===&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Реестры отступников, статьи об ипотечниках, бывших адептах и лицах, предавших идеи движения.&lt;br /&gt;
&lt;br /&gt;
=== 14. Негативные явления ===&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Описание внутренних угроз (ШУЕ, ереси, помирание), цензуры YouTube, банов каналов и внешних атак.&lt;br /&gt;
&lt;br /&gt;
=== 15. Абдулоиконы ===&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об иконописи, священных ликах Богосатаны, реликвиях (Глыба, Электро-крест), фотожабах и нейрохрамах.&lt;br /&gt;
&lt;br /&gt;
=== 16. База ===&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Служебные страницы проекта: устав Центра, справки по разметке, инструкции по написанию статей и регламенты.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4824</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4824"/>
		<updated>2026-10-19T10:46:07Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая двусторонняя сортировка и пополнение навигации */&lt;br /&gt;
(function() {&lt;br /&gt;
    function initAbdulNav($content) {&lt;br /&gt;
        $content = $content || $(document);&lt;br /&gt;
        var $boxes = $content.find(&#039;.abdul-smooth-box&#039;).addBack(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
        if (!$boxes.length) return;&lt;br /&gt;
&lt;br /&gt;
        $boxes.each(function() {&lt;br /&gt;
            var $box = $(this);&lt;br /&gt;
            var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
            var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
            var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
            if (!$ready.length || !$wanted.length) return;&lt;br /&gt;
&lt;br /&gt;
            function sortAndDisplay(extraMembers) {&lt;br /&gt;
                var readyLinks = [];&lt;br /&gt;
                var wantedLinks = [];&lt;br /&gt;
                var seen = {};&lt;br /&gt;
&lt;br /&gt;
                // 1. Сканируем абсолютно все ссылки внутри блока и сортируем по наличию класса .new&lt;br /&gt;
                $box.find(&#039;.abdul-nav-ready a, .abdul-nav-wanted a&#039;).each(function() {&lt;br /&gt;
                    var $a = $(this).clone();&lt;br /&gt;
                    var title = ($a.attr(&#039;title&#039;) || $a.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    if (!title || seen[key]) return;&lt;br /&gt;
                    seen[key] = true;&lt;br /&gt;
&lt;br /&gt;
                    // MediaWiki всегда присваивает несуществующим статьям класс &amp;quot;new&amp;quot;&lt;br /&gt;
                    if ($a.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                        wantedLinks.push($a);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        readyLinks.push($a);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 2. Если пришли статьи из API категории — добавляем новые и актуализируем статус&lt;br /&gt;
                if (extraMembers &amp;amp;&amp;amp; extraMembers.length) {&lt;br /&gt;
                    $.each(extraMembers, function(i, member) {&lt;br /&gt;
                        var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                        var key = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                        // Если статья значилась в требуемых, но уже создана — удаляем из wanted&lt;br /&gt;
                        if (seen[key]) {&lt;br /&gt;
                            wantedLinks = wantedLinks.filter(function($link) {&lt;br /&gt;
                                var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                                return t !== key;&lt;br /&gt;
                            });&lt;br /&gt;
                        }&lt;br /&gt;
&lt;br /&gt;
                        // Если статьи нет в списке существующих — добавляем&lt;br /&gt;
                        var alreadyInReady = readyLinks.some(function($link) {&lt;br /&gt;
                            var t = ($link.attr(&#039;title&#039;) || $link.text()).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                            return t === key;&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        if (!alreadyInReady) {&lt;br /&gt;
                            var $newA = $(&#039;&amp;lt;a&amp;gt;&amp;lt;/a&amp;gt;&#039;)&lt;br /&gt;
                                .attr(&#039;href&#039;, mw.util.getUrl(title))&lt;br /&gt;
                                .attr(&#039;title&#039;, title)&lt;br /&gt;
                                .text(title);&lt;br /&gt;
                            readyLinks.push($newA);&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 3. Перерисовываем «В РЕЕСТРЕ» (только синие)&lt;br /&gt;
                $ready.empty();&lt;br /&gt;
                $.each(readyLinks, function(i, $link) {&lt;br /&gt;
                    if (i &amp;gt; 0) $ready.append(&#039; • &#039;);&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 4. Перерисовываем «ТРЕБУЮТСЯ» (только красные)&lt;br /&gt;
                $wanted.empty();&lt;br /&gt;
                if (wantedLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $.each(wantedLinks, function(i, $link) {&lt;br /&gt;
                        if (i &amp;gt; 0) $wanted.append(&#039; • &#039;);&lt;br /&gt;
                        $wanted.append($link);&lt;br /&gt;
                    });&lt;br /&gt;
                    $wanted.closest(&#039;.abdul-wanted-row&#039;).show();&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wanted.append(&#039;&amp;lt;span style=&amp;quot;color:#777; font-style:italic;&amp;quot;&amp;gt;Все статьи написаны&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Мгновенная раскладка при загрузке страницы&lt;br /&gt;
            sortAndDisplay();&lt;br /&gt;
&lt;br /&gt;
            // Фоновый запрос к API категории&lt;br /&gt;
            if (catName) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    list: &#039;categorymembers&#039;,&lt;br /&gt;
                    cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
                    cmnamespace: 0,&lt;br /&gt;
                    cmlimit: 500,&lt;br /&gt;
                    format: &#039;json&#039;&lt;br /&gt;
                }).done(function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                        sortAndDisplay(data.query.categorymembers);&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (window.mw &amp;amp;&amp;amp; mw.hook) {&lt;br /&gt;
        mw.hook(&#039;wikipage.content&#039;).add(initAbdulNav);&lt;br /&gt;
    } else {&lt;br /&gt;
        $(document).ready(function() { initAbdulNav($(document)); });&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4823</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4823"/>
		<updated>2026-10-19T10:42:52Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Великие грешники  = border: 2px solid #d50000; box-shadow: 0 8px 25px rgba(213, 0, 0, 0.45);&lt;br /&gt;
|Грехоболезни      = border: 2px solid #64dd17; box-shadow: 0 8px 25px rgba(100, 221, 23, 0.35);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|Абдулоистория     = border: 2px solid #e65100; box-shadow: 0 8px 25px rgba(230, 81, 0, 0.4);&lt;br /&gt;
|Сониблядство      = border: 2px solid #0091ea; box-shadow: 0 8px 25px rgba(0, 145, 234, 0.4);&lt;br /&gt;
|Абдулоосновы      = border: 2px solid #ff8f00; box-shadow: 0 8px 25px rgba(255, 143, 0, 0.4);&lt;br /&gt;
|Юмор              = border: 2px solid #aa00ff; box-shadow: 0 8px 25px rgba(170, 0, 255, 0.35);&lt;br /&gt;
|Абдулопередачи    = border: 2px solid #00b4d8; box-shadow: 0 8px 25px rgba(0, 180, 216, 0.4);&lt;br /&gt;
|Мерзость          = border: 2px solid #827717; box-shadow: 0 8px 25px rgba(130, 119, 23, 0.4);&lt;br /&gt;
|Автономии адептов = border: 2px solid #607d8b; box-shadow: 0 8px 25px rgba(96, 125, 139, 0.4);&lt;br /&gt;
|Абдулопредатели   = border: 2px solid #5d4037; box-shadow: 0 8px 25px rgba(93, 64, 55, 0.45);&lt;br /&gt;
|Негативные явления = border: 2px solid #ff3d00; box-shadow: 0 8px 25px rgba(255, 61, 0, 0.4);&lt;br /&gt;
|Абдулоиконы       = border: 2px solid #ffd600; box-shadow: 0 8px 25px rgba(255, 214, 0, 0.35);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 5px 15px rgba(0,0,0,0.5);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.3em; letter-spacing: 1px; padding: 15px; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 23, 68, 0.8);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(118, 255, 3, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 183, 77, 0.8);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(64, 196, 255, 0.8);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 213, 79, 0.8);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(225, 190, 231, 0.8);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(77, 208, 225, 0.8);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(212, 225, 87, 0.8);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(176, 190, 197, 0.8);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(188, 170, 164, 0.8);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 138, 101, 0.8);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 20px; vertical-align: top; font-size: 0.95em; line-height: 1.7; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грешники&amp;quot;&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[ITpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[VJLink]] • [[Папич]] • [[Убермаргинал]] • [[Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]] • [[Детдом]] • [[Отряд 731]] • [[Сониблядск]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Драчикула]] • [[MaxAdept]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Юрий Заболотских]] • [[Артемий Лебедев]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]] • [[Андрей Чикатило]] • [[Григорий Грабовой]] • [[Александр Елькин]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(100,221,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] • [[Грехозаболевание]] • [[Воздушно-кабельный способ передачи заболевания]] • [[Педофилия]] • [[Валерия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b9f6ca; text-shadow: 0 0 5px rgba(185,246,202,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулокультура&amp;quot;&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]] • [[Глыба Абдулова]] • [[Абдулоджихад]] • [[Абдулопост]] • [[Абдулоиконопись]] • [[Абдуломузыка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff9c4; text-shadow: 0 0 5px rgba(255,249,196,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулонаука&amp;quot;&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#c5cae9; text-shadow: 0 0 5px rgba(197,202,233,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Первый Абдулоджихад]] • [[Падение Озона]] • [[Абдулолетопись]] • [[История написания Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffe0b2; text-shadow: 0 0 5px rgba(255,224,178,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]] • [[Хроники карательных операций]] • [[Архив каналов-смертников]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Сониблядство = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Сониблядство]] • [[Отряд 731]] • [[Сониблядск]] • [[Антон Логвинов]] • [[ITpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]] • [[Гейпад]] • [[Мыльное кинцо за 2300]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b3e5fc; text-shadow: 0 0 5px rgba(179,229,252,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Фанаты намба ван]] • [[PlayStation Network]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Абдуловерование]] • [[Богосатана]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдулопричастие]] • [[Абдуломолитва]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffecb3; text-shadow: 0 0 5px rgba(255,236,179,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(170,0,255,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Пранки над грешниками]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f8bbd0; text-shadow: 0 0 5px rgba(248,187,208,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(0,180,216,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Карательный стрим]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b2ebf2; text-shadow: 0 0 5px rgba(178,235,242,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[Гобзавр]] • [[Влад Савельев]] • [[Алексей Поднебесный]] • [[Сергей Симонов]] • [[Дикий Треш]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f0f4c3; text-shadow: 0 0 5px rgba(240,244,195,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Автономии адептов&amp;quot;&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Священный сервер]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#cfd8dc; text-shadow: 0 0 5px rgba(207,216,220,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(93,64,55,0.4); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; text-shadow: 0 0 5px rgba(188,170,164,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопредатели&amp;quot;&amp;gt;[[Абдулопредатели]] • [[Ипотечники]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d7ccc8; text-shadow: 0 0 5px rgba(215,204,200,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Негативные явления&amp;quot;&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Баны священных каналов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffccbc; text-shadow: 0 0 5px rgba(255,204,188,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Ересь]] • [[Дольщики]] • [[Помирание]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоиконы&amp;quot;&amp;gt;[[Абдулоиконопись]] • [[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Глыба Абдулова]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff59d; text-shadow: 0 0 5px rgba(255,245,157,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;База&amp;quot;&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]] • [[Справка по форматированию]] • [[Рекомендации к написанию статей]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffcdd2; text-shadow: 0 0 5px rgba(255,205,210,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Сокращения страниц]] • [[Часто-задаваемые вопросы]] • [[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;width:140px; text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); padding:15px; background: rgba(0,0,0,0.2);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|120px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|120px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|120px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|120px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|120px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|120px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|120px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|120px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|120px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Универсальный навигационный шаблон связывает статьи вики-проекта в единую сеть и упрощает переход по смежным материалам[cite: 9, 21]. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, строго перед категориями[cite: 9, 21].&lt;br /&gt;
&lt;br /&gt;
== Как использовать ==&lt;br /&gt;
В зависимости от тематики статьи шаблон вызывается с указанием имени нужной категории первым параметром: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Название}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;[cite: 9, 21]. &lt;br /&gt;
&lt;br /&gt;
* Шаблон автоматически проставляет соответствующую категорию странице (кроме пространства «База»)[cite: 9].&lt;br /&gt;
* Верхняя строка (&#039;&#039;&#039;В РЕЕСТРЕ&#039;&#039;&#039;) содержит существующие статьи и автоматически пополняется скриптом из категории при создании новых страниц.&lt;br /&gt;
* Нижняя строка (&#039;&#039;&#039;ТРЕБУЮТСЯ&#039;&#039;&#039;) отображает ещё ненаписанные статьи красными ссылками, формируя фронт работ для адептов. При написании статьи ссылка автоматически перемещается в верхний блок.&lt;br /&gt;
&lt;br /&gt;
=== Параметры вызова ===&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; (первый безымянный) — имя категории блока (обязательный).&lt;br /&gt;
* &amp;lt;code&amp;gt;state&amp;lt;/code&amp;gt; — режим показа. По умолчанию блок свёрнут. Чтобы развернуть блок сразу при загрузке страницы, используйте &amp;lt;code&amp;gt;state=uncollapsed&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Каталог блоков и примеры применения ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Грешники ===&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об основных интернет-пациентах, блогерах, стримерах, организованных группировках и врагах веры[cite: 21].&lt;br /&gt;
&lt;br /&gt;
=== 2. Великие грешники ===&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об исторических правителях, телеведущих 90-х, создателях пирамид, лидерах деструктивных культов и маньяках.&lt;br /&gt;
&lt;br /&gt;
=== 3. Грехоболезни ===&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Аналитические статьи о патогенезе греха, озонизации, сониблядстве, феторизме и способах заражения через кабель.&lt;br /&gt;
&lt;br /&gt;
=== 4. Абдулокультура ===&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи о столпах веры, творчестве адептов (музыка, иконопись, артоделие, кодинг) и священных праздниках[cite: 21].&lt;br /&gt;
&lt;br /&gt;
=== 5. Абдулонаука ===&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Теоретические разделы богословия, трактаты, исследования аниме, АЭЛ, догматика Биборана и концепции мироздания.&lt;br /&gt;
&lt;br /&gt;
=== 6. Абдулоистория ===&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Исторические хроники, периоды зарождения и золотого века веры, описания великих джихадов, рейдов и походов.&lt;br /&gt;
&lt;br /&gt;
=== 7. Сониблядство ===&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Материалы о деятельности Корпорации Sony, Отряде 731, консольных грешниках, гейпадах и мыльном кинце.&lt;br /&gt;
&lt;br /&gt;
=== 8. Абдулоосновы ===&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Базовые тексты Священного Биборана, каноны, заповеди Богосатаны, обряды посвящения и причастия.&lt;br /&gt;
&lt;br /&gt;
=== 9. Юмор ===&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Каноничные мемы движения, цитатник Пророка, пасты, анекдоты, записи телефонных пранков и пародии.&lt;br /&gt;
&lt;br /&gt;
=== 10. Абдулопередачи ===&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи о циклах вещания Биборан ТВ, карательных стримах, судебных выпусках и разоблачительных передачах.&lt;br /&gt;
&lt;br /&gt;
=== 11. Мерзость ===&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Досье на опустившихся треш-стримеров, алкашей, детдомовцев, донатных попрошаек и грязные притоны.&lt;br /&gt;
&lt;br /&gt;
=== 12. Автономии адептов ===&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об устройстве автономных церквей, региональных ячейках, фронтах рейдов и протоколах связи.&lt;br /&gt;
&lt;br /&gt;
=== 13. Абдулопредатели ===&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Реестры отступников, статьи об ипотечниках, бывших адептах и лицах, предавших идеи движения.&lt;br /&gt;
&lt;br /&gt;
=== 14. Негативные явления ===&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Описание внутренних угроз (ШУЕ, ереси, помирание), цензуры YouTube, банов каналов и внешних атак.&lt;br /&gt;
&lt;br /&gt;
=== 15. Абдулоиконы ===&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Статьи об иконописи, священных ликах Богосатаны, реликвиях (Глыба, Электро-крест), фотожабах и нейрохрамах.&lt;br /&gt;
&lt;br /&gt;
=== 16. База ===&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
* &#039;&#039;&#039;Код для вставки:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Где использовать:&#039;&#039;&#039; Служебные страницы проекта: устав Центра, справки по разметке, инструкции по написанию статей и регламенты.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4822</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4822"/>
		<updated>2026-10-19T10:40:13Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Великие грешники  = border: 2px solid #d50000; box-shadow: 0 8px 25px rgba(213, 0, 0, 0.45);&lt;br /&gt;
|Грехоболезни      = border: 2px solid #64dd17; box-shadow: 0 8px 25px rgba(100, 221, 23, 0.35);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|Абдулоистория     = border: 2px solid #e65100; box-shadow: 0 8px 25px rgba(230, 81, 0, 0.4);&lt;br /&gt;
|Сониблядство      = border: 2px solid #0091ea; box-shadow: 0 8px 25px rgba(0, 145, 234, 0.4);&lt;br /&gt;
|Абдулоосновы      = border: 2px solid #ff8f00; box-shadow: 0 8px 25px rgba(255, 143, 0, 0.4);&lt;br /&gt;
|Юмор              = border: 2px solid #aa00ff; box-shadow: 0 8px 25px rgba(170, 0, 255, 0.35);&lt;br /&gt;
|Абдулопередачи    = border: 2px solid #00b4d8; box-shadow: 0 8px 25px rgba(0, 180, 216, 0.4);&lt;br /&gt;
|Мерзость          = border: 2px solid #827717; box-shadow: 0 8px 25px rgba(130, 119, 23, 0.4);&lt;br /&gt;
|Автономии адептов = border: 2px solid #607d8b; box-shadow: 0 8px 25px rgba(96, 125, 139, 0.4);&lt;br /&gt;
|Абдулопредатели   = border: 2px solid #5d4037; box-shadow: 0 8px 25px rgba(93, 64, 55, 0.45);&lt;br /&gt;
|Негативные явления = border: 2px solid #ff3d00; box-shadow: 0 8px 25px rgba(255, 61, 0, 0.4);&lt;br /&gt;
|Абдулоиконы       = border: 2px solid #ffd600; box-shadow: 0 8px 25px rgba(255, 214, 0, 0.35);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 5px 15px rgba(0,0,0,0.5);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.3em; letter-spacing: 1px; padding: 15px; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 23, 68, 0.8);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(118, 255, 3, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 183, 77, 0.8);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(64, 196, 255, 0.8);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 213, 79, 0.8);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(225, 190, 231, 0.8);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(77, 208, 225, 0.8);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(212, 225, 87, 0.8);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(176, 190, 197, 0.8);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(188, 170, 164, 0.8);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 138, 101, 0.8);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 238, 88, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 20px; vertical-align: top; font-size: 0.95em; line-height: 1.7; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грешники&amp;quot;&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[ITpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[VJLink]] • [[Папич]] • [[Убермаргинал]] • [[Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]] • [[Детдом]] • [[Отряд 731]] • [[Сониблядск]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Драчикула]] • [[MaxAdept]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Юрий Заболотских]] • [[Артемий Лебедев]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]] • [[Андрей Чикатило]] • [[Григорий Грабовой]] • [[Александр Елькин]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(100,221,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] • [[Грехозаболевание]] • [[Воздушно-кабельный способ передачи заболевания]] • [[Педофилия]] • [[Валерия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b9f6ca; text-shadow: 0 0 5px rgba(185,246,202,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулокультура&amp;quot;&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]] • [[Глыба Абдулова]] • [[Абдулоджихад]] • [[Абдулопост]] • [[Абдулоиконопись]] • [[Абдуломузыка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#fff9c4; text-shadow: 0 0 5px rgba(255,249,196,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулонаука&amp;quot;&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#c5cae9; text-shadow: 0 0 5px rgba(197,202,233,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Первый Абдулоджихад]] • [[Падение Озона]] • [[Абдулолетопись]] • [[История написания Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffe0b2; text-shadow: 0 0 5px rgba(255,224,178,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]] • [[Хроники карательных операций]] • [[Архив каналов-смертников]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Сониблядство = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Сониблядство]] • [[Отряд 731]] • [[Сониблядск]] • [[Антон Логвинов]] • [[ITpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]] • [[Гейпад]] • [[Мыльное кинцо за 2300]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b3e5fc; text-shadow: 0 0 5px rgba(179,229,252,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;gt;[[Фанаты намба ван]] • [[PlayStation Network]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Абдуловерование]] • [[Богосатана]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдулопричастие]] • [[Абдуломолитва]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffecb3; text-shadow: 0 0 5px rgba(255,236,179,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(170,0,255,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Пранки над грешниками]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f8bbd0; text-shadow: 0 0 5px rgba(248,187,208,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(0,180,216,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Карательный стрим]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b2ebf2; text-shadow: 0 0 5px rgba(178,235,242,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;В РЕЕСТРЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-ready&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[Гобзавр]] • [[Влад Савельев]] • [[Алексей Поднебесный]] • [[Сергей Симонов]] • [[Дикий Треш]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#f0f4c3; text-shadow: 0 0 5px rgba(240,244,195,0.3); opacity:0.85;&amp;quot;&amp;gt;ТРЕБУЮТСЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-nav-wanted&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: start;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4821</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4821"/>
		<updated>2026-10-19T10:39:54Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическое пополнение и распределение статей (В реестре / Требуются) */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    var $boxes = $content.find(&#039;.abdul-smooth-box&#039;);&lt;br /&gt;
    if (!$boxes.length) return;&lt;br /&gt;
&lt;br /&gt;
    $boxes.each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        var $ready = $box.find(&#039;.abdul-nav-ready&#039;);&lt;br /&gt;
        var $wanted = $box.find(&#039;.abdul-nav-wanted&#039;);&lt;br /&gt;
        var catName = $ready.data(&#039;cat&#039;);&lt;br /&gt;
&lt;br /&gt;
        if (!catName || !$ready.length) return;&lt;br /&gt;
&lt;br /&gt;
        // 1. Собираем карту ВСЕХ ссылок блока, чтобы гарантировать отсутствие дублей&lt;br /&gt;
        var existingTitles = {};&lt;br /&gt;
        $box.find(&#039;a&#039;).each(function() {&lt;br /&gt;
            var rawTitle = $(this).attr(&#039;title&#039;);&lt;br /&gt;
            if (rawTitle) {&lt;br /&gt;
                var clean = rawTitle.replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim().toLowerCase();&lt;br /&gt;
                existingTitles[clean] = true;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // 2. Если статья из &amp;quot;ТРЕБУЮТСЯ&amp;quot; была написана (ссылка посинела / нет класса .new) — переносим её наверх&lt;br /&gt;
        if ($wanted.length) {&lt;br /&gt;
            $wanted.find(&#039;a&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                if (!$link.hasClass(&#039;new&#039;)) {&lt;br /&gt;
                    var $sep = $link.next(&#039;.abdul-sep&#039;);&lt;br /&gt;
                    if (!$sep.length) $sep = $link.prev(&#039;.abdul-sep&#039;);&lt;br /&gt;
                    $sep.remove();&lt;br /&gt;
                    $link.remove();&lt;br /&gt;
&lt;br /&gt;
                    if ($ready.children().length &amp;gt; 0 || $ready.text().trim().length &amp;gt; 0) {&lt;br /&gt;
                        $ready.append(&#039; • &#039;);&lt;br /&gt;
                    }&lt;br /&gt;
                    $ready.append($link);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запрашиваем через API актуальные статьи из категории и добавляем новые наверх&lt;br /&gt;
        $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
            action: &#039;query&#039;,&lt;br /&gt;
            list: &#039;categorymembers&#039;,&lt;br /&gt;
            cmtitle: &#039;Категория:&#039; + catName,&lt;br /&gt;
            cmnamespace: 0,&lt;br /&gt;
            cmlimit: 500,&lt;br /&gt;
            format: &#039;json&#039;&lt;br /&gt;
        }, function(data) {&lt;br /&gt;
            if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                var members = data.query.categorymembers;&lt;br /&gt;
                var toAdd = [];&lt;br /&gt;
&lt;br /&gt;
                $.each(members, function(i, member) {&lt;br /&gt;
                    var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    var lowTitle = title.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
                    // Если статьи ещё нет ни в готовых, ни в требуемых&lt;br /&gt;
                    if (!existingTitles[lowTitle]) {&lt;br /&gt;
                        var pageUrl = mw.util.getUrl(title);&lt;br /&gt;
                        toAdd.push(&#039;&amp;lt;a href=&amp;quot;&#039; + pageUrl + &#039;&amp;quot; title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/a&amp;gt;&#039;);&lt;br /&gt;
                        existingTitles[lowTitle] = true;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (toAdd.length &amp;gt; 0) {&lt;br /&gt;
                    var prefix = ($ready.text().trim().length &amp;gt; 0) ? &#039; • &#039; : &#039;&#039;;&lt;br /&gt;
                    $ready.append(prefix + toAdd.join(&#039; • &#039;));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4820</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4820"/>
		<updated>2026-10-19T10:36:04Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Великие грешники  = border: 2px solid #d50000; box-shadow: 0 8px 25px rgba(213, 0, 0, 0.45);&lt;br /&gt;
|Грехоболезни      = border: 2px solid #64dd17; box-shadow: 0 8px 25px rgba(100, 221, 23, 0.35);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|Абдулоистория     = border: 2px solid #e65100; box-shadow: 0 8px 25px rgba(230, 81, 0, 0.4);&lt;br /&gt;
|Сониблядство      = border: 2px solid #0091ea; box-shadow: 0 8px 25px rgba(0, 145, 234, 0.4);&lt;br /&gt;
|Абдулоосновы      = border: 2px solid #ff8f00; box-shadow: 0 8px 25px rgba(255, 143, 0, 0.4);&lt;br /&gt;
|Юмор              = border: 2px solid #aa00ff; box-shadow: 0 8px 25px rgba(170, 0, 255, 0.35);&lt;br /&gt;
|Абдулопередачи    = border: 2px solid #00b4d8; box-shadow: 0 8px 25px rgba(0, 180, 216, 0.4);&lt;br /&gt;
|Мерзость          = border: 2px solid #827717; box-shadow: 0 8px 25px rgba(130, 119, 23, 0.4);&lt;br /&gt;
|Автономии адептов = border: 2px solid #607d8b; box-shadow: 0 8px 25px rgba(96, 125, 139, 0.4);&lt;br /&gt;
|Абдулопредатели   = border: 2px solid #5d4037; box-shadow: 0 8px 25px rgba(93, 64, 55, 0.45);&lt;br /&gt;
|Негативные явления = border: 2px solid #ff3d00; box-shadow: 0 8px 25px rgba(255, 61, 0, 0.4);&lt;br /&gt;
|Абдулоиконы       = border: 2px solid #ffd600; box-shadow: 0 8px 25px rgba(255, 214, 0, 0.35);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 5px 15px rgba(0,0,0,0.5);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.3em; letter-spacing: 1px; padding: 15px; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 23, 68, 0.8);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(118, 255, 3, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 183, 77, 0.8);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(64, 196, 255, 0.8);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 213, 79, 0.8);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(225, 190, 231, 0.8);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(77, 208, 225, 0.8);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(212, 225, 87, 0.8);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(176, 190, 197, 0.8);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(188, 170, 164, 0.8);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 138, 101, 0.8);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 20px; vertical-align: top; font-size: 0.95em; line-height: 1.7; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОСНОВНЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Грешники&amp;quot;&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[ITpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[Артемий Лебедев]] • [[Юрий Заболотских]] • [[VJLink]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Папич]] • [[Убермаргинал]] • [[Драчикула]] • [[MaxAdept]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;«ВЕЛИКИЕ»&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Анатолий Кашпировский]] • [[Андрей Чикатило]] • [[Владимир Ленин]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Сергей Супонев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОРГАНИЗОВАННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Ипотечники]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]] • [[Детдом]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ПАЦИЕНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;ГОСУДАРСТВЕННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Лаврентий Берия]] • [[Никита Хрущёв]] • [[Михаил Горбачёв]] • [[Полпот]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;КУЛЬТОВЫЕ И ТЕЛЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Аллан Чумак]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;МАНЬЯКИ И ИДЕОЛОГИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(100,221,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПЕРВИЧНЫЕ ФОРМЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Педофилия]] • [[Валерия]] • [[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] (Синдром Грязного Фетореза)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПАТОГЕНЕЗ И ПЕРЕДАЧА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;СТОЛПЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ИСКУССТВО&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Абдулоартоделие]] • [[Абдуломузыка]] • [[Абдулоплясания]] • [[Абдулокодинг]] • [[Абдулопоэзия]] • [[Абдулописательство]] • [[Нейрохрамы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРАЗДНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоджихад]] • [[Абдулопост]] • [[Абдулодам]] • [[Абдулоумертвие]] • [[День низвержения старобога и старосатаны]] • [[Взрыв на АЭС «Фукусима»]] • [[Антибомж]] • [[Абдулопорождение]] • [[День рождения Абдуловерования]] • [[День поминовения Пророка]] • [[День победы над Озонофашизмом]] • [[Деелькинизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРОЧЕЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулокультура&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Воздушно-кабельный способ передачи заболевания]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;РАЗДЕЛЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]] • [[Абдулолингвистика]] • [[Белая магия]] • [[Абдулофилософия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ИССЛЕДОВАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулонаука&amp;quot;&amp;gt;[[Абдулонаучный трактат]] • [[Влияние аниме на психику]] • [[Теория завышенной численности]] • [[Принцип автономности церквей]] • [[Абдулоджихад]] • [[С.У.К.А]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ГРЕХОБОЛЕЗНИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЭПОХИ И ПЕРИОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;БИТВЫ И ПОХОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Первый Абдулоджихад]] • [[Падение Озона]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЛЕТОПИСИ И АРХИВЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ОРГАНИЗАЦИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Фанаты намба ван]] • [[PlayStation Network]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;АПОЛОГЕТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Антон Логвинов]] • [[ITpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ФЕНОМЕНЫ И КАРА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Гейпад]] • [[Мыльное кинцо за 2300]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;СВЯЩЕННЫЕ ТЕКСТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Толкование Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ДОГМАТИКА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловерование]] • [[Богосатана Александр Абдулов]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ТАИНСТВА И ОБРЯДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(170,0,255,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;МЕМЫ И ФОЛЬКЛОР&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Абдулоанекдоты]] • [[Абдулокаламбуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;ТРОЛЛИНГ И ПРАНКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(0,180,216,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;КЛАССИКА ВЕЩАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Вечерний Абдулов]] • [[Суд над грешником]] • [[Разоблачения от Пророка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;ПРОЕКТЫ И РУБРИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;КАТЕГОРИИ МРАЗЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[Биомусор]] • [[Шизофрения грешников]] • [[Донатные попрошайки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ПРОЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Греховные стримы]] • [[Треш-контент]] • [[Алкостримы]] • [[Унижение зрителей]] • [[Грязные хаты]] • [[Ипотечный угар]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ЭТАЛОНЫ МЕРЗОСТИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СТРУКТУРА ЦЕРКВЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Ячейки адептов]] • [[Подпольные карательные отряды]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;БОЕВЫЕ ФРОНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Ютуб-фронт]] • [[ВК-дивизия]] • [[Телеграм-легион]] • [[Рейд-бригады]] • [[Абдулоразведка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СВЯЗЬ И КООРДИНАЦИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Автономии адептов&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(93,64,55,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; text-shadow: 0 0 5px rgba(188,170,164,0.3);&amp;quot;&amp;gt;ОТСТУПНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулопредатели&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНУТРЕННИЕ УГРОЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Ересь]] • [[Дольщики]] • [[Помирание]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНЕШНЕЕ ДАВЛЕНИЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Негативные явления&amp;quot;&amp;gt;[[Баны священных каналов]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;СВЯТЫЕ ОБРАЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Икона Божественного Очищения]] • [[Спас на Биборане]] • [[Первая икона Богосатаны]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;КАНОНЫ И ЖАНРЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Нейрохрамы]] • [[Священные фотожабы]] • [[Морфинг-иконы]] • [[Каноны написания ликов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;РЕЛИКВИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулоиконы&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;НОРМАТИВНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;РЕКОМЕНДАТЕЛЬНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Рекомендации к написанию статей]] • [[Справка по форматированию]] • [[Сокращения страниц]] • [[Часто-задаваемые вопросы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;ВСЁ ОСТАЛЬНОЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Абдулопедии|Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;width:140px; text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); padding:15px; background: rgba(0,0,0,0.2);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|120px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|120px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|120px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|120px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|120px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|120px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|120px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|120px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|120px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Универсальный навигационный шаблон используется для того, чтобы связывать статьи между собой и упрощать перемещение читателей по вики-проекту. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, перед категориями.&lt;br /&gt;
&lt;br /&gt;
== Как использовать ==&lt;br /&gt;
В зависимости от тематики статьи, в которую вы вставляете шаблон, указывайте соответствующую категорию первым параметром:&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — основные враги веры, пациенты, группировки.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — исторические лица, телеведущие, сектанты и маньяки.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — патогенез, озонизация, сониблядство, синдромы.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — столпы, праздники, виды искусства.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — теоретические разделы, исследования, трактаты.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — эпохи веры, хроники джихадов и рейдов.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — Корпорация Sony, Отряд 731, апологеты и консольные болезни.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — Биборан, догматы Богосатаны, обряды и посвящение.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — мемы, пасты, анекдоты, пранки над маслятами.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — видеовещание, Биборан ТВ, обзоры и суды.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — биомусор, треш-стримеры, детдомовцы и нищие донатеры.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — автономные церкви, региональные ячейки и фронты.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — отступники, иуды и преданные анафеме.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — внутренние и сетевые угрозы, баны каналов, искажения канона.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — святые лики, каноны иконописи, фотожабы и реликвии.&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — устав, справки, технические инструкции и правила Центра.&lt;br /&gt;
&lt;br /&gt;
== Параметр сворачивания ==&lt;br /&gt;
По умолчанию блок отображается в свёрнутом виде. Чтобы развернуть блок сразу при загрузке статьи, добавьте параметр &amp;lt;code&amp;gt;state=uncollapsed&amp;lt;/code&amp;gt;:&lt;br /&gt;
- &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни|state=uncollapsed}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Автоматическое наполнение из категорий ==&lt;br /&gt;
Контейнеры с классом &amp;lt;code&amp;gt;abdul-cat-auto&amp;lt;/code&amp;gt; автоматически опрашивают соответствующую категорию MediaWiki. Новые статьи, помеченные категорией, появляются в списке навигации без ручного редактирования кода шаблона. Запланированные (ещё не написанные) статьи остаются красными ссылками.&lt;br /&gt;
&lt;br /&gt;
== Демонстрация всех блоков навигации ==&lt;br /&gt;
Ниже представлен предпросмотр внешнего вида каждого тематического блока, доступного в шаблоне:&lt;br /&gt;
&lt;br /&gt;
=== 1. Грешники ===&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 2. Великие грешники ===&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 3. Грехоболезни ===&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 4. Абдулокультура ===&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 5. Абдулонаука ===&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 6. Абдулоистория ===&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 7. Сониблядство ===&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 8. Абдулоосновы ===&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 9. Абдулоюмор ===&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 10. Абдулопередачи ===&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 11. Мерзость ===&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 12. Автономии адептов ===&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 13. Абдулопредатели ===&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 14. Негативные явления ===&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 15. Абдулоиконы ===&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 16. База Центра ===&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4819</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4819"/>
		<updated>2026-10-19T10:34:25Z</updated>

		<summary type="html">&lt;p&gt;Adept: Отмена правки 4818, сделанной Adept (обсуждение)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Великие грешники  = border: 2px solid #d50000; box-shadow: 0 8px 25px rgba(213, 0, 0, 0.45);&lt;br /&gt;
|Грехоболезни      = border: 2px solid #64dd17; box-shadow: 0 8px 25px rgba(100, 221, 23, 0.35);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|Абдулоистория     = border: 2px solid #e65100; box-shadow: 0 8px 25px rgba(230, 81, 0, 0.4);&lt;br /&gt;
|Сониблядство      = border: 2px solid #0091ea; box-shadow: 0 8px 25px rgba(0, 145, 234, 0.4);&lt;br /&gt;
|Абдулоосновы      = border: 2px solid #ff8f00; box-shadow: 0 8px 25px rgba(255, 143, 0, 0.4);&lt;br /&gt;
|Юмор              = border: 2px solid #aa00ff; box-shadow: 0 8px 25px rgba(170, 0, 255, 0.35);&lt;br /&gt;
|Абдулопередачи    = border: 2px solid #00b4d8; box-shadow: 0 8px 25px rgba(0, 180, 216, 0.4);&lt;br /&gt;
|Мерзость          = border: 2px solid #827717; box-shadow: 0 8px 25px rgba(130, 119, 23, 0.4);&lt;br /&gt;
|Автономии адептов = border: 2px solid #607d8b; box-shadow: 0 8px 25px rgba(96, 125, 139, 0.4);&lt;br /&gt;
|Абдулопредатели   = border: 2px solid #5d4037; box-shadow: 0 8px 25px rgba(93, 64, 55, 0.45);&lt;br /&gt;
|Негативные явления = border: 2px solid #ff3d00; box-shadow: 0 8px 25px rgba(255, 61, 0, 0.4);&lt;br /&gt;
|Абдулоиконы       = border: 2px solid #ffd600; box-shadow: 0 8px 25px rgba(255, 214, 0, 0.35);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 5px 15px rgba(0,0,0,0.5);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.3em; letter-spacing: 1px; padding: 15px; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 23, 68, 0.8);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(118, 255, 3, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 183, 77, 0.8);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(64, 196, 255, 0.8);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 213, 79, 0.8);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(225, 190, 231, 0.8);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(77, 208, 225, 0.8);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(212, 225, 87, 0.8);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(176, 190, 197, 0.8);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(188, 170, 164, 0.8);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 138, 101, 0.8);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 238, 88, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 20px; vertical-align: top; font-size: 0.95em; line-height: 1.7; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОСНОВНЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[ITpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[Артемий Лебедев]] • [[Юрий Заболотских]] • [[VJLink]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Папич]] • [[Убермаргинал]] • [[Драчикула]] • [[MaxAdept]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;«ВЕЛИКИЕ»&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Анатолий Кашпировский]] • [[Андрей Чикатило]] • [[Владимир Ленин]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Сергей Супонев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОРГАНИЗОВАННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Ипотечники]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]] • [[Детдом]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ПАЦИЕНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;ГОСУДАРСТВЕННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Лаврентий Берия]] • [[Никита Хрущёв]] • [[Михаил Горбачёв]] • [[Полпот]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;КУЛЬТОВЫЕ И ТЕЛЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Аллан Чумак]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;МАНЬЯКИ И ИДЕОЛОГИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(100,221,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПЕРВИЧНЫЕ ФОРМЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Педофилия]] • [[Валерия]] • [[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] (Синдром Грязного Фетореза)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПАТОГЕНЕЗ И ПЕРЕДАЧА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;СТОЛПЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ИСКУССТВО&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Абдулоартоделие]] • [[Абдуломузыка]] • [[Абдулоплясания]] • [[Абдулокодинг]] • [[Абдулопоэзия]] • [[Абдулописательство]] • [[Нейрохрамы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРАЗДНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоджихад]] • [[Абдулопост]] • [[Абдулодам]] • [[Абдулоумертвие]] • [[День низвержения старобога и старосатаны]] • [[Взрыв на АЭС «Фукусима»]] • [[Антибомж]] • [[Абдулопорождение]] • [[День рождения Абдуловерования]] • [[День поминовения Пророка]] • [[День победы над Озонофашизмом]] • [[Деелькинизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРОЧЕЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Воздушно-кабельный способ передачи заболевания]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;РАЗДЕЛЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]] • [[Абдулолингвистика]] • [[Белая магия]] • [[Абдулофилософия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ИССЛЕДОВАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаучный трактат]] • [[Влияние аниме на психику]] • [[Теория завышенной численности]] • [[Принцип автономности церквей]] • [[Абдулоджихад]] • [[С.У.К.А]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ГРЕХОБОЛЕЗНИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЭПОХИ И ПЕРИОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;БИТВЫ И ПОХОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Первый Абдулоджихад]] • [[Падение Озона]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЛЕТОПИСИ И АРХИВЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ОРГАНИЗАЦИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Фанаты намба ван]] • [[PlayStation Network]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;АПОЛОГЕТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Антон Логвинов]] • [[ITpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ФЕНОМЕНЫ И КАРА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Гейпад]] • [[Мыльное кинцо за 2300]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;СВЯЩЕННЫЕ ТЕКСТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Толкование Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ДОГМАТИКА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловерование]] • [[Богосатана Александр Абдулов]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ТАИНСТВА И ОБРЯДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(170,0,255,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;МЕМЫ И ФОЛЬКЛОР&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Абдулоанекдоты]] • [[Абдулокаламбуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;ТРОЛЛИНГ И ПРАНКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(0,180,216,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;КЛАССИКА ВЕЩАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Вечерний Абдулов]] • [[Суд над грешником]] • [[Разоблачения от Пророка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;ПРОЕКТЫ И РУБРИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;КАТЕГОРИИ МРАЗЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[Биомусор]] • [[Шизофрения грешников]] • [[Донатные попрошайки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ПРОЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Греховные стримы]] • [[Треш-контент]] • [[Алкостримы]] • [[Унижение зрителей]] • [[Грязные хаты]] • [[Ипотечный угар]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ЭТАЛОНЫ МЕРЗОСТИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СТРУКТУРА ЦЕРКВЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Ячейки адептов]] • [[Подпольные карательные отряды]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;БОЕВЫЕ ФРОНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Ютуб-фронт]] • [[ВК-дивизия]] • [[Телеграм-легион]] • [[Рейд-бригады]] • [[Абдулоразведка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СВЯЗЬ И КООРДИНАЦИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(93,64,55,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; text-shadow: 0 0 5px rgba(188,170,164,0.3);&amp;quot;&amp;gt;ОТСТУПНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНУТРЕННИЕ УГРОЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Ересь]] • [[Дольщики]] • [[Помирание]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНЕШНЕЕ ДАВЛЕНИЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Баны священных каналов]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;СВЯТЫЕ ОБРАЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Икона Божественного Очищения]] • [[Спас на Биборане]] • [[Первая икона Богосатаны]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;КАНОНЫ И ЖАНРЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Нейрохрамы]] • [[Священные фотожабы]] • [[Морфинг-иконы]] • [[Каноны написания ликов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;РЕЛИКВИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;НОРМАТИВНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;РЕКОМЕНДАТЕЛЬНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Рекомендации к написанию статей]] • [[Справка по форматированию]] • [[Сокращения страниц]] • [[Часто-задаваемые вопросы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;ВСЁ ОСТАЛЬНОЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Абдулопедии|Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;width:140px; text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); padding:15px; background: rgba(0,0,0,0.2);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|120px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|120px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|120px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|120px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|120px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|120px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|120px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|120px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|120px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Универсальный навигационный шаблон связывает статьи между собой. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, перед категориями.&lt;br /&gt;
&lt;br /&gt;
== Список доступных категорий ==&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — основные грешники, пациенты, группировки.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — исторические лица, телеведущие, сектанты и маньяки.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — патогенез, озонизация, сониблядство, синдромы.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — столпы, праздники, виды искусства.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — теоретические разделы, исследования, трактаты.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — эпохи веры, хроники джихадов и рейдов.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — Корпорация Sony, Отряд 731, апологеты и консольные болезни.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — Биборан, догматы Богосатаны, обряды и посвящение.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — мемы, пасты, анекдоты, пранки над маслятами.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — видеовещание, Биборан ТВ, обзоры и суды.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — биомусор, треш-стримеры, детдомовцы и нищие донатеры.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — автономные церкви, региональные ячейки и фронты.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — отступники, иуды и преданные анафеме.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — внутренние и сетевые угрозы, баны каналов, искажения канона.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — святые лики, каноны иконописи, фотожабы и реликвии.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — устав, справки, технические инструкции и правила Центра.&lt;br /&gt;
&lt;br /&gt;
== Параметр сворачивания ==&lt;br /&gt;
По умолчанию блок свёрнут. Чтобы развернуть блок сразу при загрузке:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни|state=uncollapsed}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== Демонстрация всех блоков навигации ==&lt;br /&gt;
Ниже представлен предпросмотр внешнего вида каждого тематического блока, доступного в шаблоне:&lt;br /&gt;
&lt;br /&gt;
=== 1. Грешники ===&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 2. Великие грешники ===&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 3. Грехоболезни ===&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 4. Абдулокультура ===&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 5. Абдулонаука ===&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 6. Абдулоистория ===&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 7. Сониблядство ===&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 8. Абдулоосновы ===&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 9. Абдулоюмор ===&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 10. Абдулопередачи ===&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 11. Мерзость ===&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 12. Автономии адептов ===&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 13. Абдулопредатели ===&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 14. Негативные явления ===&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 15. Абдулоиконы ===&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 16. База Центра ===&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4818</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4818"/>
		<updated>2026-10-19T10:32:46Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Великие грешники  = border: 2px solid #d50000; box-shadow: 0 8px 25px rgba(213, 0, 0, 0.45);&lt;br /&gt;
|Грехоболезни      = border: 2px solid #64dd17; box-shadow: 0 8px 25px rgba(100, 221, 23, 0.35);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|Абдулоистория     = border: 2px solid #e65100; box-shadow: 0 8px 25px rgba(230, 81, 0, 0.4);&lt;br /&gt;
|Сониблядство      = border: 2px solid #0091ea; box-shadow: 0 8px 25px rgba(0, 145, 234, 0.4);&lt;br /&gt;
|Абдулоосновы      = border: 2px solid #ff8f00; box-shadow: 0 8px 25px rgba(255, 143, 0, 0.4);&lt;br /&gt;
|Юмор              = border: 2px solid #aa00ff; box-shadow: 0 8px 25px rgba(170, 0, 255, 0.35);&lt;br /&gt;
|Абдулопередачи    = border: 2px solid #00b4d8; box-shadow: 0 8px 25px rgba(0, 180, 216, 0.4);&lt;br /&gt;
|Мерзость          = border: 2px solid #827717; box-shadow: 0 8px 25px rgba(130, 119, 23, 0.4);&lt;br /&gt;
|Автономии адептов = border: 2px solid #607d8b; box-shadow: 0 8px 25px rgba(96, 125, 139, 0.4);&lt;br /&gt;
|Абдулопредатели   = border: 2px solid #5d4037; box-shadow: 0 8px 25px rgba(93, 64, 55, 0.45);&lt;br /&gt;
|Негативные явления = border: 2px solid #ff3d00; box-shadow: 0 8px 25px rgba(255, 61, 0, 0.4);&lt;br /&gt;
|Абдулоиконы       = border: 2px solid #ffd600; box-shadow: 0 8px 25px rgba(255, 214, 0, 0.35);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 5px 15px rgba(0,0,0,0.5);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.3em; letter-spacing: 1px; padding: 15px; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 23, 68, 0.8);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(118, 255, 3, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 183, 77, 0.8);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(64, 196, 255, 0.8);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 213, 79, 0.8);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(225, 190, 231, 0.8);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(77, 208, 225, 0.8);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(212, 225, 87, 0.8);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(176, 190, 197, 0.8);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(188, 170, 164, 0.8);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 138, 101, 0.8);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 238, 88, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 20px; vertical-align: top; font-size: 0.95em; line-height: 1.7; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОСНОВНЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Грешники&amp;quot;&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[ITpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[Артемий Лебедев]] • [[Юрий Заболотских]] • [[VJLink]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Папич]] • [[Убермаргинал]] • [[Драчикула]] • [[MaxAdept]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;«ВЕЛИКИЕ»&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Анатолий Кашпировский]] • [[Андрей Чикатило]] • [[Владимир Ленин]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Сергей Супонев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОРГАНИЗОВАННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Ипотечники]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]] • [[Детдом]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ПАЦИЕНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;ГОСУДАРСТВЕННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Лаврентий Берия]] • [[Никита Хрущёв]] • [[Михаил Горбачёв]] • [[Полпот]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;КУЛЬТОВЫЕ И ТЕЛЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Аллан Чумак]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;МАНЬЯКИ И ИДЕОЛОГИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Великие грешники&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(100,221,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПЕРВИЧНЫЕ ФОРМЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Грехоболезни&amp;quot;&amp;gt;[[Педофилия]] • [[Валерия]] • [[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] (Синдром Грязного Фетореза)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПАТОГЕНЕЗ И ПЕРЕДАЧА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;СТОЛПЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ИСКУССТВО&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Абдулоартоделие]] • [[Абдуломузыка]] • [[Абдулоплясания]] • [[Абдулокодинг]] • [[Абдулопоэзия]] • [[Абдулописательство]] • [[Нейрохрамы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРАЗДНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоджихад]] • [[Абдулопост]] • [[Абдулодам]] • [[Абдулоумертвие]] • [[День низвержения старобога и старосатаны]] • [[Взрыв на АЭС «Фукусима»]] • [[Антибомж]] • [[Абдулопорождение]] • [[День рождения Абдуловерования]] • [[День поминовения Пророка]] • [[День победы над Озонофашизмом]] • [[Деелькинизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРОЧЕЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулокультура&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Воздушно-кабельный способ передачи заболевания]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;РАЗДЕЛЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]] • [[Абдулолингвистика]] • [[Белая магия]] • [[Абдулофилософия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ИССЛЕДОВАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулонаука&amp;quot;&amp;gt;[[Абдулонаучный трактат]] • [[Влияние аниме на психику]] • [[Теория завышенной численности]] • [[Принцип автономности церквей]] • [[Абдулоджихад]] • [[С.У.К.А]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ГРЕХОБОЛЕЗНИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЭПОХИ И ПЕРИОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;БИТВЫ И ПОХОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Первый Абдулоджихад]] • [[Падение Озона]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЛЕТОПИСИ И АРХИВЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулоистория&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ОРГАНИЗАЦИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Фанаты намба ван]] • [[PlayStation Network]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;АПОЛОГЕТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Антон Логвинов]] • [[ITpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ФЕНОМЕНЫ И КАРА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Сониблядство&amp;quot;&amp;gt;[[Гейпад]] • [[Мыльное кинцо за 2300]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;СВЯЩЕННЫЕ ТЕКСТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Толкование Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ДОГМАТИКА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловерование]] • [[Богосатана Александр Абдулов]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ТАИНСТВА И ОБРЯДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулоосновы&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(170,0,255,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;МЕМЫ И ФОЛЬКЛОР&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Абдулоанекдоты]] • [[Абдулокаламбуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;ТРОЛЛИНГ И ПРАНКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Юмор&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(0,180,216,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;КЛАССИКА ВЕЩАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Вечерний Абдулов]] • [[Суд над грешником]] • [[Разоблачения от Пророка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;ПРОЕКТЫ И РУБРИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулопередачи&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;КАТЕГОРИИ МРАЗЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[Биомусор]] • [[Шизофрения грешников]] • [[Донатные попрошайки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ПРОЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Греховные стримы]] • [[Треш-контент]] • [[Алкостримы]] • [[Унижение зрителей]] • [[Грязные хаты]] • [[Ипотечный угар]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ЭТАЛОНЫ МЕРЗОСТИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Мерзость&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СТРУКТУРА ЦЕРКВЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Ячейки адептов]] • [[Подпольные карательные отряды]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;БОЕВЫЕ ФРОНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Ютуб-фронт]] • [[ВК-дивизия]] • [[Телеграм-легион]] • [[Рейд-бригады]] • [[Абдулоразведка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СВЯЗЬ И КООРДИНАЦИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Автономии адептов&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(93,64,55,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; text-shadow: 0 0 5px rgba(188,170,164,0.3);&amp;quot;&amp;gt;ОТСТУПНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулопредатели&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНУТРЕННИЕ УГРОЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Ересь]] • [[Дольщики]] • [[Помирание]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНЕШНЕЕ ДАВЛЕНИЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Негативные явления&amp;quot;&amp;gt;[[Баны священных каналов]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;СВЯТЫЕ ОБРАЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Икона Божественного Очищения]] • [[Спас на Биборане]] • [[Первая икона Богосатаны]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;КАНОНЫ И ЖАНРЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Нейрохрамы]] • [[Священные фотожабы]] • [[Морфинг-иконы]] • [[Каноны написания ликов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;РЕЛИКВИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-cat-auto&amp;quot; data-cat=&amp;quot;Абдулоиконы&amp;quot;&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;НОРМАТИВНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;РЕКОМЕНДАТЕЛЬНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Рекомендации к написанию статей]] • [[Справка по форматированию]] • [[Сокращения страниц]] • [[Часто-задаваемые вопросы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;ВСЁ ОСТАЛЬНОЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Абдулопедии|Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;width:140px; text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); padding:15px; background: rgba(0,0,0,0.2);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|120px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|120px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|120px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|120px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|120px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|120px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|120px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|120px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|120px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4817</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=MediaWiki:Common.js&amp;diff=4817"/>
		<updated>2026-10-19T10:32:24Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* =======================================================&lt;br /&gt;
   1. АВТОЗАПОЛНЕНИЕ ШАБЛОНОВ (ПРОФИЛЬ)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Проверяем, что мы находимся в пространстве имен &amp;quot;Участник&amp;quot; (id 2)&lt;br /&gt;
    // и что включен режим редактирования (&#039;edit&#039; или &#039;submit&#039;)&lt;br /&gt;
    if ( mw.config.get(&#039;wgNamespaceNumber&#039;) === 2 &amp;amp;&amp;amp; $.inArray(mw.config.get(&#039;wgAction&#039;), [&#039;edit&#039;, &#039;submit&#039;]) !== -1 ) {&lt;br /&gt;
        &lt;br /&gt;
        var $textbox = $(&#039;#wpTextbox1&#039;); // Находим главное поле ввода текста&lt;br /&gt;
        &lt;br /&gt;
        // Если поле ввода существует и оно абсолютно пустое (страница создается впервые)&lt;br /&gt;
        if ( $textbox.length &amp;amp;&amp;amp; $textbox.val().trim() === &#039;&#039; ) {&lt;br /&gt;
            &lt;br /&gt;
            // Получаем точное имя участника из заголовка страницы&lt;br /&gt;
            var username = mw.config.get(&#039;wgTitle&#039;); &lt;br /&gt;
            &lt;br /&gt;
            // Формируем готовый каркас нашего шаблона&lt;br /&gt;
            var profileTemplate = &#039;{{Профиль\n&#039; +&lt;br /&gt;
                                  &#039;|аватар = \n&#039; +&lt;br /&gt;
                                  &#039;|имя = &#039; + username + &#039;\n&#039; +&lt;br /&gt;
                                  &#039;|статус = Адепт\n&#039; +&lt;br /&gt;
                                  &#039;|цитата = \n&#039; +&lt;br /&gt;
                                  &#039;|о_себе = Заполните информацию о себе здесь. Поддерживается вики-разметка, ссылки и видео.\n&#039; +&lt;br /&gt;
                                  &#039;}}\n&#039;;&lt;br /&gt;
            &lt;br /&gt;
            // Автоматически вставляем каркас в текстовое поле&lt;br /&gt;
            $textbox.val(profileTemplate);&lt;br /&gt;
            &lt;br /&gt;
            // Опционально: сразу заполняем поле &amp;quot;Описание изменений&amp;quot; внизу&lt;br /&gt;
            var $summary = $(&#039;#wpSummary&#039;);&lt;br /&gt;
            if ( $summary.length &amp;amp;&amp;amp; $summary.val().trim() === &#039;&#039; ) {&lt;br /&gt;
                $summary.val(&#039;Создание личного дела адепта&#039;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Скрипт для кнопки СОЗДАТЬ СТАТЬЮ */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    $(&#039;.create-article-btn&#039;).click(function() {&lt;br /&gt;
        var name = prompt(&amp;quot;Введите название новой статьи:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
        if (name) {&lt;br /&gt;
            /* Переход на создание статьи */&lt;br /&gt;
            window.location.href = mw.config.get(&#039;wgScript&#039;) + &amp;quot;?title=&amp;quot; + encodeURIComponent(name) + &amp;quot;&amp;amp;action=edit&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
/* Скрипт для Единой АбдулоГалереи */&lt;br /&gt;
$(function() {&lt;br /&gt;
    $(&#039;.abdul-nav-btn&#039;).click(function() {&lt;br /&gt;
        var $btn = $(this);&lt;br /&gt;
        var $slider = $btn.closest(&#039;.abdul-slider-wrap&#039;);&lt;br /&gt;
        var $track = $slider.find(&#039;.abdul-slider-track&#039;);&lt;br /&gt;
        var slideWidth = $slider.width();&lt;br /&gt;
        &lt;br /&gt;
        if ($btn.hasClass(&#039;next&#039;)) {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() + slideWidth}, 300);&lt;br /&gt;
        } else {&lt;br /&gt;
            $track.animate({scrollLeft: $track.scrollLeft() - slideWidth}, 300);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   Плавное раскрытие блоков (Абдуло-Слайдер)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    $content.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
        var $box = $(this);&lt;br /&gt;
        &lt;br /&gt;
        // Защита от двойного запуска скрипта&lt;br /&gt;
        if ($box.data(&#039;slider-init&#039;)) return;&lt;br /&gt;
        $box.data(&#039;slider-init&#039;, true);&lt;br /&gt;
&lt;br /&gt;
        var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
        var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
        // Прячем контент при загрузке, если блок свернут&lt;br /&gt;
        if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
            $contentBlock.hide();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Ловим клик по всей шапке заголовка&lt;br /&gt;
        $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
            // slideToggle(300) - это магия плавной анимации на 300 миллисекунд&lt;br /&gt;
            $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
            $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛО-ИНТЕРАКТИВ (Умные уведомления + Случайная страница)&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
mw.loader.using(&#039;mediawiki.util&#039;).then(function() {&lt;br /&gt;
    &lt;br /&gt;
    // 1. ПАСХАЛКА: Текстовый логотип ведет на случайную страницу&lt;br /&gt;
    $(&#039;#p-logo-text a&#039;).attr(&#039;href&#039;, mw.util.getUrl(&#039;Special:Random&#039;));&lt;br /&gt;
&lt;br /&gt;
    // 2. УБИВАЕМ БЕЛЫЕ ПОДСКАЗКИ&lt;br /&gt;
    // Делаем это один раз при загрузке, чтобы не мучить браузер&lt;br /&gt;
    $(&#039;#pt-notifications-alert a, #pt-notifications-notice a&#039;).removeAttr(&#039;title&#039;);&lt;br /&gt;
&lt;br /&gt;
    // 3. УМНЫЙ РАДАР УВЕДОМЛЕНИЙ (Без лагов и перегрузки процессора)&lt;br /&gt;
    var abdulHoverTimer;&lt;br /&gt;
&lt;br /&gt;
    // Открытие при наведении (с микро-задержкой от случайных взмахов)&lt;br /&gt;
    $(document).on(&#039;mouseenter&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer); // Отменяем закрытие, если мышка на месте&lt;br /&gt;
        &lt;br /&gt;
        var $badge = $(this).closest(&#039;#pt-notifications-alert, #pt-notifications-notice&#039;);&lt;br /&gt;
        if ($badge.length) {&lt;br /&gt;
            // Ждем 150мс: защита от спама, если курсор просто пролетел мимо&lt;br /&gt;
            abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
                var btn = $badge.find(&#039;.mw-echo-notifications-badge&#039;)[0];&lt;br /&gt;
                if (btn &amp;amp;&amp;amp; !$(btn).hasClass(&#039;oo-ui-buttonElement-pressed&#039;)) {&lt;br /&gt;
                    btn.click(); &lt;br /&gt;
                }&lt;br /&gt;
            }, 150); &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // Закрытие при уходе мышки (с &amp;quot;воздушным мостом&amp;quot;)&lt;br /&gt;
    $(document).on(&#039;mouseleave&#039;, &#039;#pt-notifications-alert, #pt-notifications-notice, .mw-echo-ui-overlay&#039;, function() {&lt;br /&gt;
        clearTimeout(abdulHoverTimer);&lt;br /&gt;
        &lt;br /&gt;
        // Даем 300мс, чтобы юзер успел перевести мышку с колокольчика в само меню&lt;br /&gt;
        abdulHoverTimer = setTimeout(function() {&lt;br /&gt;
            var $openBadge = $(&#039;.mw-echo-notifications-badge.oo-ui-buttonElement-pressed&#039;);&lt;br /&gt;
            if ($openBadge.length) {&lt;br /&gt;
                $openBadge[0].click();&lt;br /&gt;
            }&lt;br /&gt;
        }, 300);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-ПАРАЛЛАКС ДЛЯ ФОНОВЫХ КАРТИНОК&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
$(window).on(&#039;scroll&#039;, function() {&lt;br /&gt;
    $(&#039;.abdul-parallax&#039;).each(function() {&lt;br /&gt;
        var $parent = $(this).parent();&lt;br /&gt;
        if ($parent.length === 0) return;&lt;br /&gt;
        &lt;br /&gt;
        var offset = $parent.offset().top;&lt;br /&gt;
        var scroll = $(window).scrollTop();&lt;br /&gt;
        var windowHeight = $(window).height();&lt;br /&gt;
&lt;br /&gt;
        // Проверяем, находится ли блок сейчас на экране&lt;br /&gt;
        if (scroll + windowHeight &amp;gt; offset &amp;amp;&amp;amp; scroll &amp;lt; offset + $parent.outerHeight()) {&lt;br /&gt;
            // Множитель 0.15 — это скорость движения. Чем больше, тем быстрее плывет.&lt;br /&gt;
            var yPos = (scroll - offset) * 0.15;&lt;br /&gt;
            $(this).css(&#039;transform&#039;, &#039;translateY(&#039; + yPos + &#039;px)&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// 1. ОЧИСТКА ТЕКСТА (Без расширений файлов и лишнего мусора)&lt;br /&gt;
setInterval(function() {&lt;br /&gt;
    document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
        textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // Достаем ссылку (название файла)&lt;br /&gt;
        var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
        if (!link) return;&lt;br /&gt;
        &lt;br /&gt;
        // МАГИЯ: Отрезаем расширение (всё, что идёт после последней точки, включая её саму)&lt;br /&gt;
        link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        &lt;br /&gt;
        var content = textDiv.textContent;&lt;br /&gt;
        // Умный поиск даты (например, &amp;quot;4 мая 2026&amp;quot;)&lt;br /&gt;
        var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
        var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
        &lt;br /&gt;
        // Полностью заменяем содержимое: чистая ссылка и чистая дата&lt;br /&gt;
        textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
    });&lt;br /&gt;
}, 500);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// 2. ЖЕЛЕЗОБЕТОННАЯ 3D-ФИЗИКА (Глобальный перехват мыши)&lt;br /&gt;
document.addEventListener(&#039;mousemove&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
&lt;br /&gt;
    var rect = card.getBoundingClientRect();&lt;br /&gt;
    var x = e.clientX - rect.left;&lt;br /&gt;
    var y = e.clientY - rect.top;&lt;br /&gt;
&lt;br /&gt;
    var centerX = rect.width / 2;&lt;br /&gt;
    var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
    // Сила наклона &lt;br /&gt;
    var rotateX = ((y - centerY) / centerY) * -10;&lt;br /&gt;
    var rotateY = ((x - centerX) / centerX) * 10;&lt;br /&gt;
&lt;br /&gt;
    // Крутим карточку&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
    card.style.transition = &#039;none&#039;; // Отключаем плавность, чтобы карточка следовала за мышью&lt;br /&gt;
    card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
    // Создаем или находим линзу для блика&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (!glare) {&lt;br /&gt;
        glare = document.createElement(&#039;div&#039;);&lt;br /&gt;
        glare.className = &#039;abdul-glare&#039;;&lt;br /&gt;
        card.appendChild(glare);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Включаем и двигаем неоновый блик&lt;br /&gt;
    glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
    glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// Плавный возврат на место, когда мышь уходит с картинки&lt;br /&gt;
document.addEventListener(&#039;mouseout&#039;, function(e) {&lt;br /&gt;
    var card = e.target.closest(&#039;li.gallerybox&#039;);&lt;br /&gt;
    if (!card) return;&lt;br /&gt;
    &lt;br /&gt;
    // Чтобы не срабатывало на внутренних элементах карточки&lt;br /&gt;
    if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
    card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
    card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
    card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
    var glare = card.querySelector(&#039;.abdul-glare&#039;);&lt;br /&gt;
    if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.loader.using(&#039;jquery&#039;).then(function () {&lt;br /&gt;
    var $ = jQuery; // Железобетонная страховка для движка MediaWiki&lt;br /&gt;
&lt;br /&gt;
    // --- 1. ОЧИСТКА НАЗВАНИЙ (.jpg, .png и даты) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        // А. Чистим стандартную галерею (Хранилище Новых файлов)&lt;br /&gt;
        document.querySelectorAll(&#039;ul.gallery.mw-gallery-traditional li.gallerybox div.gallerytext:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            var link = textDiv.querySelector(&#039;a&#039;);&lt;br /&gt;
            if (!link) return;&lt;br /&gt;
            // Отрезаем расширение&lt;br /&gt;
            link.textContent = link.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
            var content = textDiv.textContent;&lt;br /&gt;
            var dateMatch = content.match(/(\d{1,2}\s+[а-яА-ЯёЁa-zA-Z]+\s+\d{4})/);&lt;br /&gt;
            var dateStr = dateMatch ? dateMatch[1] : &#039;&#039;;&lt;br /&gt;
            textDiv.innerHTML = link.outerHTML + (dateStr ? &#039;&amp;lt;div class=&amp;quot;abdul-date&amp;quot;&amp;gt;&#039; + dateStr + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Б. Чистим карточки в нашем Шаблоне &amp;quot;Галерея&amp;quot;&lt;br /&gt;
        document.querySelectorAll(&#039;.abdul-grid-text:not(.abdul-cleaned)&#039;).forEach(function(textDiv) {&lt;br /&gt;
            textDiv.classList.add(&#039;abdul-cleaned&#039;);&lt;br /&gt;
            textDiv.textContent = textDiv.textContent.replace(/\.[a-zA-Z0-9]+$/i, &#039;&#039;);&lt;br /&gt;
        });&lt;br /&gt;
    }, 500);&lt;br /&gt;
&lt;br /&gt;
// --- 2. ЛОГИКА СЛАЙДЕРА (Умное двустороннее перелистывание) ---&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.abdul-slider-wrap:not(.initialized)&#039;).each(function() {&lt;br /&gt;
            var $slider = $(this);&lt;br /&gt;
            $slider.addClass(&#039;initialized&#039;);&lt;br /&gt;
            var $slides = $slider.find(&#039;.abdul-slide&#039;);&lt;br /&gt;
            var current = 0;&lt;br /&gt;
            var maxSlides = $slides.length;&lt;br /&gt;
            &lt;br /&gt;
            if(maxSlides &amp;lt;= 1) {&lt;br /&gt;
                $slider.find(&#039;.abdul-nav-btn&#039;).hide();&lt;br /&gt;
                $slides.eq(0).addClass(&#039;active&#039;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Прячем всех вправо, первого ставим по центру&lt;br /&gt;
            $slides.addClass(&#039;hidden-right&#039;);&lt;br /&gt;
            $slides.eq(0).removeClass(&#039;hidden-right hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
&lt;br /&gt;
            $slider.find(&#039;.next&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return; // Блокируем спам кликами&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current + 1) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает влево&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется вправо, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; // Форсируем браузер применить телепортацию&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
            &lt;br /&gt;
            $slider.find(&#039;.prev&#039;).off(&#039;click&#039;).on(&#039;click&#039;, function(e) {&lt;br /&gt;
                e.preventDefault();&lt;br /&gt;
                if ($slider.hasClass(&#039;animating&#039;)) return;&lt;br /&gt;
                $slider.addClass(&#039;animating&#039;);&lt;br /&gt;
                setTimeout(function() { $slider.removeClass(&#039;animating&#039;); }, 400);&lt;br /&gt;
&lt;br /&gt;
                var old = current;&lt;br /&gt;
                current = (current - 1 + maxSlides) % maxSlides;&lt;br /&gt;
&lt;br /&gt;
                // Старый уезжает вправо&lt;br /&gt;
                $slides.eq(old).removeClass(&#039;active&#039;).addClass(&#039;hidden-right&#039;);&lt;br /&gt;
                // Новый мгновенно телепортируется влево, а затем плавно выезжает в центр&lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-right&#039;).addClass(&#039;hidden-left&#039;);&lt;br /&gt;
                $slides.eq(current)[0].offsetHeight; &lt;br /&gt;
                $slides.eq(current).removeClass(&#039;hidden-left&#039;).addClass(&#039;active&#039;);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
    }, 1000);&lt;br /&gt;
&lt;br /&gt;
    // --- 3. ФИЗИКА 3D (ДЛЯ ВСЕХ КАРТОЧЕК СРАЗУ) ---&lt;br /&gt;
    // ВАЖНО: Здесь указаны оба класса - и Хранилище, и Шаблон&lt;br /&gt;
    var gallerySelector = &#039;ul.gallery.mw-gallery-traditional li.gallerybox, .abdul-grid-item&#039;;&lt;br /&gt;
    &lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mousemove&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        &lt;br /&gt;
        if (!$(card).children(&#039;.abdul-glare&#039;).length) {&lt;br /&gt;
            $(card).append(&#039;&amp;lt;div class=&amp;quot;abdul-glare&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
        }&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
&lt;br /&gt;
        var rect = card.getBoundingClientRect();&lt;br /&gt;
        var x = e.clientX - rect.left; &lt;br /&gt;
        var y = e.clientY - rect.top;  &lt;br /&gt;
&lt;br /&gt;
        var centerX = rect.width / 2;&lt;br /&gt;
        var centerY = rect.height / 2;&lt;br /&gt;
&lt;br /&gt;
        var rotateX = ((y - centerY) / centerY) * -9.5;&lt;br /&gt;
        var rotateY = ((x - centerX) / centerX) * 9.5;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(&#039; + rotateX + &#039;deg) rotateY(&#039; + rotateY + &#039;deg) scale3d(1.03, 1.03, 1.03)&#039;;&lt;br /&gt;
        card.style.transition = &#039;none&#039;; &lt;br /&gt;
        card.style.zIndex = &#039;50&#039;;&lt;br /&gt;
&lt;br /&gt;
        glare.style.opacity = &#039;1&#039;;&lt;br /&gt;
        glare.style.background = &#039;radial-gradient(circle at &#039; + x + &#039;px &#039; + y + &#039;px, rgba(255, 255, 255, 0.2) 0%, transparent 60%)&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    $(&#039;body&#039;).on(&#039;mouseleave&#039;, gallerySelector, function(e) {&lt;br /&gt;
        var card = this;&lt;br /&gt;
        // Защита от дергания мыши внутри элементов карточки&lt;br /&gt;
        if (e.relatedTarget &amp;amp;&amp;amp; card.contains(e.relatedTarget)) return;&lt;br /&gt;
&lt;br /&gt;
        card.style.transform = &#039;perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)&#039;;&lt;br /&gt;
        card.style.transition = &#039;transform 0.5s ease, z-index 0.5s ease&#039;;&lt;br /&gt;
        card.style.zIndex = &#039;1&#039;;&lt;br /&gt;
&lt;br /&gt;
        var glare = $(card).children(&#039;.abdul-glare&#039;)[0];&lt;br /&gt;
        if (glare) glare.style.opacity = &#039;0&#039;;&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function ($content) {&lt;br /&gt;
    var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
    // === 1. ЖИВОЙ ТАЙМЕР И ТЕКУЩАЯ ДАТА ===&lt;br /&gt;
    var holidays = [&lt;br /&gt;
        { d: 3, m: 0, name: &amp;quot;Абдулоновый год / Смерть Абдулова&amp;quot; },&lt;br /&gt;
        { d: 12, m: 1, name: &amp;quot;День низвержения бога и сатаны&amp;quot; },&lt;br /&gt;
        { d: 11, m: 2, name: &amp;quot;День взрыва АЭС «Фукусима»&amp;quot; },&lt;br /&gt;
        { d: 17, m: 3, name: &amp;quot;День Демаслочезации&amp;quot; },&lt;br /&gt;
        { d: 29, m: 4, name: &amp;quot;День пришествия ублюдка (День рождения)&amp;quot; },&lt;br /&gt;
        { d: 3, m: 6, name: &amp;quot;День рождения Абдуловерования&amp;quot; },&lt;br /&gt;
        { d: 27, m: 10, name: &amp;quot;День поминовения Пророка&amp;quot; },&lt;br /&gt;
        { d: 9, m: 11, name: &amp;quot;Начало священного месяца Абдулодам&amp;quot; }&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    function updateAbdulTime() {&lt;br /&gt;
        var now = new Date();&lt;br /&gt;
        var $today = $(&#039;.abdul-live-today&#039;);&lt;br /&gt;
        var $countdown = $(&#039;.abdul-live-countdown&#039;);&lt;br /&gt;
&lt;br /&gt;
        if ($today.length) {&lt;br /&gt;
            var mNames = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
            var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
            var dayOfWeek = (now.getDay() + 6) % 7; &lt;br /&gt;
            &lt;br /&gt;
            var currentAbdulYear = now.getFullYear() - 2008; &lt;br /&gt;
            var yearStr = currentAbdulYear &amp;lt; 0 ? Math.abs(currentAbdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : currentAbdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            $today.html(dayNames[dayOfWeek] + &amp;quot;, &amp;quot; + now.getDate() + &amp;quot; &amp;quot; + mNames[now.getMonth()] + &amp;quot; &amp;quot; + yearStr);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if ($countdown.length) {&lt;br /&gt;
            var currentYear = now.getFullYear();&lt;br /&gt;
            var nextHoliday = null;&lt;br /&gt;
            var nextDate = null;&lt;br /&gt;
            for (var i = 0; i &amp;lt; holidays.length; i++) {&lt;br /&gt;
                var tempDate = new Date(currentYear, holidays[i].m, holidays[i].d, 0, 0, 0);&lt;br /&gt;
                if (tempDate &amp;gt; now) { nextHoliday = holidays[i].name; nextDate = tempDate; break; }&lt;br /&gt;
            }&lt;br /&gt;
            if (!nextHoliday) {&lt;br /&gt;
                nextHoliday = holidays[0].name;&lt;br /&gt;
                nextDate = new Date(currentYear + 1, holidays[0].m, holidays[0].d, 0, 0, 0);&lt;br /&gt;
            }&lt;br /&gt;
            var diff = nextDate - now;&lt;br /&gt;
            var days = Math.floor(diff / (1000 * 60 * 60 * 24));&lt;br /&gt;
            var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));&lt;br /&gt;
            var mins = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));&lt;br /&gt;
            var secs = Math.floor((diff % (1000 * 60)) / 1000);&lt;br /&gt;
            $countdown.html(&amp;quot;«&amp;quot; + nextHoliday + &amp;quot;» через: &amp;lt;span style=&#039;color:#d4af37&#039;&amp;gt;&amp;quot; + days + &amp;quot; д. &amp;quot; + hours + &amp;quot; ч. &amp;quot; + mins + &amp;quot; м. &amp;quot; + secs + &amp;quot; с.&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if ($(&#039;.abdul-live-today&#039;).length) {&lt;br /&gt;
        updateAbdulTime();&lt;br /&gt;
        if (!window.abdulTimerInterval) window.abdulTimerInterval = setInterval(updateAbdulTime, 1000);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // === 2. ГЕНЕРАТОР ВИЗУАЛЬНОЙ СЕТКИ КАЛЕНДАРЯ ===&lt;br /&gt;
    $content.find(&#039;.abdul-visual-calendar:not(.initialized)&#039;).each(function() {&lt;br /&gt;
        var $cal = $(this).addClass(&#039;initialized&#039;);&lt;br /&gt;
        var agYear = parseInt($cal.attr(&#039;data-year&#039;)) || 16;&lt;br /&gt;
        var gregYear = agYear + 2008;&lt;br /&gt;
        var monthNames = [&amp;quot;Сдох&amp;quot;, &amp;quot;Гавриил&amp;quot;, &amp;quot;Женечка&amp;quot;, &amp;quot;Поджог&amp;quot;, &amp;quot;Глыба&amp;quot;, &amp;quot;Антиарт&amp;quot;, &amp;quot;Подхалим&amp;quot;, &amp;quot;Антиорден&amp;quot;, &amp;quot;Рак&amp;quot;, &amp;quot;Листьев&amp;quot;, &amp;quot;Антитёр&amp;quot;, &amp;quot;Крайнов&amp;quot;];&lt;br /&gt;
        var dayNames = [&amp;quot;Грешник&amp;quot;, &amp;quot;Вор&amp;quot;, &amp;quot;Морда&amp;quot;, &amp;quot;Изверг&amp;quot;, &amp;quot;Пьяница&amp;quot;, &amp;quot;Мразота&amp;quot;, &amp;quot;Курение&amp;quot;];&lt;br /&gt;
        function isLeap(y) { return (y % 4 === 0 &amp;amp;&amp;amp; y % 100 !== 0) || (y % 400 === 0); }&lt;br /&gt;
        var daysInMonth = [31, isLeap(gregYear) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];&lt;br /&gt;
        var html = &#039;&#039;; &lt;br /&gt;
        for (var row = 0; row &amp;lt; 2; row++) {&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-row&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-days-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var d = 0; d &amp;lt; 7; d++) html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-day-name&amp;quot;&amp;gt;&#039; + dayNames[d] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
            for (var col = 0; col &amp;lt; 6; col++) {&lt;br /&gt;
                var m = row * 6 + col;&lt;br /&gt;
                html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-month-col&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-m-title&amp;quot;&amp;gt;&#039; + monthNames[m] + &#039;&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-vc-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                var startRow = (new Date(gregYear, m, 1).getDay() + 6) % 7 + 1; &lt;br /&gt;
                for (var dayNum = 1; dayNum &amp;lt;= daysInMonth[m]; dayNum++) {&lt;br /&gt;
                    var style = (dayNum === 1) ? &#039; style=&amp;quot;grid-row: &#039; + startRow + &#039;&amp;quot;&#039; : &#039;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-vc-cell&amp;quot;&amp;gt;&#039; + dayNum + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
                html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
            }&lt;br /&gt;
            html += &#039;&amp;lt;/div&amp;gt;&#039;; &lt;br /&gt;
        }&lt;br /&gt;
        $cal.html(html);&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
    // === 3. УЛЬТИМАТИВНЫЙ КОНВЕРТЕР ДАТ С ПОГЛОЩЕНИЕМ &amp;quot;ГОДА&amp;quot; ===&lt;br /&gt;
    var monthsMap = {&lt;br /&gt;
        &amp;quot;январь&amp;quot;:&amp;quot;сдох&amp;quot;, &amp;quot;января&amp;quot;:&amp;quot;сдоха&amp;quot;, &amp;quot;январе&amp;quot;:&amp;quot;сдохе&amp;quot;,&lt;br /&gt;
        &amp;quot;февраль&amp;quot;:&amp;quot;гавриил&amp;quot;, &amp;quot;февраля&amp;quot;:&amp;quot;гавриила&amp;quot;, &amp;quot;феврале&amp;quot;:&amp;quot;гаврииле&amp;quot;,&lt;br /&gt;
        &amp;quot;март&amp;quot;:&amp;quot;женечка&amp;quot;, &amp;quot;марта&amp;quot;:&amp;quot;женечки&amp;quot;, &amp;quot;марте&amp;quot;:&amp;quot;женечке&amp;quot;,&lt;br /&gt;
        &amp;quot;апрель&amp;quot;:&amp;quot;поджог&amp;quot;, &amp;quot;апреля&amp;quot;:&amp;quot;поджога&amp;quot;, &amp;quot;апреле&amp;quot;:&amp;quot;поджоге&amp;quot;,&lt;br /&gt;
        &amp;quot;май&amp;quot;:&amp;quot;глыба&amp;quot;, &amp;quot;мая&amp;quot;:&amp;quot;глыбы&amp;quot;, &amp;quot;мае&amp;quot;:&amp;quot;глыбе&amp;quot;,&lt;br /&gt;
        &amp;quot;июнь&amp;quot;:&amp;quot;антиарт&amp;quot;, &amp;quot;июня&amp;quot;:&amp;quot;антиарта&amp;quot;, &amp;quot;июне&amp;quot;:&amp;quot;антиарте&amp;quot;,&lt;br /&gt;
        &amp;quot;июль&amp;quot;:&amp;quot;подхалим&amp;quot;, &amp;quot;июля&amp;quot;:&amp;quot;подхалима&amp;quot;, &amp;quot;июле&amp;quot;:&amp;quot;подхалиме&amp;quot;,&lt;br /&gt;
        &amp;quot;август&amp;quot;:&amp;quot;антиорден&amp;quot;, &amp;quot;августа&amp;quot;:&amp;quot;антиордена&amp;quot;, &amp;quot;августе&amp;quot;:&amp;quot;антиордене&amp;quot;,&lt;br /&gt;
        &amp;quot;сентябрь&amp;quot;:&amp;quot;рак&amp;quot;, &amp;quot;сентября&amp;quot;:&amp;quot;рака&amp;quot;, &amp;quot;сентябре&amp;quot;:&amp;quot;раке&amp;quot;,&lt;br /&gt;
        &amp;quot;октябрь&amp;quot;:&amp;quot;листьев&amp;quot;, &amp;quot;октября&amp;quot;:&amp;quot;листьева&amp;quot;, &amp;quot;октябре&amp;quot;:&amp;quot;листьеве&amp;quot;,&lt;br /&gt;
        &amp;quot;ноябрь&amp;quot;:&amp;quot;антитёр&amp;quot;, &amp;quot;ноября&amp;quot;:&amp;quot;антитёра&amp;quot;, &amp;quot;ноябре&amp;quot;:&amp;quot;антитёре&amp;quot;,&lt;br /&gt;
        &amp;quot;декабрь&amp;quot;:&amp;quot;крайнов&amp;quot;, &amp;quot;декабря&amp;quot;:&amp;quot;крайнова&amp;quot;, &amp;quot;декабре&amp;quot;:&amp;quot;крайнове&amp;quot;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    var numToAbdulMonth = [&amp;quot;сдоха&amp;quot;, &amp;quot;гавриила&amp;quot;, &amp;quot;женечки&amp;quot;, &amp;quot;поджога&amp;quot;, &amp;quot;глыбы&amp;quot;, &amp;quot;антиарта&amp;quot;, &amp;quot;подхалима&amp;quot;, &amp;quot;антиордена&amp;quot;, &amp;quot;рака&amp;quot;, &amp;quot;листьева&amp;quot;, &amp;quot;антитёра&amp;quot;, &amp;quot;крайнова&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
    function convertDatesInNode(node) {&lt;br /&gt;
        if (node.nodeType === 3) { &lt;br /&gt;
            var originalText = node.nodeValue;&lt;br /&gt;
            var newText = originalText;&lt;br /&gt;
&lt;br /&gt;
            // 3.1 Текстовые даты (Поглощаем г., год, года, году в конце)&lt;br /&gt;
            var regexText = /\b([1-9]|[12][0-9]|3[01])?\s*(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?)(?:(\s*(?:-|и|по)\s*)(январ[ьяе]?|феврал[ьяе]?|март[ае]?|апрел[ьяе]?|ма[йяе]|июн[ьяе]?|июл[ьяе]?|август[ае]?|сентябр[ьяе]?|октябр[ьяе]?|ноябр[ьяе]?|декабр[ьяе]?))?(?:\s+(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?)?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexText, function(match, p1, p2, p3, p4, p5) {&lt;br /&gt;
                var m1 = p2.toLowerCase();&lt;br /&gt;
                var abdulMonth1 = monthsMap[m1] || m1;&lt;br /&gt;
                if (p2[0] === p2[0].toUpperCase()) abdulMonth1 = abdulMonth1.charAt(0).toUpperCase() + abdulMonth1.slice(1);&lt;br /&gt;
                &lt;br /&gt;
                var abdulMonth2 = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p4) {&lt;br /&gt;
                    var m2 = p4.toLowerCase();&lt;br /&gt;
                    abdulMonth2 = monthsMap[m2] || m2;&lt;br /&gt;
                    if (p4[0] === p4[0].toUpperCase()) abdulMonth2 = abdulMonth2.charAt(0).toUpperCase() + abdulMonth2.slice(1);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                var res = &amp;quot;&amp;quot;;&lt;br /&gt;
                if (p1) res += p1 + &amp;quot; &amp;quot;;&lt;br /&gt;
                res += abdulMonth1;&lt;br /&gt;
                if (p3 &amp;amp;&amp;amp; p4) res += p3 + abdulMonth2;&lt;br /&gt;
                &lt;br /&gt;
                // Убираем слово &amp;quot;года&amp;quot; или &amp;quot;г.&amp;quot; из скобок для чистоты&lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
                if (p5) {&lt;br /&gt;
                    var y = parseInt(p5, 10);&lt;br /&gt;
                    if (y &amp;lt; 100) y += 2000;&lt;br /&gt;
                    var abdulYear = y - 2008;&lt;br /&gt;
                    if (abdulYear &amp;lt; 0) {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot;;&lt;br /&gt;
                    } else {&lt;br /&gt;
                        res += &amp;quot; &amp;quot; + abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                return res + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // 3.2 Числовые даты (Тоже поглощаем г., год, года)&lt;br /&gt;
            var regexNum = /(?:\b|^)([0-2]?[1-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{2,4})(?:\s*(?:г\.?|год[а-я]*))?(?=\s|[.,!?]|$)/gi;&lt;br /&gt;
            &lt;br /&gt;
            newText = newText.replace(regexNum, function(match, day, month, year) {&lt;br /&gt;
                var mIdx = parseInt(month, 10) - 1;&lt;br /&gt;
                var abdulMonth = numToAbdulMonth[mIdx];&lt;br /&gt;
                var y = parseInt(year, 10);&lt;br /&gt;
                if (y &amp;lt; 100) y += 2000; &lt;br /&gt;
                if (y &amp;lt; 1800 || y &amp;gt; 2200) return match; &lt;br /&gt;
                &lt;br /&gt;
                var abdulYear = y - 2008;&lt;br /&gt;
                var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                &lt;br /&gt;
                var cleanMatch = match.replace(/\s*(?:г\.?|год[а-я]*)$/i, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                return parseInt(day, 10) + &amp;quot; &amp;quot; + abdulMonth + &amp;quot; &amp;quot; + yearStr + &amp;quot; (&amp;quot; + cleanMatch + &amp;quot;)&amp;quot;;&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            if (newText !== originalText) { node.nodeValue = newText; }&lt;br /&gt;
&lt;br /&gt;
        } else if (node.nodeType === 1 &amp;amp;&amp;amp; node.nodeName !== &#039;SCRIPT&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;STYLE&#039; &amp;amp;&amp;amp; node.nodeName !== &#039;TEXTAREA&#039; &amp;amp;&amp;amp; !$(node).hasClass(&#039;no-abdul-convert&#039;)) {&lt;br /&gt;
            for (var i = 0; i &amp;lt; node.childNodes.length; i++) {&lt;br /&gt;
                convertDatesInNode(node.childNodes[i]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // Запуск парсера по всему контенту&lt;br /&gt;
    $content.find(&#039;.mw-parser-output&#039;).each(function() {&lt;br /&gt;
        if (!this.dataset.abdulConverted) { &lt;br /&gt;
            convertDatesInNode(this); &lt;br /&gt;
            this.dataset.abdulConverted = true; &lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
// === 4. МИНИ-КАЛЕНДАРЬ В БОКОВОЙ ПАНЕЛИ (Ювелирная подгонка под Timeless) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-cal&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            var miniCalHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-cal&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: pointer;&amp;quot; onclick=&amp;quot;window.location.href=\&#039;/Абдулокалендарь\&#039;&amp;quot; title=&amp;quot;Открыть полный Абдулокалендарь&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    // ИСПРАВЛЕНИЯ: цвет #ffea00, размер 13px, отключен стандартный курсив (font-style: normal). &lt;br /&gt;
                    // Текст обернут в span со сдвигом skewX(-6deg) для создания идеального &amp;quot;полу-курсива&amp;quot;.&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулокалендарь&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; margin-bottom: 12px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #888; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЕГОДНЯ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-today&amp;quot; style=&amp;quot;font-size: 13px; color: #fff; font-weight: bold; line-height: 1.3;&amp;quot;&amp;gt;Вычисляем...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div style=&amp;quot;font-size: 11px; color: #b71c1c; font-weight: bold; margin-bottom: 4px; text-transform: uppercase;&amp;quot;&amp;gt;СЛЕДУЮЩЕЕ СОБЫТИЕ:&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div class=&amp;quot;abdul-live-countdown&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4;&amp;quot;&amp;gt;Синхронизация...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(miniCalHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 5. АБДУЛОНАУЧНЫЕ ФАКТЫ В БОКОВОЙ ПАНЕЛИ (JS-ИНЪЕКЦИЯ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;#p-abdul-mini-facts&#039;).length === 0) {&lt;br /&gt;
            &lt;br /&gt;
            // 1. Рисуем HTML блока в точности как у Абдулокалендаря&lt;br /&gt;
            var factsHtml = &#039;&amp;lt;div id=&amp;quot;p-abdul-mini-facts&amp;quot; style=&amp;quot;background: rgba(15, 15, 18, 0.85); border: 1px solid #333; border-bottom: 2px solid #b71c1c; border-radius: 6px; margin: 0 0 20px 0; padding: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.5); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif; box-sizing: border-box; width: 100%;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div style=&amp;quot;cursor: default;&amp;quot; title=&amp;quot;База данных Абдулонауки&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;h3 style=&amp;quot;color: #ffea00; font-size: 13px; font-weight: bold; font-style: normal; border-bottom: 1px solid #ffea00; padding-bottom: 2px; margin: 0 0 10px 0;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;span style=&amp;quot;display: inline-block; transform: skewX(-6deg);&amp;quot;&amp;gt;Абдулонаука&amp;lt;/span&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/h3&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;div style=&amp;quot;text-align: left; border-left: 2px solid #b71c1c; padding-left: 10px;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                        &#039;&amp;lt;div id=&amp;quot;abdul-fact-text&amp;quot; style=&amp;quot;font-size: 12px; color: #ddd; line-height: 1.4; min-height: 80px; display: flex; align-items: center;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                    &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
            &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
            // 2. Ищем боковую панель Timeless и вставляем туда наш блок&lt;br /&gt;
            var $sidebar = $(&#039;#mw-related-navigation&#039;); &lt;br /&gt;
            if ($sidebar.length === 0) {&lt;br /&gt;
                $sidebar = $(&#039;#mw-site-navigation&#039;); &lt;br /&gt;
            }&lt;br /&gt;
            if ($sidebar.length &amp;gt; 0) {&lt;br /&gt;
                $sidebar.append(factsHtml);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. База данных из 20 фактов&lt;br /&gt;
        var facts = [&lt;br /&gt;
            &amp;quot;Абдулов обитает в центре нашей галактики в гигантской черной дыре. Научные открытия о сверхмассивных черных дырах лишь подтверждают тексты Биборана.&amp;quot;,&lt;br /&gt;
            &amp;quot;Наша Вселенная является трехмерной голограммой, тогда как вся истинная информация хранится на двухмерной информационной матрице.&amp;quot;,&lt;br /&gt;
            &amp;quot;Истинная цель Абдуловеры — уничтожение Богосатаны и полная отмена пыток в Аду для всего населения галактики.&amp;quot;,&lt;br /&gt;
            &amp;quot;Любая информация во Вселенной неуничтожима. Уничтожив физическую оболочку грешника, его код навсегда переносится в Абдулоад на вечные испытания.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешник определяется не только своими поступками. Его дефектный код формируется в информационной матрице еще до его рождения.&amp;quot;,&lt;br /&gt;
            &amp;quot;Сатана пытает людей, перенося их полномасштабную трехмерную сущность в цифровую 2D-матрицу Ада.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулов смог нарушить систему безопасности Вселенной и взломать «файрвол» двухмерной информационной панели, получив права Бога.&amp;quot;,&lt;br /&gt;
            &amp;quot;Чудеса Абдуловерований документально подтверждены: от мироточащих портретов Пророка до стигматов в виде строк из Биборана на теле адептов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Священный Биборан — это абсолютно завершенный научный труд, переданный напрямую из центра галактики. Добавлять в него отсебятину категорически запрещено.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем планируется построить гигантский Абдулогенератор для обеспечения Земли бесконечной энергией от сверхсветового вращения Абдулова.&amp;quot;,&lt;br /&gt;
            &amp;quot;Все истинные адепты обладают единым разумом — они действуют как нейроны гигантского мозга, подключенного к Абдулосети.&amp;quot;,&lt;br /&gt;
            &amp;quot;Грешников используют в Аду как клонов-помощников для создания рабочей силы, которая помогает пытать других, более страшных грешников.&amp;quot;,&lt;br /&gt;
            &amp;quot;Информация о грешниках намертво вшита в атомы водорода и кислорода их тел, поэтому ее невозможно стереть обычным физическим воздействием.&amp;quot;,&lt;br /&gt;
            &amp;quot;Горизонт событий черной дыры — это барьер, за которым начинается прямая работа с «чистым битом» информации нашей Вселенной.&amp;quot;,&lt;br /&gt;
            &amp;quot;Если правильно воздействовать на грешника физически, можно запустить цепную реакцию детонации его испорченных атомов и вызвать виртуальную гангрену зла.&amp;quot;,&lt;br /&gt;
            &amp;quot;В будущем будет разработано программное обеспечение, способное автоматически вычислять скрытых грешников по нано-строению их черепа и мозга.&amp;quot;,&lt;br /&gt;
            &amp;quot;Каждое доброе дело и чтение Биборана записывается в матрицу, гарантируя адепту тысячелетия в комнатах Абдулоада без подключения электродов.&amp;quot;,&lt;br /&gt;
            &amp;quot;Старый Бог изначально создал систему защиты, чтобы сатана не мог клонировать души. Абдулов взломал этот защитный код, сняв ограничения на копирование.&amp;quot;,&lt;br /&gt;
            &amp;quot;Когда грешник переходит горизонт событий, его трехмерная проекция сплющивается, и он отображается в нашем пространстве как двухмерная модель мученика.&amp;quot;,&lt;br /&gt;
            &amp;quot;Абдулонаука — единственная религия, основанная на строгих законах квантовой физики, астрономии и цифрового программирования Вселенной.&amp;quot;&lt;br /&gt;
        ];&lt;br /&gt;
&lt;br /&gt;
        // 4. Логика анимации и таймера&lt;br /&gt;
        var $factContainer = $(&#039;#abdul-fact-text&#039;);&lt;br /&gt;
        if ($factContainer.length &amp;gt; 0) {&lt;br /&gt;
            var currentIndex = 0;&lt;br /&gt;
            &lt;br /&gt;
            // Перемешиваем массив, чтобы каждый раз был новый порядок&lt;br /&gt;
            facts.sort(function() { return 0.5 - Math.random(); });&lt;br /&gt;
            &lt;br /&gt;
            function changeFact() {&lt;br /&gt;
                // Плавное затухание текста и появление нового&lt;br /&gt;
                $factContainer.animate({ opacity: 0 }, 600, function() {&lt;br /&gt;
                    $(this).text(facts[currentIndex]).animate({ opacity: 1 }, 600);&lt;br /&gt;
                    currentIndex = (currentIndex + 1) % facts.length;&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            // Запускаем сразу первый факт&lt;br /&gt;
            changeFact();&lt;br /&gt;
            &lt;br /&gt;
            // Ровно 30 секунд&lt;br /&gt;
            setInterval(changeFact, 30000);&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === СКРЫТИЕ СИСТЕМНОГО ИНТЕРФЕЙСА ДЛЯ НЕ-АДМИНОВ ===&lt;br /&gt;
(function() {&lt;br /&gt;
    // 1. Проверяем, Главная ли это страница (работает 100% для любых названий)&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-main-page-all&#039;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    var groups = mw.config.get(&#039;wgUserGroups&#039;) || [];&lt;br /&gt;
    var isAdmin = groups.indexOf(&#039;sysop&#039;) !== -1 || groups.indexOf(&#039;bureaucrat&#039;) !== -1;&lt;br /&gt;
    &lt;br /&gt;
    if (!isAdmin) {&lt;br /&gt;
        // 2. Метка не-админа&lt;br /&gt;
        document.documentElement.classList.add(&#039;abdul-not-admin&#039;);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Метка защиты: если статья защищена от правки&lt;br /&gt;
        var restrictions = mw.config.get(&#039;wgRestrictionEdit&#039;) || [];&lt;br /&gt;
        if (restrictions.length &amp;gt; 0) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-protected-page&#039;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 4. Метка не-админа НА ГЛАВНОЙ&lt;br /&gt;
        if (mw.config.get(&#039;wgIsMainPage&#039;)) {&lt;br /&gt;
            document.documentElement.classList.add(&#039;abdul-main-page-guest&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// === 6. ГЕНЕРАТОР СЛУЧАЙНЫХ ЦИТАТ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-random-quote-box&#039;).each(function() {&lt;br /&gt;
            var $db = $(this).find(&#039;.abdul-quotes-database .aq-item&#039;);&lt;br /&gt;
            if ($db.length &amp;gt; 0) {&lt;br /&gt;
                // Выбираем случайное число от 0 до количества цитат&lt;br /&gt;
                var randomIdx = Math.floor(Math.random() * $db.length);&lt;br /&gt;
                var quoteText = $db.eq(randomIdx).html();&lt;br /&gt;
                &lt;br /&gt;
                // Прячем надпись загрузки, вставляем цитату и плавно проявляем её за 1 секунду&lt;br /&gt;
                $(this).find(&#039;.abdul-quote-content&#039;).hide().html(quoteText).fadeIn(1000);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 7. УЛУЧШЕНИЕ СПИСКА УЧАСТНИКОВ (Режим &amp;quot;Бульдозер&amp;quot;) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        if ($(&#039;.mw-special-Listusers&#039;).length &amp;gt; 0) {&lt;br /&gt;
            $(&#039;.mw-special-Listusers #mw-content-text &amp;gt; ul &amp;gt; li&#039;).each(function() {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // 1. Пометка админов&lt;br /&gt;
                var textContent = $li.text().toLowerCase();&lt;br /&gt;
                if (textContent.indexOf(&#039;administrator&#039;) !== -1 || textContent.indexOf(&#039;администратор&#039;) !== -1 || textContent.indexOf(&#039;bureaucrat&#039;) !== -1) {&lt;br /&gt;
                    $li.addClass(&#039;abdul-admin-card&#039;);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 2. Спасаем нужные чистые элементы&lt;br /&gt;
                var $userlink = $li.find(&#039;.mw-userlink&#039;).clone();&lt;br /&gt;
                var $toollinks = $li.find(&#039;.mw-usertoollinks&#039;).clone();&lt;br /&gt;
&lt;br /&gt;
                // 3. Вытаскиваем дату создания и отрезаем время&lt;br /&gt;
                var html = $li.html();&lt;br /&gt;
                var dateMatch = html.match(/\(Создан\s+([0-9]+\s+[а-яА-ЯёЁa-zA-Z]+\s+[0-9]{4})\s*(?:в\s*\d{1,2}:\d{2})?\)/i);&lt;br /&gt;
                var dateHtml = &#039;&#039;;&lt;br /&gt;
                if (dateMatch) {&lt;br /&gt;
                    dateHtml = &#039;&amp;lt;div class=&amp;quot;abdul-creation-date&amp;quot;&amp;gt;Делает добро с &#039; + dateMatch[1] + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // 4. Добываем роли (всё, что между ссылками &amp;quot;вклад&amp;quot; и датой)&lt;br /&gt;
                var rolesHtml = &#039;&#039;;&lt;br /&gt;
                var inRoles = false;&lt;br /&gt;
                $li.contents().each(function() {&lt;br /&gt;
                    if ($(this).hasClass(&#039;mw-usertoollinks&#039;)) {&lt;br /&gt;
                        inRoles = true;&lt;br /&gt;
                        return; // пропускаем сами ссылки&lt;br /&gt;
                    }&lt;br /&gt;
                    if (inRoles) {&lt;br /&gt;
                        if (this.nodeType === 3 &amp;amp;&amp;amp; this.nodeValue.indexOf(&#039;(Создан&#039;) !== -1) {&lt;br /&gt;
                            inRoles = false;&lt;br /&gt;
                            return false; // останавливаемся, когда дошли до даты&lt;br /&gt;
                        }&lt;br /&gt;
                        if (this.nodeType === 3) {&lt;br /&gt;
                            rolesHtml += this.nodeValue;&lt;br /&gt;
                        } else if (this.nodeType === 1) {&lt;br /&gt;
                            rolesHtml += this.outerHTML;&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                // 5. Выжигаем HTML-теги из ролей (убиваем синие ссылки!), чистим скобки и режем по запятым&lt;br /&gt;
                var rawRolesText = $(&#039;&amp;lt;div&amp;gt;&#039;).html(rolesHtml).text(); // Получаем АБСОЛЮТНО голый текст&lt;br /&gt;
                rawRolesText = $.trim(rawRolesText).replace(/^\(/, &#039;&#039;).replace(/\)$/, &#039;&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var badgesHtml = &#039;&#039;;&lt;br /&gt;
                if (rawRolesText) {&lt;br /&gt;
                    var rolesArray = rawRolesText.split(&#039;,&#039;);&lt;br /&gt;
                    $.each(rolesArray, function(i, val) {&lt;br /&gt;
                        var role = $.trim(val).replace(/[()]/g, &#039;&#039;);&lt;br /&gt;
                        if (role) {&lt;br /&gt;
                            badgesHtml += &#039;&amp;lt;span class=&amp;quot;abdul-role-badge&amp;quot;&amp;gt;&#039; + role + &#039;&amp;lt;/span&amp;gt;&#039;;&lt;br /&gt;
                        }&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
                var finalRolesContainer = badgesHtml ? &#039;&amp;lt;div class=&amp;quot;mw-listusers-groups&amp;quot;&amp;gt;&#039; + badgesHtml + &#039;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
                // 6. Сносим старую кашу подчистую и собираем идеальную карточку!&lt;br /&gt;
                $li.empty().append($userlink).append($toollinks).append(finalRolesContainer).append(dateHtml);&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 8. ЭЛИТНЫЙ ЛИДЕРБОРД ПОПУЛЯРНЫХ СТРАНИЦ (СЕТКА + ТЕКСТ) ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var isPopularPage = (mw.config.get(&#039;wgCanonicalSpecialPageName&#039;) || &#039;&#039;).toLowerCase() === &#039;popularpages&#039; || window.location.href.indexOf(&#039;PopularPages&#039;) !== -1;&lt;br /&gt;
        &lt;br /&gt;
        if (isPopularPage) {&lt;br /&gt;
            // 1. Убиваем дефолтный текст и ставим ЭЛИТНУЮ читаемую плашку&lt;br /&gt;
            var $desc = $(&#039;.mw-spcontent &amp;gt; p&#039;).first();&lt;br /&gt;
            if ($desc.length) {&lt;br /&gt;
                $desc.html(&#039;&amp;lt;div style=&amp;quot;background: rgba(20, 20, 25, 0.95); border: 1px solid #4a0000; border-left: 5px solid #ff5252; padding: 15px 20px; margin-bottom: 20px; border-radius: 6px; box-shadow: 0 5px 15px rgba(0,0,0,0.6); font-family: \&#039;ZektonRg\&#039;, \&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;strong style=&amp;quot;color: #fbc02d; font-size: 22px; text-transform: uppercase; letter-spacing: 1px; text-shadow: 0 0 10px rgba(251, 192, 45, 0.3);&amp;quot;&amp;gt;Самые абдуленные статьи на сайте&amp;lt;/strong&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color: #eeeeee; font-size: 14px; line-height: 1.5; display: inline-block; margin-top: 5px;&amp;quot;&amp;gt;Золотой фонд Центра Абдулокультуры. Эти труды читают истинные адепты и боятся все неверные.&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            var $ol = $(&#039;#mw-content-text ol.special, .mw-spcontent &amp;gt; ol.special&#039;);&lt;br /&gt;
            $ol.addClass(&#039;abdul-popular-list&#039;);&lt;br /&gt;
&lt;br /&gt;
            var topTitles = [];&lt;br /&gt;
&lt;br /&gt;
            $ol.find(&#039;li&#039;).each(function(index) {&lt;br /&gt;
                var $li = $(this);&lt;br /&gt;
                var $a = $li.find(&#039;a&#039;).first().clone();&lt;br /&gt;
                var title = $a.attr(&#039;title&#039;);&lt;br /&gt;
                &lt;br /&gt;
                var text = $li.text();&lt;br /&gt;
                var match = text.match(/\(([\d\s\xA0]+)\s*просмотр/i);&lt;br /&gt;
                &lt;br /&gt;
                if (match &amp;amp;&amp;amp; $a.length) {&lt;br /&gt;
                    var viewsNum = $.trim(match[1]);&lt;br /&gt;
                    &lt;br /&gt;
                    // Фото для Топ-10, Текст только для Топ-3&lt;br /&gt;
                    var thumbHtml = (index &amp;lt; 10) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-thumb&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    var extractHtml = (index &amp;lt; 3) ? &#039;&amp;lt;div class=&amp;quot;abdul-top-extract&amp;quot; data-title=&amp;quot;&#039; + title + &#039;&amp;quot;&amp;gt;Синхронизация с архивами...&amp;lt;/div&amp;gt;&#039; : &#039;&#039;;&lt;br /&gt;
                    &lt;br /&gt;
                    $li.empty()&lt;br /&gt;
                       .append(thumbHtml)&lt;br /&gt;
                       .append(&#039;&amp;lt;div class=&amp;quot;abdul-card-content&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;)&lt;br /&gt;
                       .append(&#039;&amp;lt;span class=&amp;quot;abdul-views-badge&amp;quot;&amp;gt;&#039; + viewsNum + &#039;&amp;lt;/span&amp;gt;&#039;);&lt;br /&gt;
                    &lt;br /&gt;
                    // Упаковываем контент&lt;br /&gt;
                    $li.find(&#039;.abdul-card-content&#039;).append($a).append(extractHtml);&lt;br /&gt;
                    &lt;br /&gt;
                    if (index &amp;lt; 10) topTitles.push(title);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
            // Запрос к API (Тянем картинки + Текст)&lt;br /&gt;
            if (topTitles.length &amp;gt; 0) {&lt;br /&gt;
                $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                    action: &#039;query&#039;,&lt;br /&gt;
                    format: &#039;json&#039;,&lt;br /&gt;
                    prop: &#039;pageimages|extracts&#039;,&lt;br /&gt;
                    titles: topTitles.join(&#039;|&#039;),&lt;br /&gt;
                    pithumbsize: 400, // Грузим в хорошем качестве&lt;br /&gt;
                    exchars: 140,     // Длина куска текста&lt;br /&gt;
                    exintro: true,&lt;br /&gt;
                    explaintext: true&lt;br /&gt;
                }, function(data) {&lt;br /&gt;
                    if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.pages) {&lt;br /&gt;
                        var pages = data.query.pages;&lt;br /&gt;
                        &lt;br /&gt;
                        // Вставляем картинки&lt;br /&gt;
                        $(&#039;.abdul-top-thumb&#039;).each(function() {&lt;br /&gt;
                            var $thumb = $(this);&lt;br /&gt;
                            var t = $thumb.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t &amp;amp;&amp;amp; pages[id].thumbnail) {&lt;br /&gt;
                                    $thumb.css(&#039;background-image&#039;, &#039;url(&#039; + pages[id].thumbnail.source + &#039;)&#039;).addClass(&#039;has-image&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
&lt;br /&gt;
                        // Вставляем тексты для Топ-3&lt;br /&gt;
                        $(&#039;.abdul-top-extract&#039;).each(function() {&lt;br /&gt;
                            var $ext = $(this);&lt;br /&gt;
                            var t = $ext.attr(&#039;data-title&#039;);&lt;br /&gt;
                            for (var id in pages) {&lt;br /&gt;
                                if (pages[id].title === t) {&lt;br /&gt;
                                    var snippet = pages[id].extract || &#039;Описание отсутствует в священных архивах...&#039;;&lt;br /&gt;
                                    $ext.text(snippet + &#039;...&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === 9. ИНТЕРАКТИВНАЯ ДОСКА РОЗЫСКА НА ГЛАВНОЙ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        var $wantedContainer = $(&#039;#abdul-wanted-pages-module&#039;);&lt;br /&gt;
        &lt;br /&gt;
        if ($wantedContainer.length &amp;gt; 0) {&lt;br /&gt;
            $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
                action: &#039;query&#039;,&lt;br /&gt;
                list: &#039;querypage&#039;,&lt;br /&gt;
                qppage: &#039;Wantedpages&#039;,&lt;br /&gt;
                qplimit: 5, // Берем ТОП-6 самых требуемых статей&lt;br /&gt;
                format: &#039;json&#039;&lt;br /&gt;
            }, function(data) {&lt;br /&gt;
                if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.querypage &amp;amp;&amp;amp; data.query.querypage.results) {&lt;br /&gt;
                    var pages = data.query.querypage.results;&lt;br /&gt;
                    &lt;br /&gt;
                    var html = &#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА РОЗЫСКА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;Эти объекты и грешники часто упоминаются в архивах, но до сих пор не имеют собственной статьи. Нажми «Создать», чтобы сделать добро!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-grid&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
&lt;br /&gt;
                    $.each(pages, function(i, page) {&lt;br /&gt;
                        var title = page.title;&lt;br /&gt;
                        var mentions = page.value;&lt;br /&gt;
                        // Генерируем ссылку сразу на окно создания статьи!&lt;br /&gt;
                        var createUrl = mw.util.getUrl(title, { action: &#039;edit&#039;, redlink: &#039;1&#039; });&lt;br /&gt;
&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-card&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-img&amp;quot;&amp;gt;&amp;lt;span&amp;gt;WANTED&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-info&amp;quot;&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-name&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;div class=&amp;quot;abdul-wanted-mentions&amp;quot;&amp;gt;Упоминаний в текстах: &amp;lt;b style=&amp;quot;color:#fbc02d;&amp;quot;&amp;gt;&#039; + mentions + &#039;&amp;lt;/b&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;a href=&amp;quot;&#039; + createUrl + &#039;&amp;quot; class=&amp;quot;abdul-wanted-btn&amp;quot;&amp;gt;⚔ СОЗДАТЬ СТАТЬЮ&amp;lt;/a&amp;gt;&#039;;&lt;br /&gt;
                        html += &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    });&lt;br /&gt;
&lt;br /&gt;
                    html += &#039;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
                    $wantedContainer.html(html);&lt;br /&gt;
                } else {&lt;br /&gt;
                    $wantedContainer.html(&#039;&amp;lt;div class=&amp;quot;abdul-wanted-header&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-title&amp;quot;&amp;gt;ДОСКА ЧИСТА&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;abdul-wanted-desc&amp;quot;&amp;gt;База розыска пуста. Все враги и артефакты успешно задокументированы!&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
// === АНИМАЦИЯ БЕГУЩИХ ЦИФР В БЛОКЕ СТАТИСТИКИ ===&lt;br /&gt;
    $(document).ready(function() {&lt;br /&gt;
        $(&#039;.abdul-counter&#039;).each(function () {&lt;br /&gt;
            var $this = $(this);&lt;br /&gt;
            // Читаем цифру, которую выдал движок (убирая пробелы и системный мусор)&lt;br /&gt;
            var target = parseInt($this.text().replace(/\D/g, &#039;&#039;), 10);&lt;br /&gt;
            &lt;br /&gt;
            if (!isNaN(target) &amp;amp;&amp;amp; target &amp;gt; 0) {&lt;br /&gt;
                $({ Counter: 0 }).animate({ Counter: target }, {&lt;br /&gt;
                    duration: 2000,&lt;br /&gt;
                    easing: &#039;swing&#039;,&lt;br /&gt;
                    step: function () {&lt;br /&gt;
                        // Анимация бега с пробелами (напр. 12 400)&lt;br /&gt;
                        $this.text(Math.ceil(this.Counter).toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    },&lt;br /&gt;
                    complete: function() {&lt;br /&gt;
                        // Финал&lt;br /&gt;
                        $this.text(target.toLocaleString(&#039;ru-RU&#039;));&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
&lt;br /&gt;
/* ==========================================================================&lt;br /&gt;
   АБДУЛОВЕРА - Умный парсер Абдулодаты для CommentStreams&lt;br /&gt;
   ========================================================================== */&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
    // Мост для перевода английских системных дат в лорные и обычные русские&lt;br /&gt;
    var mTrans = {&lt;br /&gt;
        &#039;January&#039;:[&#039;января&#039;,&#039;сдоха&#039;], &#039;February&#039;:[&#039;февраля&#039;,&#039;гавриила&#039;], &#039;March&#039;:[&#039;марта&#039;,&#039;женечки&#039;],&lt;br /&gt;
        &#039;April&#039;:[&#039;апреля&#039;,&#039;поджога&#039;], &#039;May&#039;:[&#039;мая&#039;,&#039;глыбы&#039;], &#039;June&#039;:[&#039;июня&#039;,&#039;антиарта&#039;],&lt;br /&gt;
        &#039;July&#039;:[&#039;июля&#039;,&#039;подхалима&#039;], &#039;August&#039;:[&#039;августа&#039;,&#039;антиордена&#039;], &#039;September&#039;:[&#039;сентября&#039;,&#039;рака&#039;],&lt;br /&gt;
        &#039;October&#039;:[&#039;октября&#039;,&#039;листьева&#039;], &#039;November&#039;:[&#039;ноября&#039;,&#039;антитёра&#039;], &#039;December&#039;:[&#039;декабря&#039;,&#039;крайнова&#039;]&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    setInterval(function() {&lt;br /&gt;
        $(&#039;.cs-comment-header-center, .cs-posted-date&#039;).each(function() {&lt;br /&gt;
            var el = $(this);&lt;br /&gt;
            var html = el.html();&lt;br /&gt;
            &lt;br /&gt;
            // Ловим английскую дату (напр. &amp;quot;Posted on May 11, 2026 at 10:43 pm&amp;quot; или если там уже &amp;quot;насрал&amp;quot;)&lt;br /&gt;
            var match = html.match(/(?:Posted on|насрал)\s+([A-Z][a-z]+) (\d{1,2}), (\d{4})( at \d{1,2}:\d{2} [ap]m)?/);&lt;br /&gt;
            &lt;br /&gt;
            if (match) {&lt;br /&gt;
                var engMonth = match[1];&lt;br /&gt;
                var day = match[2];&lt;br /&gt;
                var year = parseInt(match[3], 10);&lt;br /&gt;
                var timeStr = match[4] || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                if (mTrans[engMonth]) {&lt;br /&gt;
                    var rusMonth = mTrans[engMonth][0];&lt;br /&gt;
                    var abdulMonth = mTrans[engMonth][1];&lt;br /&gt;
                    &lt;br /&gt;
                    // Логика Абдулокалендаря (от 2008 года)&lt;br /&gt;
                    var abdulYear = year - 2008;&lt;br /&gt;
                    var yearStr = abdulYear &amp;lt; 0 ? Math.abs(abdulYear) + &amp;quot; г. до Абдулоэры&amp;quot; : abdulYear + &amp;quot; Аг.&amp;quot;;&lt;br /&gt;
                    &lt;br /&gt;
                    var abdulDate = day + &#039; &#039; + abdulMonth + &#039; &#039; + yearStr;&lt;br /&gt;
                    var normalDate = day + &#039; &#039; + rusMonth + &#039; &#039; + year;&lt;br /&gt;
                    var rusTime = timeStr.replace(&#039;at &#039;, &#039;в &#039;);&lt;br /&gt;
                    &lt;br /&gt;
// Форматируем строку: всё единым стилем, без прозрачности&lt;br /&gt;
var finalString = &#039;насрал &#039; + abdulDate + &#039; (&#039; + normalDate + &#039;) &#039; + rusTime;&lt;br /&gt;
                    &lt;br /&gt;
                    // Заменяем исходный кусок&lt;br /&gt;
                    el.html(html.replace(match[0], finalString));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    }, 500); // Долбит каждые полсекунды, чтобы цеплять новые ответы&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* =======================================================&lt;br /&gt;
   АБДУЛО-МОДАЛЬНОЕ ОКНО (МЕТОД &amp;quot;ПРЯМОГО КОНТАКТА&amp;quot;)&lt;br /&gt;
   ======================================================= */&lt;br /&gt;
mw.loader.using([&#039;jquery&#039;, &#039;mediawiki.util&#039;]).then(function () {&lt;br /&gt;
    $(function() {&lt;br /&gt;
        var $ = jQuery;&lt;br /&gt;
&lt;br /&gt;
        // 1. Создаем HTML окна&lt;br /&gt;
        if ($(&#039;#abdul-auth-modal&#039;).length === 0) {&lt;br /&gt;
            $(&#039;body&#039;).append(&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-overlay&amp;quot; id=&amp;quot;abdul-auth-modal&amp;quot; style=&amp;quot;display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(10,10,12,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); z-index:999999; justify-content:center; align-items:center;&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-box&amp;quot; style=&amp;quot;background:#0a0a0c; border:1px solid #333; border-top:3px solid #b71c1c; border-radius:8px; width:90%; max-width:500px; max-height:85vh; position:relative; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 40px rgba(0,0,0,0.8);&amp;quot;&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-close&amp;quot; id=&amp;quot;abdul-auth-close&amp;quot; style=&amp;quot;position:absolute; top:10px; right:15px; color:#777; font-size:30px; font-weight:bold; cursor:pointer; z-index:100000; line-height:1;&amp;quot;&amp;gt;&amp;amp;times;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;div class=&amp;quot;abdul-modal-content&amp;quot; id=&amp;quot;abdul-auth-content&amp;quot; style=&amp;quot;padding:30px 25px; overflow-y:auto; color:#eee; font-family:\&#039;Roboto\&#039;, sans-serif;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039; +&lt;br /&gt;
                &#039;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
            );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 2. Функция, которая вешает окно НА ВСЕ ССЫЛКИ И ТРИГГЕРЫ&lt;br /&gt;
        function bindAbdulAuth() {&lt;br /&gt;
            // Ищем стандартные ссылки и наш кастомный класс-триггер из плашки анонимов&lt;br /&gt;
            $(&#039;a, .abdul-login-popup-trigger&#039;).each(function() {&lt;br /&gt;
                var $link = $(this);&lt;br /&gt;
                &lt;br /&gt;
                // Пропускаем, если к этому элементу обработчик уже привязан&lt;br /&gt;
                if ($link.hasClass(&#039;abdul-bound&#039;)) return;&lt;br /&gt;
&lt;br /&gt;
                var url = $link.attr(&#039;href&#039;) || &#039;&#039;;&lt;br /&gt;
                &lt;br /&gt;
                // Расшифровываем кракозябры URL&lt;br /&gt;
                var decodedUrl = &#039;&#039;;&lt;br /&gt;
                try { decodedUrl = decodeURIComponent(url); } catch(err) { decodedUrl = url; }&lt;br /&gt;
&lt;br /&gt;
                // Железобетонная проверка: относится ли элемент к авторизации или регистрации?&lt;br /&gt;
                var isAuth = $link.hasClass(&#039;abdul-login-popup-trigger&#039;) ||&lt;br /&gt;
                             $link.closest(&#039;#pt-createaccount&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.closest(&#039;#pt-login-2&#039;).length &amp;gt; 0 ||&lt;br /&gt;
                             $link.hasClass(&#039;abdul-create-btn&#039;) ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;UserLogin&#039;) !== -1 ||&lt;br /&gt;
                             decodedUrl.indexOf(&#039;Вход&#039;) !== -1;&lt;br /&gt;
&lt;br /&gt;
                // Если цель найдена&lt;br /&gt;
                if (isAuth) {&lt;br /&gt;
                    $link.addClass(&#039;abdul-bound&#039;); // Ставим метку, исключая дублирование&lt;br /&gt;
&lt;br /&gt;
                    // Если у триггера (например, спана) нет ссылки, принудительно шлем запрос на страницу Входа&lt;br /&gt;
                    if (!url || url === &#039;#&#039; || url.indexOf(&#039;javascript&#039;) === 0) {&lt;br /&gt;
                        url = mw.util.getUrl(&#039;Special:UserLogin&#039;);&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                    // ВЕШАЕМ КЛИК НАПРЯМУЮ С ПОЛНЫМ ПЕРЕХВАТОМ&lt;br /&gt;
                    $link.on(&#039;click&#039;, function(e) {&lt;br /&gt;
                        e.preventDefault();&lt;br /&gt;
                        e.stopImmediatePropagation(); // Тотальное уничтожение системных редиректов движка!&lt;br /&gt;
&lt;br /&gt;
                        // Включаем флекс-режим модалки&lt;br /&gt;
                        $(&#039;#abdul-auth-modal&#039;).css(&#039;display&#039;, &#039;flex&#039;).hide().fadeIn(200);&lt;br /&gt;
                        $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;hidden&#039;);&lt;br /&gt;
                        $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:50px; color:#b71c1c; font-family:\&#039;ZektonBd\&#039;, \&#039;Roboto\&#039;, sans-serif; font-size: 16px;&amp;quot;&amp;gt;СВЯЗЬ С АРХИВАМИ...&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
&lt;br /&gt;
                        // Выкачиваем форму через AJAX&lt;br /&gt;
                        $.ajax({&lt;br /&gt;
                            url: url,&lt;br /&gt;
                            type: &#039;GET&#039;,&lt;br /&gt;
                            success: function(data) {&lt;br /&gt;
                                var $parsed = $(data);&lt;br /&gt;
                                var $formContent = $parsed.find(&#039;#mw-content-text&#039;);&lt;br /&gt;
&lt;br /&gt;
                                if ($formContent.length) {&lt;br /&gt;
                                    var formHtml = $formContent.html();&lt;br /&gt;
&lt;br /&gt;
                                    // Динамически вычисляем правильный заголовок окна&lt;br /&gt;
                                    var modalTitle = &#039;ВХОД В АРХИВЫ&#039;;&lt;br /&gt;
                                    if (decodedUrl.indexOf(&#039;CreateAccount&#039;) !== -1 || decodedUrl.indexOf(&#039;Создать_учётную_запись&#039;) !== -1 || data.indexOf(&#039;wpCreateaccount&#039;) !== -1) {&lt;br /&gt;
                                        modalTitle = &#039;ПОСВЯЩЕНИЕ В АДЕПТЫ&#039;;&lt;br /&gt;
                                    }&lt;br /&gt;
&lt;br /&gt;
                                    // ПРАВОВЕРНАЯ АБДУЛИЗАЦИЯ ИНТЕРФЕЙСА (БЕЗ МУСОРА)&lt;br /&gt;
                                    formHtml = formHtml.replace(/Вводить настоящее имя необязательно\.[^&amp;lt;]*/g, &#039;Становясь адептом, ты гарантируешь себе 10 000 лет без пыток в Абдулоаду! Главное - читай Биборан и делай добро. Анша Абдуль!&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Рекомендуем использовать уникальный пароль, который вы не используете на других сайтах\./g, &#039;Придумай сложный абдулопароль, чтобы ипотечники не смогли взломать твою учётку.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/AbduloverA\.com — совместный труд таких же людей, как вы\./g, &#039;Центр Абдулокультуры — оплот истины в этом прогнившем мире.&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/To protect the wiki against automated account creation, we kindly ask you to solve the following hCaptcha:/g, &#039;Докажи, что ты не маслёнок-бот, пройди проверку:&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите имя вашей учётной записи/g, &#039;Введи свою погремуху&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль ещё раз/g, &#039;Повтори абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите пароль/g, &#039;Придумай секретный абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Введите свой адрес электронной почты/g, &#039;Укажи рабочий email&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    formHtml = formHtml.replace(/Создать учётную запись/g, &#039;ВСТУПИТЬ В АБДУЛОВЕРУ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Имя учётной записи/g, &#039;Никнейм&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Подтвердите пароль/g, &#039;Подтверди абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Пароль/g, &#039;Абдулопароль&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Войти/g, &#039;ВОЙТИ В АРХИВЫ&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Адрес электронной почты/g, &#039;Почта для связи с Архивами&#039;);&lt;br /&gt;
                                    formHtml = formHtml.replace(/Настоящее имя \(необязательно\)/g, &#039;ФИО в миру (Лучше не пиши)&#039;);&lt;br /&gt;
&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;h2 style=&amp;quot;color:#ffea00; text-align:center; margin-top:0; border-bottom:1px solid #333; padding-bottom:10px; font-family:\&#039;ZektonBd\&#039;, sans-serif; text-transform:uppercase; letter-spacing:1px;&amp;quot;&amp;gt;&#039; + modalTitle + &#039;&amp;lt;/h2&amp;gt;&#039; + formHtml);&lt;br /&gt;
                                } else {&lt;br /&gt;
                                    $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:30px;&amp;quot;&amp;gt;Не удалось вырезать форму.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                                }&lt;br /&gt;
                            },&lt;br /&gt;
                            error: function() {&lt;br /&gt;
                                $(&#039;#abdul-auth-content&#039;).html(&#039;&amp;lt;div style=&amp;quot;text-align:center; padding:40px; color:#ff5252;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;СЕРВЕР ОТКЛОНИЛ ЗАПРОС&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;a href=&amp;quot;&#039; + url + &#039;&amp;quot; style=&amp;quot;color:#ffea00; font-size:18px;&amp;quot;&amp;gt;ПЕРЕЙТИ ВРУЧНУЮ&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&#039;);&lt;br /&gt;
                            }&lt;br /&gt;
                        });&lt;br /&gt;
                    });&lt;br /&gt;
                }&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // 3. Запускаем мгновенную привязку&lt;br /&gt;
        bindAbdulAuth();&lt;br /&gt;
        &lt;br /&gt;
        // Сканируем новые элементы (включая асинхронную плашку анонимов) каждую секунду&lt;br /&gt;
        setInterval(bindAbdulAuth, 1000); &lt;br /&gt;
&lt;br /&gt;
        // 4. Логика закрытия модалки&lt;br /&gt;
        $(document).on(&#039;click&#039;, &#039;#abdul-auth-close, .abdul-modal-overlay&#039;, function(e) {&lt;br /&gt;
            if ($(e.target).hasClass(&#039;abdul-modal-overlay&#039;) || $(e.target).attr(&#039;id&#039;) === &#039;abdul-auth-close&#039;) {&lt;br /&gt;
                $(&#039;#abdul-auth-modal&#039;).fadeOut(200);&lt;br /&gt;
                $(&#039;body&#039;).css(&#039;overflow&#039;, &#039;&#039;);&lt;br /&gt;
                setTimeout(function() { $(&#039;#abdul-auth-content&#039;).empty(); }, 200);&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическая подгрузка блока навигации по категории статьи */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    // Не запускаем на заглавной и служебных страницах&lt;br /&gt;
    if (mw.config.get(&#039;wgIsMainPage&#039;) || mw.config.get(&#039;wgNamespaceNumber&#039;) !== 0) return;&lt;br /&gt;
&lt;br /&gt;
    // Если блок навигации уже вставлен вручную — ничего не делаем&lt;br /&gt;
    if ($content.find(&#039;.abdul-smooth-box&#039;).length &amp;gt; 0) return;&lt;br /&gt;
&lt;br /&gt;
    var categories = mw.config.get(&#039;wgCategories&#039;) || [];&lt;br /&gt;
    var targetCategory = null;&lt;br /&gt;
&lt;br /&gt;
    // Список категорий для автоматической навигации&lt;br /&gt;
    var validCats = [&lt;br /&gt;
        &#039;Сониблядство&#039;, &#039;Грешники&#039;, &#039;Великие грешники&#039;, &#039;Грехоболезни&#039;,&lt;br /&gt;
        &#039;Абдулокультура&#039;, &#039;Абдулонаука&#039;, &#039;Абдулоистория&#039;, &#039;Абдулоосновы&#039;,&lt;br /&gt;
        &#039;Юмор&#039;, &#039;Абдулопередачи&#039;, &#039;Мерзость&#039;, &#039;Автономии адептов&#039;,&lt;br /&gt;
        &#039;Абдулопредатели&#039;, &#039;Негативные явления&#039;, &#039;Абдулоиконы&#039;&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    for (var i = 0; i &amp;lt; validCats.length; i++) {&lt;br /&gt;
        if (categories.indexOf(validCats[i]) !== -1) {&lt;br /&gt;
            targetCategory = validCats[i];&lt;br /&gt;
            break;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (!targetCategory) return;&lt;br /&gt;
&lt;br /&gt;
    // Запрос готового HTML блока навигации через API MediaWiki&lt;br /&gt;
    $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
        action: &#039;parse&#039;,&lt;br /&gt;
        text: &#039;{{Навигация|&#039; + targetCategory + &#039;}}&#039;,&lt;br /&gt;
        contentmodel: &#039;wikitext&#039;,&lt;br /&gt;
        format: &#039;json&#039;&lt;br /&gt;
    }, function(data) {&lt;br /&gt;
        if (data &amp;amp;&amp;amp; data.parse &amp;amp;&amp;amp; data.parse.text) {&lt;br /&gt;
            var $navHtml = $(data.parse.text[&#039;*&#039;]);&lt;br /&gt;
            // Вставляем блок в самый низ основного содержимого статьи&lt;br /&gt;
            $(&#039;#mw-content-text&#039;).append($navHtml);&lt;br /&gt;
&lt;br /&gt;
            // Инициализация клика для плавного сворачивания&lt;br /&gt;
            $navHtml.find(&#039;.abdul-smooth-box&#039;).each(function() {&lt;br /&gt;
                var $box = $(this);&lt;br /&gt;
                var $header = $box.find(&#039;.abdul-smooth-header&#039;);&lt;br /&gt;
                var $contentBlock = $box.find(&#039;.abdul-smooth-content&#039;);&lt;br /&gt;
&lt;br /&gt;
                if ($box.hasClass(&#039;is-collapsed&#039;)) {&lt;br /&gt;
                    $contentBlock.hide();&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                $header.css(&#039;cursor&#039;, &#039;pointer&#039;).on(&#039;click&#039;, function() {&lt;br /&gt;
                    $contentBlock.stop(true, true).slideToggle(300);&lt;br /&gt;
                    $box.toggleClass(&#039;is-collapsed&#039;);&lt;br /&gt;
                });&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
    });&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
/* Автоматическое наполнение навигационных блоков новыми статьями из категорий */&lt;br /&gt;
mw.hook(&#039;wikipage.content&#039;).add(function($content) {&lt;br /&gt;
    var $autoBlocks = $content.find(&#039;.abdul-cat-auto&#039;);&lt;br /&gt;
    if (!$autoBlocks.length) return;&lt;br /&gt;
&lt;br /&gt;
    $autoBlocks.each(function() {&lt;br /&gt;
        var $container = $(this);&lt;br /&gt;
        var categoryName = $container.data(&#039;cat&#039;);&lt;br /&gt;
        if (!categoryName) return;&lt;br /&gt;
&lt;br /&gt;
        // Собираем уже имеющиеся в шаблоне ссылки (и синие, и красные)&lt;br /&gt;
        var existingTitles = {};&lt;br /&gt;
        $container.find(&#039;a&#039;).each(function() {&lt;br /&gt;
            var rawTitle = $(this).attr(&#039;title&#039;);&lt;br /&gt;
            if (rawTitle) {&lt;br /&gt;
                // Очищаем системную приписку у красных ссылок вида &amp;quot;(страница не существует)&amp;quot;&lt;br /&gt;
                var cleanTitle = rawTitle.replace(/\s*\(страница не существует\)$/i, &#039;&#039;).replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                existingTitles[cleanTitle.toLowerCase()] = true;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Запрашиваем через API актуальный список страниц, реально находящихся в категории&lt;br /&gt;
        $.get(mw.util.wikiScript(&#039;api&#039;), {&lt;br /&gt;
            action: &#039;query&#039;,&lt;br /&gt;
            list: &#039;categorymembers&#039;,&lt;br /&gt;
            cmtitle: &#039;Категория:&#039; + categoryName,&lt;br /&gt;
            cmnamespace: 0, // Только статьи основного пространства (без шаблонов и файлов)&lt;br /&gt;
            cmlimit: 500,&lt;br /&gt;
            format: &#039;json&#039;&lt;br /&gt;
        }, function(data) {&lt;br /&gt;
            if (data &amp;amp;&amp;amp; data.query &amp;amp;&amp;amp; data.query.categorymembers) {&lt;br /&gt;
                var members = data.query.categorymembers;&lt;br /&gt;
                var newLinks = [];&lt;br /&gt;
&lt;br /&gt;
                $.each(members, function(i, member) {&lt;br /&gt;
                    var title = member.title.replace(/_/g, &#039; &#039;).trim();&lt;br /&gt;
                    // Если статьи из категории ещё нет в списке шаблона — добавляем её&lt;br /&gt;
                    if (!existingTitles[title.toLowerCase()]) {&lt;br /&gt;
                        var pageUrl = mw.util.getUrl(title);&lt;br /&gt;
                        newLinks.push(&#039;&amp;lt;a href=&amp;quot;&#039; + pageUrl + &#039;&amp;quot; title=&amp;quot;&#039; + title + &#039;&amp;quot; class=&amp;quot;abdul-auto-link&amp;quot;&amp;gt;&#039; + title + &#039;&amp;lt;/a&amp;gt;&#039;);&lt;br /&gt;
                        existingTitles[title.toLowerCase()] = true;&lt;br /&gt;
                    }&lt;br /&gt;
                });&lt;br /&gt;
&lt;br /&gt;
                if (newLinks.length &amp;gt; 0) {&lt;br /&gt;
                    $container.append(&#039; • &#039; + newLinks.join(&#039; • &#039;));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4816</id>
		<title>Волна ипотеки (терминология)</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4816"/>
		<updated>2026-10-19T10:24:21Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Волна ипотеки&lt;br /&gt;
| изображение = &lt;br /&gt;
| подпись     = &lt;br /&gt;
| поле1       = Тип&lt;br /&gt;
| значение1   = Деструктивное явление / [[Ипотечники|Ипотечный психоз]]&lt;br /&gt;
| поле2       = Другие названия&lt;br /&gt;
| значение2   = Петушатники, лысотека, детдомизация, альфаризация, бритоголовое братство&lt;br /&gt;
| поле3       = Ключевые главари&lt;br /&gt;
| значение3   = [[Павел Куценко]], [[Fifighter|Фифайтер]], [[Max Adept|Максимка Голицын]]&lt;br /&gt;
| поле4       = Статус&lt;br /&gt;
| значение4   = Приравнены к [[Грешники|полноценным грешникам]]&lt;br /&gt;
| поле5       = Периоды активности&lt;br /&gt;
| значение5   = [[2012 год|2012]]—[[2013 год|2013]], [[2015 год|2015]]—[[2017 год|2017]], [[2023 год|2023]]—[[2026 год|2026]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Волна ипотеки&#039;&#039;&#039; &#039;&#039;(петушатники, детдомизация, альфаризация, бритоголовое братство)&#039;&#039; — это процесс сбора [[Абдулопредатели|абдулопредателей]] и других врагов Абдулодвижения в единый костяк с целью любыми способами навредить сообществу или конкретным его участникам. Организованные [[Ипотечники|ипотечники]] не являются отделившейся от [[Абдуловерование|Абдуловеры]] фракцией, а приравнены к полноценным [[Грешники|грешникам]], так как их действия всегда направлены на причинение вреда или уничтожение религии ДОбра. &#039;&#039;&#039;Не путать с [[Раскол|абдулорасколом]]!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Понятие «волны ипотеки» ходило по абдуловским сообществам в разные годы и несло разный подтекст. Над ним в частности иронизировали [[Дольщики|дольщики]], которые часто балансировали на грани ухода в ипотеку, либо же сами махровые ипотекари вроде [[Павел Куценко|Паши Куценко]] или [[Faust|Фауста]]. Однако со временем данный термин стал использоваться и [[Абдулонаука|абдулоучёными]] со вполне очевидным определением и делением по хронологии.&lt;br /&gt;
&lt;br /&gt;
=== Характерные черты ипотечной волны ===&lt;br /&gt;
* Два или более членов петушатника (среди которых кто-то обязательно ранее имел отношение к самой движухе);&lt;br /&gt;
* Вредительские действия в отношении [[Адепт|адептов]];&lt;br /&gt;
* Сотрудничество и прямая помощь [[Грешники|грешникам]].&lt;br /&gt;
&lt;br /&gt;
==== Что НЕ является волной ипотеки ====&lt;br /&gt;
* Группы [[Дольщики|дольщиков]] и иные раскольники (условной «красной линией» в действиях таких групп считается слив личных данных другого участника);&lt;br /&gt;
* Подсосня грешников, в чьей группе отсутствуют бывшие адепты;&lt;br /&gt;
* Одиночные [[Абдулопредатели|абдулопредатели]].&lt;br /&gt;
&lt;br /&gt;
== Влияние на абдулокультуру ==&lt;br /&gt;
Появление волн ипотеки является сугубо негативным фактором в жизни любых [[Автономная церковь|автономных церквей]], подрывает мотивацию абдуловцев на совершение добра, заставляет абдулодвижение перенаправлять время и силы с лечения пациентов на подавление активных ренегатов. &lt;br /&gt;
&lt;br /&gt;
При этом в процессе уничтожения рассадников ипотеки отдельные адепты и абдуловцы также подвергаются нападениям с их стороны. В отличие от борьбы с рядовым грешником и его подсосами, ипотечные волны несут куда большую угрозу — ведь среди них обязательно затесались абдулопредатели, «знающие кухню изнутри».&lt;br /&gt;
&lt;br /&gt;
== Абдулоисторическая справка ==&lt;br /&gt;
&lt;br /&gt;
{{Хронология|Хронология волн ипотеки|&lt;br /&gt;
  {{Адепт|Первая волна|2012|2013}}&lt;br /&gt;
  {{Адепт|Вторая волна|2015|2017}}&lt;br /&gt;
  {{Адепт|Третья волна|2023|2026}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Первая волна ипотеки (2012—2013)&#039;&#039;&#039; — родоначальники жанра, пытавшиеся деанонимизировать [[Пророк Абдуль|Абдуля]]; распространяли везде фотку лысого мужика и данные некоего Коли Серпухова. Организовались после изгнания Пророком из Абдуловеры за травлю одного из других участников — [[Порыч|Порыча]]. Ближе к 2013 году мутировали в более хаотичную структуру, где рандомные лица могли пробивать вообще всех подряд в околодвижухе «ради развлечения».&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Вторая волна ипотеки (2015—2017)&#039;&#039;&#039; — она же [[Альфа-Легион]] во главе с [[Павел Куценко|Пашкой Куценко]]. Систематически занимались деаноном адептов, кидали страйки на их каналы, активно сотрудничали с [[Фанаты намба ван]] и помогали [[Vanomas|Бомжу]] &amp;lt;s&amp;gt;писать заявы пьяные в ментовку&amp;lt;/s&amp;gt; привлечь абдуловцев к ответственности по статьям типа хулиганства.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Третья волна ипотеки (2023—2026)&#039;&#039;&#039; — она же [[Детдом]], организовал снова [[Павел Куценко|Паша Куценко]] и новоявленные ипотекари [[DieStasi|Максимка Голицын]] с [[Алекс|Алексом]]. Занимались также пробивами адептов, но ушли дальше в полный криминал — сначала делали сватинги на слитые адреса, а потом и вовсе собирали деньги на организацию нападений и поджогов через даркнеты.&lt;br /&gt;
Отдельно можно выделить период &#039;&#039;&#039;2018—2019&#039;&#039;&#039; годов и действия ушедшего в ипотеку Фауста с его &amp;quot;[[Стопсекта|Стопсектой]]&amp;quot;. Некоторые абдулоучёные могут выделять это как отдельную волну ипотеки, но, по нынешнему толкованию, группа Димы Пинского таковой не являлась. Как это называл сам Фауст, &amp;quot;седьмая волна ипотеки на выгодных условиях&amp;quot; состояла из нескольких ушедших из движения абдулопредателей, но занимались &amp;quot;апостолы постабдуловеры&amp;quot; исключительно публичным хуесосингом вернувшегося Абдуля и поддерживавших его адептов. Единственным отличием от обыкновенных абдулопредателей было то, что Пинский самолично являлся ипотекарем и нормально общался с Анубисом, при этом не был замечен в сотрудничестве с ним или нанесением какого-либо физического вреда адептам.&lt;br /&gt;
&lt;br /&gt;
== Итог ==&lt;br /&gt;
Волны ипотеки — одно из главных вредных явлений в Абдулорелигии, которая подчёркивает печальный факт, что нелюдей в наших абдулонетах предостаточно. Добрая половина адептов уходили из движения именно в периоды активности таких вот петушатников.&lt;br /&gt;
&lt;br /&gt;
Никакая волна ипотеки не продолжается бесконечно. Они либо рассасываются после слива и причинения добра отдельным петухам, либо просто пропадают бесследно в пучинах интернетов. В отличие от абдулосообществ, в риторике ипотечных петушатников отсутствует любая позитивная повестка, и строится всё это исключительно на ненависти, личных обидах и желании причинять вред.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Негативные явления}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Негативные явления]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4815</id>
		<title>Шаблон:Навигация</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=4815"/>
		<updated>2026-10-18T23:42:17Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;abdul-smooth-box {{#ifeq:{{{state|}}}|uncollapsed||is-collapsed}}&amp;quot; style=&amp;quot;width:100%; clear:both; margin: 0 auto 20px auto; border-radius: 12px; overflow: hidden; background: #12121a; font-family: &#039;ZektonRg&#039;, &#039;Roboto&#039;, sans-serif; box-sizing: border-box; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = border: 2px solid #b71c1c; box-shadow: 0 8px 25px rgba(183, 28, 28, 0.4);&lt;br /&gt;
|Великие грешники  = border: 2px solid #d50000; box-shadow: 0 8px 25px rgba(213, 0, 0, 0.45);&lt;br /&gt;
|Грехоболезни      = border: 2px solid #64dd17; box-shadow: 0 8px 25px rgba(100, 221, 23, 0.35);&lt;br /&gt;
|Абдулокультура    = border: 2px solid #fbc02d; box-shadow: 0 8px 25px rgba(251, 192, 45, 0.3);&lt;br /&gt;
|Абдулонаука       = border: 2px solid #304ffe; box-shadow: 0 8px 25px rgba(48, 79, 254, 0.4);&lt;br /&gt;
|Абдулоистория     = border: 2px solid #e65100; box-shadow: 0 8px 25px rgba(230, 81, 0, 0.4);&lt;br /&gt;
|Сониблядство      = border: 2px solid #0091ea; box-shadow: 0 8px 25px rgba(0, 145, 234, 0.4);&lt;br /&gt;
|Абдулоосновы      = border: 2px solid #ff8f00; box-shadow: 0 8px 25px rgba(255, 143, 0, 0.4);&lt;br /&gt;
|Юмор              = border: 2px solid #aa00ff; box-shadow: 0 8px 25px rgba(170, 0, 255, 0.35);&lt;br /&gt;
|Абдулопередачи    = border: 2px solid #00b4d8; box-shadow: 0 8px 25px rgba(0, 180, 216, 0.4);&lt;br /&gt;
|Мерзость          = border: 2px solid #827717; box-shadow: 0 8px 25px rgba(130, 119, 23, 0.4);&lt;br /&gt;
|Автономии адептов = border: 2px solid #607d8b; box-shadow: 0 8px 25px rgba(96, 125, 139, 0.4);&lt;br /&gt;
|Абдулопредатели   = border: 2px solid #5d4037; box-shadow: 0 8px 25px rgba(93, 64, 55, 0.45);&lt;br /&gt;
|Негативные явления = border: 2px solid #ff3d00; box-shadow: 0 8px 25px rgba(255, 61, 0, 0.4);&lt;br /&gt;
|Абдулоиконы       = border: 2px solid #ffd600; box-shadow: 0 8px 25px rgba(255, 214, 0, 0.35);&lt;br /&gt;
|База              = border: 2px solid #8e0000; box-shadow: 0 8px 25px rgba(142, 0, 0, 0.3);&lt;br /&gt;
|#default          = border: 1px solid #444; box-shadow: 0 5px 15px rgba(0,0,0,0.5);&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abdul-smooth-header&amp;quot; style=&amp;quot;font-family: &#039;ZektonBd&#039;, &#039;Roboto&#039;, sans-serif; font-size: 1.3em; letter-spacing: 1px; padding: 15px; border: none; text-transform: uppercase; position: relative; {{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: linear-gradient(90deg, #4a0000 0%, #b71c1c 50%, #4a0000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|Великие грешники  = background: linear-gradient(90deg, #300000 0%, #d50000 50%, #300000 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 23, 68, 0.8);&lt;br /&gt;
|Грехоболезни      = background: linear-gradient(90deg, #1b3300 0%, #558b2f 50%, #1b3300 100%); color: #f1f8e9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(118, 255, 3, 0.8);&lt;br /&gt;
|Абдулокультура    = background: linear-gradient(90deg, #4a3800 0%, #fbc02d 50%, #4a3800 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 215, 64, 0.8);&lt;br /&gt;
|Абдулонаука       = background: linear-gradient(90deg, #001064 0%, #304ffe 50%, #001064 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(130, 177, 255, 0.8);&lt;br /&gt;
|Абдулоистория     = background: linear-gradient(90deg, #3e1e00 0%, #e65100 50%, #3e1e00 100%); color: #fff3e0; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 183, 77, 0.8);&lt;br /&gt;
|Сониблядство      = background: linear-gradient(90deg, #001f3f 0%, #0091ea 50%, #001f3f 100%); color: #e1f5fe; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(64, 196, 255, 0.8);&lt;br /&gt;
|Абдулоосновы      = background: linear-gradient(90deg, #3e2700 0%, #ff8f00 50%, #3e2700 100%); color: #fff8e1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 213, 79, 0.8);&lt;br /&gt;
|Юмор              = background: linear-gradient(90deg, #2b003e 0%, #8e24aa 50%, #2b003e 100%); color: #f3e5f5; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(225, 190, 231, 0.8);&lt;br /&gt;
|Абдулопередачи    = background: linear-gradient(90deg, #002b36 0%, #0097a7 50%, #002b36 100%); color: #e0f7fa; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(77, 208, 225, 0.8);&lt;br /&gt;
|Мерзость          = background: linear-gradient(90deg, #252400 0%, #827717 50%, #252400 100%); color: #f9fbe7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(212, 225, 87, 0.8);&lt;br /&gt;
|Автономии адептов = background: linear-gradient(90deg, #1c2833 0%, #455a64 50%, #1c2833 100%); color: #eceff1; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(176, 190, 197, 0.8);&lt;br /&gt;
|Абдулопредатели   = background: linear-gradient(90deg, #211510 0%, #4e342e 50%, #211510 100%); color: #efebe9; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(188, 170, 164, 0.8);&lt;br /&gt;
|Негативные явления = background: linear-gradient(90deg, #3e0c00 0%, #d84315 50%, #3e0c00 100%); color: #fbe9e7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 138, 101, 0.8);&lt;br /&gt;
|Абдулоиконы       = background: linear-gradient(90deg, #3e3200 0%, #fbc02d 50%, #3e3200 100%); color: #fffde7; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 238, 88, 0.8);&lt;br /&gt;
|База              = background: linear-gradient(90deg, #3e1111 0%, #7f0000 50%, #3e1111 100%); color: #ffffff; text-shadow: 2px 2px 5px rgba(0,0,0,0.9), 0 0 10px rgba(255, 82, 82, 0.8);&lt;br /&gt;
|#default          = background: #222; color: #fff;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 100%; text-align: center; padding-right: 20px; box-sizing: border-box;&amp;quot;&amp;gt;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = ГРЕШНИКИ&lt;br /&gt;
|Великие грешники  = ВЕЛИКИЕ ГРЕШНИКИ&lt;br /&gt;
|Грехоболезни      = ГРЕХОБОЛЕЗНИ&lt;br /&gt;
|Абдулокультура    = АБДУЛОКУЛЬТУРА&lt;br /&gt;
|Абдулонаука       = АБДУЛОНАУКА&lt;br /&gt;
|Абдулоистория     = АБДУЛОИСТОРИЯ&lt;br /&gt;
|Сониблядство      = СОНИБЛЯДСТВО&lt;br /&gt;
|Абдулоосновы      = АБДУЛООСНОВЫ&lt;br /&gt;
|Юмор              = АБДУЛОЮМОР&lt;br /&gt;
|Абдулопередачи    = АБДУЛОПЕРЕДАЧИ&lt;br /&gt;
|Мерзость          = МЕРЗОСТЬ&lt;br /&gt;
|Автономии адептов = АВТОНОМИИ АДЕПТОВ&lt;br /&gt;
|Абдулопредатели   = АБДУЛОПРЕДАТЕЛИ&lt;br /&gt;
|Негативные явления = НЕГАТИВНЫЕ ЯВЛЕНИЯ&lt;br /&gt;
|Абдулоиконы       = АБДУЛОИКОНОПИСЬ И ИКОНЫ&lt;br /&gt;
|База              = БАЗА ЦЕНТРА АБДУЛОКУЛЬТУРЫ&lt;br /&gt;
|#default          = НАВИГАЦИЯ&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;abdul-smooth-content&amp;quot; style=&amp;quot;{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = background: rgba(20, 0, 0, 0.95); color: #ffcccc;&lt;br /&gt;
|Великие грешники  = background: rgba(25, 2, 2, 0.95); color: #ffcdd2;&lt;br /&gt;
|Грехоболезни      = background: rgba(10, 20, 5, 0.95); color: #e8f5e9;&lt;br /&gt;
|Абдулокультура    = background: rgba(26, 20, 0, 0.95); color: #fff9c4;&lt;br /&gt;
|Абдулонаука       = background: rgba(0, 5, 20, 0.95); color: #dbeaff;&lt;br /&gt;
|Абдулоистория     = background: rgba(26, 12, 0, 0.95); color: #ffe0b2;&lt;br /&gt;
|Сониблядство      = background: rgba(0, 15, 30, 0.95); color: #e1f5fe;&lt;br /&gt;
|Абдулоосновы      = background: rgba(26, 16, 0, 0.95); color: #fff8e1;&lt;br /&gt;
|Юмор              = background: rgba(20, 5, 26, 0.95); color: #f3e5f5;&lt;br /&gt;
|Абдулопередачи    = background: rgba(0, 18, 24, 0.95); color: #e0f7fa;&lt;br /&gt;
|Мерзость          = background: rgba(18, 18, 2, 0.95); color: #f9fbe7;&lt;br /&gt;
|Автономии адептов = background: rgba(14, 20, 24, 0.95); color: #eceff1;&lt;br /&gt;
|Абдулопредатели   = background: rgba(20, 12, 10, 0.95); color: #efebe9;&lt;br /&gt;
|Негативные явления = background: rgba(26, 8, 2, 0.95); color: #fbe9e7;&lt;br /&gt;
|Абдулоиконы       = background: rgba(26, 22, 2, 0.95); color: #fffde7;&lt;br /&gt;
|База              = background: rgba(20, 10, 10, 0.95); color: #e0e0e0;&lt;br /&gt;
|#default          = background: rgba(18, 18, 26, 0.95); color: #e0e0e0;&lt;br /&gt;
}}&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%; background:transparent; border-spacing:0; border:none; margin:0;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 20px; vertical-align: top; font-size: 0.95em; line-height: 1.7; border:none; color:inherit;&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОСНОВНЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Алексей Поднебесный]] • [[Ozon671games]] • [[Vanomas]] • [[ROKSTODI5+]] • [[Кирич]] • [[Влад Савельев]] • [[Арими Кадами]] • [[Сергей Иванов]] • [[Сергей Симонов]] • [[Vertoleter]] • [[ITpedia]] • [[RELAXX1977]] • [[Redass]] • [[Vovamas]] • [[ComodoPangolin]] • [[Инал Алтуев]] • [[Антон Логвинов]] • [[Евгений Вольнов]] • [[BlackSilverUfa]] • [[Артемий Лебедев]] • [[Юрий Заболотских]] • [[VJLink]] • [[Excellent Hell]] • [[MMOGOPLAY]] • [[Anubis406]] • [[Папич]] • [[Убермаргинал]] • [[Драчикула]] • [[MaxAdept]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;«ВЕЛИКИЕ»&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Анатолий Кашпировский]] • [[Андрей Чикатило]] • [[Владимир Ленин]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Михаил Плетнёв]] • [[Сергей Супонев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(183,28,28,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ОРГАНИЗОВАННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Ипотечники]] • [[Альфа-Легион]] • [[Церковь Ультраспасителей]] • [[Фанаты намба ван]] • [[Антисектанты черепашки-ниндзя]] • [[Детдом]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff5252; text-shadow: 0 0 5px rgba(255,82,82,0.3);&amp;quot;&amp;gt;ПАЦИЕНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Гобзавр]] • [[Суетлан]] • [[Михаил Турченко]] • [[Brigman]] • [[Дикий Треш]] • [[Артём Савельев]] • [[Игорь Вихорьков]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Великие грешники = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;ГОСУДАРСТВЕННЫЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Владимир Ленин]] • [[Иосиф Сталин]] • [[Борис Ельцин]] • [[Лаврентий Берия]] • [[Никита Хрущёв]] • [[Михаил Горбачёв]] • [[Полпот]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(213,0,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;КУЛЬТОВЫЕ И ТЕЛЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Сергей Мавроди]] • [[Анатолий Кашпировский]] • [[Сергей Супонев]] • [[Юрий Лонго]] • [[Колдунья Ванга]] • [[Аллан Чумак]] • [[Михаил Плетнёв]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff1744; text-shadow: 0 0 5px rgba(255,23,68,0.3);&amp;quot;&amp;gt;МАНЬЯКИ И ИДЕОЛОГИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(100,221,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПЕРВИЧНЫЕ ФОРМЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Педофилия]] • [[Валерия]] • [[Озонизация]] • [[Маслочезация]] • [[Сониблядство]] • [[Феторизм]] • [[СГФ]] (Синдром Грязного Фетореза)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#76ff03; text-shadow: 0 0 5px rgba(118,255,3,0.3);&amp;quot;&amp;gt;ПАТОГЕНЕЗ И ПЕРЕДАЧА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;СТОЛПЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулокультура]] • [[Абдулогост]] • [[Священный Биборан]] • [[Абдулопричастие]] • [[Абдуломолитва]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ИСКУССТВО&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Абдулоартоделие]] • [[Абдуломузыка]] • [[Абдулоплясания]] • [[Абдулокодинг]] • [[Абдулопоэзия]] • [[Абдулописательство]] • [[Нейрохрамы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; border-bottom:1px solid rgba(251,192,45,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРАЗДНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоджихад]] • [[Абдулопост]] • [[Абдулодам]] • [[Абдулоумертвие]] • [[День низвержения старобога и старосатаны]] • [[Взрыв на АЭС «Фукусима»]] • [[Антибомж]] • [[Абдулопорождение]] • [[День рождения Абдуловерования]] • [[День поминовения Пророка]] • [[День победы над Озонофашизмом]] • [[Деелькинизация]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 140px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd740; text-shadow: 0 0 5px rgba(255,215,64,0.3);&amp;quot;&amp;gt;ПРОЧЕЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаука]] • [[Ад Абдулова]] • [[Альфа-Центавра]] • [[Грехозаболевание]] • [[Грех]] • [[Десять тысяч лет без пыток]] • [[Маслята]] • [[Абдуленность]] • [[Воздушно-кабельный способ передачи заболевания]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;РАЗДЕЛЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловедение]] • [[Биборановедение]] • [[АЭЛ]] • [[Абдулолетопись]] • [[Грехология]] • [[Абдулолингвистика]] • [[Белая магия]] • [[Абдулофилософия]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(48,79,254,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ИССЛЕДОВАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулонаучный трактат]] • [[Влияние аниме на психику]] • [[Теория завышенной численности]] • [[Принцип автономности церквей]] • [[Абдулоджихад]] • [[С.У.К.А]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#82b1ff; text-shadow: 0 0 5px rgba(130,177,255,0.3);&amp;quot;&amp;gt;ГРЕХОБОЛЕЗНИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЭПОХИ И ПЕРИОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Доабдуловская эпоха]] • [[Зарождение Абдуловеры]] • [[Золотой век Абдуловеры]] • [[Эпоха священных рейдов]] • [[Смутное время]] • [[Возрождение Центра]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(230,81,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;БИТВЫ И ПОХОДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Первый Абдулоджихад]] • [[Падение Озона]] • [[Осада Сониблядска]] • [[Взрыв на АЭС «Фукусима»]] • [[Битвы на стримах]] • [[Великий исход из YouTube]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffb74d; text-shadow: 0 0 5px rgba(255,183,77,0.3);&amp;quot;&amp;gt;ЛЕТОПИСИ И АРХИВЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ОРГАНИЗАЦИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Отряд 731]] (Корпорация «Sony») • [[Сониблядск]] • [[Фанаты намба ван]] • [[PlayStation Network]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(0,145,234,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;АПОЛОГЕТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Антон Логвинов]] • [[ITpedia]] • [[Vertoleter]] • [[Redass]] • [[Артемий Лебедев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#40c4ff; text-shadow: 0 0 5px rgba(64,196,255,0.3);&amp;quot;&amp;gt;ФЕНОМЕНЫ И КАРА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Гейпад]] • [[Мыльное кинцо за 2300]] • [[Тридцать кадров в секунду]] • [[Десонизация]] • [[Рейды на сообщества сонибоев]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоосновы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;СВЯЩЕННЫЕ ТЕКСТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Священный Биборан]] • [[Каноны Биборана]] • [[Заповеди Абдуля]] • [[Абдулогост]] • [[Толкование Биборана]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(255,143,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ДОГМАТИКА&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдуловерование]] • [[Богосатана Александр Абдулов]] • [[Ад Абдулова]] • [[Десять тысяч лет без пыток]] • [[Абдуленность]] • [[Грех]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffd54f; text-shadow: 0 0 5px rgba(255,213,79,0.3);&amp;quot;&amp;gt;ТАИНСТВА И ОБРЯДЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(170,0,255,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;МЕМЫ И ФОЛЬКЛОР&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Мемы Абдуловеры]] • [[Цитаты Пророка]] • [[Пасты и копипасты]] • [[Абдулоанекдоты]] • [[Абдулокаламбуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ea80fc; text-shadow: 0 0 5px rgba(234,128,252,0.3);&amp;quot;&amp;gt;ТРОЛЛИНГ И ПРАНКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(0,180,216,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;КЛАССИКА ВЕЩАНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Биборан ТВ]] • [[Абдулоновости]] • [[Вечерний Абдулов]] • [[Суд над грешником]] • [[Разоблачения от Пророка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#4dd0e1; text-shadow: 0 0 5px rgba(77,208,225,0.3);&amp;quot;&amp;gt;ПРОЕКТЫ И РУБРИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;КАТЕГОРИИ МРАЗЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Маслята]] • [[Детдомовцы]] • [[Биомусор]] • [[Шизофрения грешников]] • [[Донатные попрошайки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; border-bottom:1px solid rgba(130,119,23,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ПРОЯВЛЕНИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Греховные стримы]] • [[Треш-контент]] • [[Алкостримы]] • [[Унижение зрителей]] • [[Грязные хаты]] • [[Ипотечный угар]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 150px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#d4e157; text-shadow: 0 0 5px rgba(212,225,87,0.3);&amp;quot;&amp;gt;ЭТАЛОНЫ МЕРЗОСТИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СТРУКТУРА ЦЕРКВЕЙ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Автономная церковь]] • [[Принцип автономности церквей]] • [[Ячейки адептов]] • [[Подпольные карательные отряды]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(96,125,139,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;БОЕВЫЕ ФРОНТЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Ютуб-фронт]] • [[ВК-дивизия]] • [[Телеграм-легион]] • [[Рейд-бригады]] • [[Абдулоразведка]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#b0bec5; text-shadow: 0 0 5px rgba(176,190,197,0.3);&amp;quot;&amp;gt;СВЯЗЬ И КООРДИНАЦИЯ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(93,64,55,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#bcaaa4; text-shadow: 0 0 5px rgba(188,170,164,0.3);&amp;quot;&amp;gt;ОТСТУПНИКИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНУТРЕННИЕ УГРОЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулодрочеры]] • [[ШУЕ]] • [[Ересь]] • [[Дольщики]] • [[Помирание]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,61,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a65; text-shadow: 0 0 5px rgba(255,138,101,0.3);&amp;quot;&amp;gt;ВНЕШНЕЕ ДАВЛЕНИЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Баны священных каналов]] • [[Страйки от грешников]] • [[Цензура YouTube]] • [[Попытки деанонимизации]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|Абдулоиконы = &lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;СВЯТЫЕ ОБРАЗЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Святой Лик Богосатаны]] • [[Икона Пророка]] • [[Икона Божественного Очищения]] • [[Спас на Биборане]] • [[Первая икона Богосатаны]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; border-bottom:1px solid rgba(255,214,0,0.3); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;КАНОНЫ И ЖАНРЫ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Абдулоиконопись]] • [[Нейрохрамы]] • [[Священные фотожабы]] • [[Морфинг-иконы]] • [[Каноны написания ликов]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 160px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ffee58; text-shadow: 0 0 5px rgba(255,238,88,0.3);&amp;quot;&amp;gt;РЕЛИКВИИ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;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;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;НОРМАТИВНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Устав Центра Абдулокультуры]] • [[Проверка страниц]] • [[Политика конфиденциальности]] • [[Отказ от ответственности]] • [[Авторское право]] • [[О Центре Абдулокультуры]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; border-bottom:1px solid rgba(142,0,0,0.4); padding-bottom:10px; margin-bottom:10px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;РЕКОМЕНДАТЕЛЬНАЯ ЧАСТЬ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Рекомендации к написанию статей]] • [[Справка по форматированию]] • [[Сокращения страниц]] • [[Часто-задаваемые вопросы]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:grid; grid-template-columns: 190px 1fr; gap: 15px; align-items: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: &#039;ZektonBd&#039;, sans-serif; color:#ff8a80; text-shadow: 0 0 5px rgba(255,138,128,0.3);&amp;quot;&amp;gt;ВСЁ ОСТАЛЬНОЕ&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;[[Abdulov Hell Herald]] • [[Изображения месяца]] • [[Видеоролики месяца]] • [[Бонусная программа Абдулопедии|Бонусная программа Центра]] • [[Чем можно помочь Центру?]] • [[Поддержать Центр]] • [[Создать статью]] • [[Плашки]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|#default = &lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center; padding:10px; color:#aaa;&amp;quot;&amp;gt;Укажите категорию: &amp;lt;code&amp;gt;{{Навигация|Название_Категории}}&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
| style=&amp;quot;width:140px; text-align:center; vertical-align:middle; border:none; border-left: 1px solid rgba(255,255,255,0.05); padding:15px; background: rgba(0,0,0,0.2);&amp;quot; |&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Файл:Abdulosinners.png|120px|link=|alt=Грешники]]&lt;br /&gt;
|Великие грешники  = [[Файл:Abdulosinners.png|120px|link=|alt=Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Файл:Science_icon.png|120px|link=|alt=Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Глыба Абдулова]]&lt;br /&gt;
|Абдулонаука       = [[Файл:Science_icon.png|120px|link=|alt=Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Файл:Abdulosinners.png|120px|link=|alt=Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Файл:abduloveracom.png|120px|link=|alt=Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Файл:Science_icon.png|120px|link=|alt=Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Файл:Abdulosinners.png|120px|link=|alt=Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Файл:abduloveracom.png|120px|link=|alt=Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Файл:Abdulosinners.png|120px|link=|alt=Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Файл:Science_icon.png|120px|link=|alt=Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Файл:Глыба_Абдулова.png|120px|link=|alt=Абдулоиконы]]&lt;br /&gt;
|База              = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
|#default          = [[Файл:abduloveracom.png|120px|link=|alt=Герб Центра]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#switch:{{{1|}}}&lt;br /&gt;
|Грешники          = [[Категория:Грешники]]&lt;br /&gt;
|Великие грешники  = [[Категория:Великие грешники]]&lt;br /&gt;
|Грехоболезни      = [[Категория:Грехоболезни]]&lt;br /&gt;
|Абдулокультура    = [[Категория:Абдулокультура]]&lt;br /&gt;
|Абдулонаука       = [[Категория:Абдулонаука]]&lt;br /&gt;
|Абдулоистория     = [[Категория:Абдулоистория]]&lt;br /&gt;
|Сониблядство      = [[Категория:Сониблядство]]&lt;br /&gt;
|Абдулоосновы      = [[Категория:Абдулоосновы]]&lt;br /&gt;
|Юмор              = [[Категория:Юмор]]&lt;br /&gt;
|Абдулопередачи    = [[Категория:Абдулопередачи]]&lt;br /&gt;
|Мерзость          = [[Категория:Мерзость]]&lt;br /&gt;
|Автономии адептов = [[Категория:Автономии адептов]]&lt;br /&gt;
|Абдулопредатели   = [[Категория:Абдулопредатели]]&lt;br /&gt;
|Негативные явления = [[Категория:Негативные явления]]&lt;br /&gt;
|Абдулоиконы       = [[Категория:Абдулоиконы]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Универсальный навигационный шаблон связывает статьи между собой. Шаблон ставится в &#039;&#039;&#039;самый низ&#039;&#039;&#039; статьи, перед категориями.&lt;br /&gt;
&lt;br /&gt;
== Список доступных категорий ==&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — основные грешники, пациенты, группировки.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Великие грешники}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — исторические лица, телеведущие, сектанты и маньяки.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — патогенез, озонизация, сониблядство, синдромы.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулокультура}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — столпы, праздники, виды искусства.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулонаука}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — теоретические разделы, исследования, трактаты.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоистория}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — эпохи веры, хроники джихадов и рейдов.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Сониблядство}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — Корпорация Sony, Отряд 731, апологеты и консольные болезни.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоосновы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — Биборан, догматы Богосатаны, обряды и посвящение.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Юмор}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — мемы, пасты, анекдоты, пранки над маслятами.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопередачи}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — видеовещание, Биборан ТВ, обзоры и суды.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Мерзость}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — биомусор, треш-стримеры, детдомовцы и нищие донатеры.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Автономии адептов}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — автономные церкви, региональные ячейки и фронты.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулопредатели}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — отступники, иуды и преданные анафеме.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Негативные явления}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — внутренние и сетевые угрозы, баны каналов, искажения канона.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Абдулоиконы}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — святые лики, каноны иконописи, фотожабы и реликвии.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|База}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; — устав, справки, технические инструкции и правила Центра.&lt;br /&gt;
&lt;br /&gt;
== Параметр сворачивания ==&lt;br /&gt;
По умолчанию блок свёрнут. Чтобы развернуть блок сразу при загрузке:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Навигация|Грехоболезни|state=uncollapsed}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== Демонстрация всех блоков навигации ==&lt;br /&gt;
Ниже представлен предпросмотр внешнего вида каждого тематического блока, доступного в шаблоне:&lt;br /&gt;
&lt;br /&gt;
=== 1. Грешники ===&lt;br /&gt;
{{Навигация|Грешники|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 2. Великие грешники ===&lt;br /&gt;
{{Навигация|Великие грешники|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 3. Грехоболезни ===&lt;br /&gt;
{{Навигация|Грехоболезни|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 4. Абдулокультура ===&lt;br /&gt;
{{Навигация|Абдулокультура|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 5. Абдулонаука ===&lt;br /&gt;
{{Навигация|Абдулонаука|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 6. Абдулоистория ===&lt;br /&gt;
{{Навигация|Абдулоистория|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 7. Сониблядство ===&lt;br /&gt;
{{Навигация|Сониблядство|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 8. Абдулоосновы ===&lt;br /&gt;
{{Навигация|Абдулоосновы|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 9. Абдулоюмор ===&lt;br /&gt;
{{Навигация|Юмор|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 10. Абдулопередачи ===&lt;br /&gt;
{{Навигация|Абдулопередачи|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 11. Мерзость ===&lt;br /&gt;
{{Навигация|Мерзость|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 12. Автономии адептов ===&lt;br /&gt;
{{Навигация|Автономии адептов|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 13. Абдулопредатели ===&lt;br /&gt;
{{Навигация|Абдулопредатели|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 14. Негативные явления ===&lt;br /&gt;
{{Навигация|Негативные явления|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 15. Абдулоиконы ===&lt;br /&gt;
{{Навигация|Абдулоиконы|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
=== 16. База Центра ===&lt;br /&gt;
{{Навигация|База|state=uncollapsed}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Шаблоны навигации]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
	<entry>
		<id>https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4814</id>
		<title>Волна ипотеки (терминология)</title>
		<link rel="alternate" type="text/html" href="https://abdulovera.com/index.php?title=%D0%92%D0%BE%D0%BB%D0%BD%D0%B0_%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%BA%D0%B8_(%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F)&amp;diff=4814"/>
		<updated>2026-10-18T23:35:37Z</updated>

		<summary type="html">&lt;p&gt;Adept: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{наука}}&lt;br /&gt;
&lt;br /&gt;
{{Карточка Явления&lt;br /&gt;
| название    = Волна ипотеки&lt;br /&gt;
| изображение = &lt;br /&gt;
| подпись     = &lt;br /&gt;
| поле1       = Тип&lt;br /&gt;
| значение1   = Деструктивное явление / [[Ипотечники|Ипотечный психоз]]&lt;br /&gt;
| поле2       = Другие названия&lt;br /&gt;
| значение2   = Петушатники, лысотека, детдомизация, альфаризация, бритоголовое братство&lt;br /&gt;
| поле3       = Ключевые главари&lt;br /&gt;
| значение3   = [[Павел Куценко]], [[Fifighter|Фифайтер]], [[Max Adept|Максимка Голицын]]&lt;br /&gt;
| поле4       = Статус&lt;br /&gt;
| значение4   = Приравнены к [[Грешники|полноценным грешникам]]&lt;br /&gt;
| поле5       = Периоды активности&lt;br /&gt;
| значение5   = [[2012 год|2012]]—[[2013 год|2013]], [[2015 год|2015]]—[[2017 год|2017]], [[2023 год|2023]]—[[2026 год|2026]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Градус|2}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Волна ипотеки&#039;&#039;&#039; &#039;&#039;(петушатники, детдомизация, альфаризация, бритоголовое братство)&#039;&#039; — это процесс сбора [[Абдулопредатели|абдулопредателей]] и других врагов Абдулодвижения в единый костяк с целью любыми способами навредить сообществу или конкретным его участникам. Организованные [[Ипотечники|ипотечники]] не являются отделившейся от [[Абдуловерование|Абдуловеры]] фракцией, а приравнены к полноценным [[Грешники|грешникам]], так как их действия всегда направлены на причинение вреда или уничтожение религии ДОбра. &#039;&#039;&#039;Не путать с [[Раскол|абдулорасколом]]!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Историческая информация ==&lt;br /&gt;
Понятие «волны ипотеки» ходило по абдуловским сообществам в разные годы и несло разный подтекст. Над ним в частности иронизировали [[Дольщики|дольщики]], которые часто балансировали на грани ухода в ипотеку, либо же сами махровые ипотекари вроде [[Павел Куценко|Паши Куценко]] или [[Faust|Фауста]]. Однако со временем данный термин стал использоваться и [[Абдулонаука|абдулоучёными]] со вполне очевидным определением и делением по хронологии.&lt;br /&gt;
&lt;br /&gt;
=== Характерные черты ипотечной волны ===&lt;br /&gt;
* Два или более членов петушатника (среди которых кто-то обязательно ранее имел отношение к самой движухе);&lt;br /&gt;
* Вредительские действия в отношении [[Адепт|адептов]];&lt;br /&gt;
* Сотрудничество и прямая помощь [[Грешники|грешникам]].&lt;br /&gt;
&lt;br /&gt;
==== Что НЕ является волной ипотеки ====&lt;br /&gt;
* Группы [[Дольщики|дольщиков]] и иные раскольники (условной «красной линией» в действиях таких групп считается слив личных данных другого участника);&lt;br /&gt;
* Подсосня грешников, в чьей группе отсутствуют бывшие адепты;&lt;br /&gt;
* Одиночные [[Абдулопредатели|абдулопредатели]].&lt;br /&gt;
&lt;br /&gt;
== Влияние на абдулокультуру ==&lt;br /&gt;
Появление волн ипотеки является сугубо негативным фактором в жизни любых [[Автономная церковь|автономных церквей]], подрывает мотивацию абдуловцев на совершение добра, заставляет абдулодвижение перенаправлять время и силы с лечения пациентов на подавление активных ренегатов. &lt;br /&gt;
&lt;br /&gt;
При этом в процессе уничтожения рассадников ипотеки отдельные адепты и абдуловцы также подвергаются нападениям с их стороны. В отличие от борьбы с рядовым грешником и его подсосами, ипотечные волны несут куда большую угрозу — ведь среди них обязательно затесались абдулопредатели, «знающие кухню изнутри».&lt;br /&gt;
&lt;br /&gt;
== Абдулоисторическая справка ==&lt;br /&gt;
&lt;br /&gt;
{{Хронология|Хронология волн ипотеки|&lt;br /&gt;
  {{Адепт|Первая волна|2012|2013}}&lt;br /&gt;
  {{Адепт|Вторая волна|2015|2017}}&lt;br /&gt;
  {{Адепт|Третья волна|2023|2026}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Первая волна ипотеки (2012—2013)&#039;&#039;&#039; — родоначальники жанра, пытавшиеся деанонимизировать [[Пророк Абдуль|Абдуля]]; распространяли везде фотку лысого мужика и данные некоего Коли Серпухова. Организовались после изгнания Пророком из Абдуловеры за травлю одного из других участников — [[Порыч|Порыча]]. Ближе к 2013 году мутировали в более хаотичную структуру, где рандомные лица могли пробивать вообще всех подряд в околодвижухе «ради развлечения».&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Вторая волна ипотеки (2015—2017)&#039;&#039;&#039; — она же [[Альфа-Легион]] во главе с [[Павел Куценко|Пашкой Куценко]]. Систематически занимались деаноном адептов, кидали страйки на их каналы, активно сотрудничали с [[Фанаты намба ван]] и помогали [[Vanomas|Бомжу]] &amp;lt;s&amp;gt;писать заявы пьяные в ментовку&amp;lt;/s&amp;gt; привлечь абдуловцев к ответственности по статьям типа хулиганства.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Третья волна ипотеки (2023—2026)&#039;&#039;&#039; — она же [[Детдом]], организовал снова [[Павел Куценко|Паша Куценко]] и новоявленные ипотекари [[DieStasi|Максимка Голицын]] с [[Алекс|Алексом]]. Занимались также пробивами адептов, но ушли дальше в полный криминал — сначала делали сватинги на слитые адреса, а потом и вовсе собирали деньги на организацию нападений и поджогов через даркнеты.&lt;br /&gt;
&lt;br /&gt;
== Итог ==&lt;br /&gt;
Никакая волна ипотеки не продолжается вечно. Они либо рассасываются после слива и причинения добра отдельным петухам, либо просто пропадают бесследно в пучинах интернетов. В отличие от абдулосообществ, в риторике ипотечных петушатников отсутствует любая позитивная повестка, и строится всё это исключительно на ненависти, личных обидах и желании причинять вред.&lt;br /&gt;
&lt;br /&gt;
{{Навигация|Абдулопредатели}}&lt;br /&gt;
{{Навигация|Негативные явления}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:2° С.У.К.А]]&lt;br /&gt;
[[Категория:Абдулопредатели]]&lt;br /&gt;
[[Категория:Ипотечники]]&lt;br /&gt;
[[Категория:Негативные явления]]&lt;/div&gt;</summary>
		<author><name>Adept</name></author>
	</entry>
</feed>