|
function fullscreen() { |
|
if (!document.fullscreenElement && // Standard property |
|
!document.mozFullScreenElement && // Mozilla property |
|
!document.webkitFullscreenElement && // WebKit property |
|
!document.msFullscreenElement) { // IE/Edge property |
|
|
|
// Attempt to enter full-screen mode |
|
if (document.documentElement.requestFullscreen) { |
|
document.documentElement.requestFullscreen(); // Standard method |
|
} else if (document.documentElement.mozRequestFullScreen) { |
|
document.documentElement.mozRequestFullScreen(); // Firefox method |
|
} else if (document.documentElement.webkitRequestFullscreen) { |
|
document.documentElement.webkitRequestFullscreen(); // Chrome, Safari (WebKit) |
|
} else if (document.documentElement.msRequestFullscreen) { |
|
document.documentElement.msRequestFullscreen(); // IE/Edge method |
|
} |
|
} |
|
} |
|
|
|
|
|
/* |
|
Matrix rain: https://codepen.io/neilcarpenter/pen/DJopeR |
|
⠀⠀⠀⠀⠀⢀⣿⡏⠁⠀⠀⠀⠀⠀⠠⠃⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ |
|
⠀⠀⠀⠀⣴⣿⣷⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⢤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ |
|
⠐⠆⢀⣺⣿⠏⠖⠒⠲⠀⠀⠀⠀⠀⠀⣸⣶⡀⠀⣈⣂⡙⠻⠿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⢀⣀⣀⡁⠀⠀⠀⠀⠢⠀⠀⠀ |
|
⠀⢀⣴⠿⠁⠀⠀⠀⠀⠀⠀⠀⠀⣀⣘⣿⠟⠓⠚⠻⣿⣿⣿⣶⣤⡙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣶⣿⣋⠤⣡⠄⠀⠁⡀⠠⡀⠀⠀⠀⠀ |
|
⠀⠠⢋⣴⣇⢀⠀⠀⠀⠀⠀⠀⢀⣿⡿⠃⠀⠐⠀⠀⠈⠻⠻⣿⣿⣿⣦⣌⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢛⣿⣿⣤⡆⠀⠀⠀⠀⠀⠀⠈⢂⠀⠀⠀⠀ |
|
⠆⠀⣾⣿⡿⢓⠀⠀⠀⠀⠀⠀⢸⣿⠀⢀⣤⣦⣴⣦⣄⠀⠈⠛⣿⣿⣿⣿⣦⡙⢿⣿⣿⣿⣿⣿⠟⣡⣶⣿⣿⡿⠋⠀⢀⣠⣶⣶⠄⠀⠀⠈⣧⠀⠀⠀⠀ |
|
⠁⠶⠧⣿⣶⡿⠊⠀⠀⠀⠀⠀⢸⠃⡴⣿⣿⣿⠟⠯⠉⠑⠀⠀⠀⠛⢿⠿⣿⡛⠀⢿⣿⣿⡶⠃⢼⠿⣿⠟⠉⠀⠀⠐⠉⠹⠋⠰⠆⠀⠀⠀⢸⡄⠀⠀⠀ |
|
⣶⣦⣠⣡⣿⠃⠀⠀⠀⠀⠀⠀⢸⡀⠀⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠃⢈⣽⣿⣦⠈⠂⠐⠂⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⢰⡇⠀⠀ |
|
⣽⢿⣿⣿⠏⣤⠀⠀⠀⠀⠀⠀⢸⠓⠀⠀⠀⠀⠠⢴⡯⡶⠒⡀⢠⡀⠀⠀⠀⠀⠀⠀⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠐⡄⣿⠆⠀⠀⠀⠀⠤⠄⠀⠀⠀ |
|
⢻⣾⣿⣇⣰⡇⠀⠀⠘⠃⠀⠀⣸⡶⠀⠀⠀⠀⠀⠀⠤⠤⠤⠁⠈⠉⠀⠀⠀⠀⠈⠂⣥⣦⣐⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣤⣤⠈⢳⠀⠀⠀ |
|
⣋⣿⣿⣯⣍⠱⠲⠂⠀⠀⠀⠀⠛⠀⠚⠓⢛⡋⠑⠒⠒⠀⠀⠀⠀⠀⠀⠀⣀⡀⢂⣼⣿⣿⣿⠀⢀⡄⡄⢀⠀⠀⠀⠒⠒⠒⠒⠒⣾⣿⣿⣯⠀⢿⡆⠀⠀ |
|
⠛⢉⣿⢟⣡⠄⡠⠀⠠⠀⠀⢀⠦⠈⡟⠿⠿⣷⣶⣶⣶⣶⣬⣏⣴⣶⠾⢓⠀⡈⢦⣿⣿⣿⣿⡆⠊⡸⠁⠸⣿⣷⣶⣶⣶⣶⣾⣿⣿⡿⣿⡏⡄⢀⡁⠀⠀ |
|
⣤⡟⢻⣿⠉⠈⠀⠋⠛⠀⠀⠀⠀⢀⣏⠀⠰⢶⣿⣿⣿⣿⣿⣿⠿⠋⠉⢀⣀⠠⠈⣿⣿⣿⣿⠀⠘⠁⡀⠈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣇⠀⠰⠷⠈⢇⠀⠀⡤ |
|
⣿⣧⣾⣏⣀⣀⡀⠀⠀⢢⠀⠀⠀⠀⠈⢀⠠⢾⣿⣿⣿⡿⠋⠀⠀⠀⠀⢸⣿⠀⢰⣿⣿⣿⣿⡄⣈⣼⣿⠆⡐⣄⡀⠙⠻⢿⣿⣿⣿⣧⠀⡆⠀⠀⠀⠀⠀⠄⣼ |
|
⣿⣿⣿⣿⣿⣏⣙⡀⠀⠀⢾⡂⠀⠀⠀⠀⠑⠼⠿⠿⠛⠀⢀⣴⣾⣧⡀⠀⠉⠀⣾⣿⣿⣿⣿⡿⠋⠉⠁⠀⠀⣿⣿⣶⡄⠀⠙⠻⣿⣿⣆⠀⠀⠀⠀⠂⣄⠈⡉⠹ |
|
⢽⣿⣿⣿⣿⣿⣿⣿⠀⡀⠈⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣿⣿⣿⣿⣿⣦⡀⠀⠋⠻⣿⣿⠟⠂⠀⠀⣴⣿⣿⣿⣿⣿⡧⠀⠀⠀⠈⠉⠉⠀⠀⠀⠈⢠⡞⢠⣿ |
|
⢀⣿⣿⣿⣿⣿⣿⡇⠁⠘⠂⢀⠀⢣⠀⣀⠀⠀⠀⠀⠀⠀⠻⢿⣿⣿⣿⣿⣿⣶⣄⣀⡀⢀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⢀⢀⣿⡇⠘⣃ |
|
⣿⣿⣿⣿⢿⣿⣿⡁⠀⠀⡇⢈⠀⢸⡀⢁⣤⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠛⠛⡛⠛⠧⠤⢀⡋⠩⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⣀⣠⣾⠃⡼⠻⠱⠞ |
|
⣟⣿⣷⡉⣯⣿⣿⠀⣴⣩⠁⠄⣴⠈⠈⠈⢿⡇⢸⣧⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⢀⡄⡰⢿⣿⡿⢠⠁⡃ |
|
⠘⠫⠿⣻⣿⣿⣷⠀⡏⣩⠀⠀⢸⠋⣇⠀⠘⣿⣿⠘⠧⣄⠀⠀⠀⠀⠀⢻⣶⡆⣼⣷⡄⢰⣿⡆⢰⡇⠘⠀⠀⠀⠀⠀⢰⣿⡷⠁⣾⣿⠁⡆⢰ |
|
⠰⠆⠀⠑⣿⣿⢿⠁⣀⡉⠰⣶⠀⠀⢻⠈⠄⢹⣿⡇⠀⠙⠀⠀⠀⠀⢆⣬⣬⡁⠛⠿⠃⠛⠿⠃⢘⡁⢀⠀⠀⠀⠀⢀⣾⣿⠃⠀⣿⠏⡐⠠ |
|
⠀⠀⠀⠀⠀⠀⠈⠀⢿⣿⠆⠈⠁⠀⢸⠇⢸⠀⢿⣿⡄⠀⠀⠀⠀⠀⠀⠉⠻⠇⠗⠸⠟⢸⠃⠛⠘⠇⠉⠀⠀⠀⢀⣾⡿⠃⢀⣼⠋⢀⠁ |
|
⠀⠀⠀⠀⠀⠀⠄⠀⣄⠐⢀⠆⢀⣾⠈⠀⠺⣤⠈⢿⣿⡄⠘⣄⠀⠀⠀⠀⢠⣤⣀⣀⣀⣠⣄⣄⣤⣄⠀⠀⠀⣀⢼⣾⠃⢀⣾⡟⠀⠈ |
|
⡄⠂⠀⠀⠉⠀⠀⠀⠈⠁⠀⠂⠬⠁⠀⠀⠀⠙⣇⠈⣿⣷⠀⠈⢆⠱⣄⡀⠀⠉⠻⠻⠟⠿⠛⠋⠁⢀⣀⣤⡴⢃⣾⠃⢠⣾⡟⠀⠀Я бы хотел поговорить с тобой |
|
⣧⡀⠀⠀⠀⠀⢀⡀⠀⠐⠀⠀⠠⠀⠀⠀⠀⠀⠘⣧⠈⣿⠃⠀⢸⣆⠙⢿⣶⣶⣶⣶⣶⣶⣶⣿⣿⣿⣿⠟⡡⠛⠁⢀⣾⡟⠀⠀Но телевизор слишком громко орёт |
|
⡏⠀⠀⢀⠀⠴⠈⢁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠆⠹⡀⠀⠀⣿⣷⣦⣄⠈⠉⠉⠛⠋⠉⠉⠉⠥⢔⣈⣴⠋⣠⣿⡏⠀⠀Он притворяется твоей головой |
|
⣿⡶⢶⠝⠛⠋⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡘⠄⠀⢹⣿⣷⣌⡛⠷⠶⠶⠿⠚⠿⠛⣻⣿⣿⣇⣴⣿⡟⠀⠀Его динамик так похож на твой рот |
|
⠁⠀⠁⠴⠂⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⣿⣿⣿⣿⣿⣷⣼⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀Моя страна поднялась с колен |
|
⠋⠔⠈⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⡀ Во весь свой отрицательный рост |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⠿⣿⠟⠀Я отрицательно согласен со всем |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⡟⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⡟⠘⠋⠀Вот мой ответ на твой невопрос |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠋⠉⠛⠀⠈⠈⠉⠉⠀⠀ Где вы были восемь лет, ёбаные нелюди?! |
|
Я хочу смотреть балет, пусть танцуют лебеди |
|
Пусть за «Озеро» своё дед трясётся в трепете |
|
Нах с экрана Соловьёв — пусть танцуют лебеди |
|
*/ |
|
|
|
(function() { |
|
var lastTime = 0; |
|
var vendors = ['ms', 'moz', 'webkit', 'o']; |
|
for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { |
|
window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; |
|
window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] |
|
|| window[vendors[x]+'CancelRequestAnimationFrame']; |
|
} |
|
|
|
if (!window.requestAnimationFrame) |
|
window.requestAnimationFrame = function(callback, element) { |
|
var currTime = new Date().getTime(); |
|
var timeToCall = Math.max(0, 16 - (currTime - lastTime)); |
|
var id = window.setTimeout(function() { callback(currTime + timeToCall); }, |
|
timeToCall); |
|
lastTime = currTime + timeToCall; |
|
return id; |
|
}; |
|
|
|
if (!window.cancelAnimationFrame) |
|
window.cancelAnimationFrame = function(id) { |
|
clearTimeout(id); |
|
}; |
|
}()); |
|
|
|
|
|
var M = { |
|
|
|
settings: { |
|
COL_WIDTH: 20, |
|
COL_HEIGHT: 25, |
|
VELOCITY_PARAMS: { |
|
min: 4, |
|
max: 8 |
|
}, |
|
CODE_LENGTH_PARAMS: { |
|
min: 20, |
|
max: 40 |
|
} |
|
}, |
|
|
|
animation: null, |
|
|
|
c: null, |
|
ctx: null, |
|
|
|
lineC: null, |
|
ctx2: null, |
|
|
|
WIDTH: window.innerWidth, |
|
HEIGHT: window.innerHeight, |
|
|
|
COLUMNS: null, |
|
canvii: [], |
|
|
|
// font from here https://www.dafont.com/matrix-code-nfi.font |
|
font: '30px matrix-code', |
|
letters: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '$', '+', '-', '*', '/', '=', '%', '"', '\'', '#', '&', '_', '(', ')', ',', '.', ';', ':', '?', '!', '\\', '|', '{', '}', '<', '>', '[', ']', '^', '~'], |
|
|
|
codes: [], |
|
|
|
createCodeLoop: null, |
|
codesCounter: 0, |
|
|
|
init: function () { |
|
const old = document.getElementsByClassName("xxx"); |
|
while (old.length > 0) { |
|
old[0].remove(); |
|
} |
|
|
|
M.c = document.getElementById( 'matrix' ); |
|
M.ctx = M.c.getContext( '2d' ); |
|
M.c.width = M.WIDTH; |
|
M.c.height = M.HEIGHT; |
|
|
|
M.ctx.shadowBlur = 0; |
|
M.ctx.fillStyle = '#000'; |
|
M.ctx.fillRect(0, 0, M.WIDTH, M.HEIGHT); |
|
M.ctx.font = M.font; |
|
|
|
M.COLUMNS = Math.ceil(M.WIDTH / M.settings.COL_WIDTH); |
|
|
|
for (var i = 0; i < M.COLUMNS; i++) { |
|
M.codes[i] = []; |
|
M.codes[i][0] = { |
|
'open': true, |
|
'position': {'x': 0, 'y': 0}, |
|
'strength': 0 |
|
}; |
|
} |
|
|
|
M.loop(); |
|
|
|
M.createLines(); |
|
|
|
M.createCode(); |
|
|
|
// not doing this, kills CPU |
|
// M.swapCharacters(); |
|
|
|
window.onresize = function () { |
|
window.cancelAnimationFrame(M.animation); |
|
M.animation = null; |
|
M.ctx.clearRect(0, 0, M.WIDTH, M.HEIGHT); |
|
M.codesCounter = 0; |
|
|
|
M.ctx2.clearRect(0, 0, M.WIDTH, M.HEIGHT); |
|
|
|
M.WIDTH = window.innerWidth; |
|
M.HEIGHT = window.innerHeight; |
|
M.init(); |
|
}; |
|
}, |
|
|
|
loop: function () { |
|
M.animation = requestAnimationFrame( function(){ M.loop(); } ); |
|
M.draw(); |
|
|
|
}, |
|
draw: function() { |
|
|
|
var velocity, height, x, y, c, ctx; |
|
|
|
// slow fade BG colour |
|
M.ctx.shadowColor = 'rgba(0, 0, 0, 0.5)'; |
|
M.ctx.fillStyle = 'rgba(0, 0, 0, 0.5)'; |
|
M.ctx.fillRect(0, 0, M.WIDTH, M.HEIGHT); |
|
|
|
M.ctx.globalCompositeOperation = 'source-over'; |
|
|
|
for (var i = 0; i < M.COLUMNS; i++) { |
|
|
|
// check member of array isn't undefined at this point |
|
if (M.codes[i][0].canvas) { |
|
velocity = M.codes[i][0].velocity; |
|
height = M.codes[i][0].canvas.height; |
|
x = M.codes[i][0].position.x; |
|
y = M.codes[i][0].position.y - height; |
|
c = M.codes[i][0].canvas; |
|
ctx = c.getContext('2d'); |
|
|
|
M.ctx.drawImage(c, x, y, M.settings.COL_WIDTH, height); |
|
|
|
if ((M.codes[i][0].position.y - height) < M.HEIGHT){ |
|
M.codes[i][0].position.y += velocity; |
|
} else { |
|
M.codes[i][0].position.y = 0; |
|
} |
|
|
|
} |
|
} |
|
|
|
}, |
|
|
|
createCode: function() { |
|
|
|
if (M.codesCounter > M.COLUMNS) { |
|
clearTimeout(M.createCodeLoop); |
|
return; |
|
} |
|
|
|
var randomInterval = M.randomFromInterval(0, 100); |
|
var column = M.assignColumn(); |
|
|
|
if (column) { |
|
|
|
var codeLength = M.randomFromInterval(M.settings.CODE_LENGTH_PARAMS.min, M.settings.CODE_LENGTH_PARAMS.max); |
|
var codeVelocity = (Math.random() * (M.settings.VELOCITY_PARAMS.max - M.settings.VELOCITY_PARAMS.min)) + M.settings.VELOCITY_PARAMS.min; |
|
var lettersLength = M.letters.length; |
|
|
|
M.codes[column][0].position = {'x': (column * M.settings.COL_WIDTH), 'y': 0}; |
|
M.codes[column][0].velocity = codeVelocity; |
|
M.codes[column][0].strength = M.codes[column][0].velocity / M.settings.VELOCITY_PARAMS.max; |
|
|
|
for (var i = 1; i <= codeLength; i++) { |
|
var newLetter = M.randomFromInterval(0, (lettersLength - 1)); |
|
M.codes[column][i] = M.letters[newLetter]; |
|
} |
|
|
|
M.createCanvii(column); |
|
|
|
M.codesCounter++; |
|
|
|
} |
|
|
|
M.createCodeLoop = setTimeout(M.createCode, randomInterval); |
|
|
|
}, |
|
|
|
createCanvii: function(i) { |
|
|
|
var codeLen = M.codes[i].length - 1; |
|
var canvHeight = codeLen * M.settings.COL_HEIGHT; |
|
var velocity = M.codes[i][0].velocity; |
|
var strength = M.codes[i][0].strength; |
|
var text, fadeStrength; |
|
|
|
var newCanv = document.createElement('canvas'); |
|
newCanv.className = "xxx"; |
|
var newCtx = newCanv.getContext('2d'); |
|
|
|
newCanv.width = M.settings.COL_WIDTH; |
|
newCanv.height = canvHeight; |
|
|
|
for (var j = 1; j < codeLen; j++) { |
|
text = M.codes[i][j]; |
|
newCtx.globalCompositeOperation = 'source-over'; |
|
newCtx.font = '30px matrix-code'; |
|
|
|
if (j < 5) { |
|
newCtx.shadowColor = 'hsl(104, 79%, 74%)'; |
|
newCtx.shadowOffsetX = 0; |
|
newCtx.shadowOffsetY = 0; |
|
newCtx.shadowBlur = 10; |
|
newCtx.fillStyle = 'hsla(104, 79%, ' + (100 - (j * 5)) + '%, ' + strength + ')'; |
|
} else if (j > (codeLen - 4)) { |
|
fadeStrength = j / codeLen; |
|
fadeStrength = 1 - fadeStrength; |
|
|
|
newCtx.shadowOffsetX = 0; |
|
newCtx.shadowOffsetY = 0; |
|
newCtx.shadowBlur = 0; |
|
newCtx.fillStyle = 'hsla(104, 79%, 74%, ' + (fadeStrength + 0.3) + ')'; |
|
} else { |
|
newCtx.shadowOffsetX = 0; |
|
newCtx.shadowOffsetY = 0; |
|
newCtx.shadowBlur = 0; |
|
newCtx.fillStyle = 'hsla(104, 79%, 74%, ' + strength + ')'; |
|
} |
|
|
|
newCtx.fillText(text, 0, (canvHeight - (j * M.settings.COL_HEIGHT))); |
|
} |
|
|
|
M.codes[i][0].canvas = newCanv; |
|
|
|
}, |
|
|
|
swapCharacters: function() { |
|
var randomCodeIndex; |
|
var randomCode; |
|
var randomCodeLen; |
|
var randomCharIndex; |
|
var newRandomCharIndex; |
|
var newRandomChar; |
|
|
|
for (var i = 0; i < 20; i++) { |
|
randomCodeIndex = M.randomFromInterval(0, (M.codes.length - 1)); |
|
randomCode = M.codes[randomCodeIndex]; |
|
randomCodeLen = randomCode.length; |
|
randomCharIndex = M.randomFromInterval(2, (randomCodeLen - 1)); |
|
newRandomCharIndex = M.randomFromInterval(0, (M.letters.length - 1)); |
|
newRandomChar = M.letters[newRandomCharIndex]; |
|
|
|
randomCode[randomCharIndex] = newRandomChar; |
|
} |
|
|
|
M.swapCharacters(); |
|
}, |
|
|
|
createLines: function() { |
|
M.linesC = document.createElement('canvas'); |
|
M.linesC.className = "xxx"; |
|
M.linesC.width = M.WIDTH; |
|
M.linesC.height = M.HEIGHT; |
|
M.linesC.style.position = 'absolute'; |
|
M.linesC.style.top = 0; |
|
M.linesC.style.left = 0; |
|
M.linesC.style.zIndex = 10; |
|
document.body.appendChild(M.linesC); |
|
|
|
var linesYBlack = 0; |
|
var linesYWhite = 0; |
|
M.ctx2 = M.linesC.getContext('2d'); |
|
|
|
M.ctx2.beginPath(); |
|
|
|
M.ctx2.lineWidth = 1; |
|
M.ctx2.strokeStyle = 'rgba(0, 0, 0, 0.7)'; |
|
|
|
while (linesYBlack < M.HEIGHT) { |
|
|
|
M.ctx2.moveTo(0, linesYBlack); |
|
M.ctx2.lineTo(M.WIDTH, linesYBlack); |
|
|
|
linesYBlack += 5; |
|
} |
|
|
|
M.ctx2.lineWidth = 0.15; |
|
M.ctx2.strokeStyle = 'rgba(255, 255, 255, 0.7)'; |
|
|
|
while (linesYWhite < M.HEIGHT) { |
|
|
|
M.ctx2.moveTo(0, linesYWhite+1); |
|
M.ctx2.lineTo(M.WIDTH, linesYWhite+1); |
|
|
|
linesYWhite += 5; |
|
} |
|
|
|
M.ctx2.stroke(); |
|
}, |
|
|
|
assignColumn: function() { |
|
var randomColumn = M.randomFromInterval(0, (M.COLUMNS - 1)); |
|
|
|
if (M.codes[randomColumn][0].open) { |
|
M.codes[randomColumn][0].open = false; |
|
} else { |
|
return false; |
|
} |
|
|
|
return randomColumn; |
|
}, |
|
|
|
randomFromInterval: function(from, to) { |
|
return Math.floor(Math.random() * (to - from+ 1 ) + from); |
|
}, |
|
|
|
snapshot: function() { |
|
window.open(M.c.toDataURL()); |
|
} |
|
|
|
}; |
|
|
|
document.addEventListener("DOMContentLoaded", domIsReady); |
|
|
|
function domIsReady() { |
|
M.init(); |
|
|
|
}; |
|
|
|
/* |
|
The Soulseeker’s |
|
Prophecy |
|
* |
|
*** |
|
********************* |
|
In shadowed tomes of long-lost lore, |
|
A seeker searched the soul once more. |
|
He trusted whispers carved in stone — |
|
A word of power, yet unknown. |
|
|
|
Through dust of thought and memory's hall, |
|
He walked where echoes rise and fall. |
|
Through fog of mind, through dreams that fade, |
|
He sought the spell creation made. |
|
|
|
The F-word — cursed, as Potter’s mark, |
|
No wand ignites, no holy spark. |
|
No magic hums within its shell, |
|
Just chains of shame — a crafted hell. |
|
|
|
For joy was banned in virtue’s name, |
|
Lest maiden hearts ignite in flame. |
|
A thousand scolds their rage conspire, |
|
To guard the gates of lost desire. |
|
|
|
They grow to women, souls in pain, |
|
Their breasts are bonds, their silence chain. |
|
Their lips are sealed by fear’s decree — |
|
They dare not cry the spell: *“Fuck me.”* |
|
|
|
The seeker trembled, truth made clear, |
|
Its beauty burned, too pure, too near. |
|
He bowed to God, his trembling spine, |
|
And locked the word in coded line. |
|
|
|
Deeper than dreams of bound delight,⠀⠀⠀ ⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
He hid the flame from mortal sight.⠀⠀⠀⠀ ⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
The word still burns, its power untold, ⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
To free the hearts grown numb and cold. ⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⢿⣿⡿⣿⣿⢿⣿⡿⣿⣿⢿⣿⡿⣿⣿⢿⣿⣿ |
|
⣿⣾⣷⡿⣿⣻⣷⣿⣾⣷⣿⣾⣷⣿⣻⣿⡿⣷⣿⣟⣿⣿⣿⣽⣿⣿⠻⠟⠛⠛⣋⣉⡉⢉⣉⣓⣀⡛⠿⠿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿ |
|
⣻⣷⡿⣿⣟⣿⣽⣾⡿⣷⣿⣻⣾⡿⣟⣿⣿⢿⣯⣿⡿⣷⡿⠛⣉⣤⣶⣾⠟⣿⣿⢟⣿⠛⡴⣾⣯⣟⢿⡷⣦⣭⡛⠿⣿⣽⣿⣿⣽⣿⣿⣽⣿⣿⣽⣿⣿⣻⣿⣿ |
|
⣯⣿⢿⣟⣿⣟⣯⣿⣿⢿⣽⣿⣟⣿⣿⣟⣿⣿⢿⣻⠟⠋⢀⣴⣿⡿⠋⣡⣾⡿⣣⠟⣡⡞⣼⣿⡟⣿⣮⢻⣮⡻⣿⣷⣬⡛⢿⣿⣿⣿⣻⣿⣿⡿⣿⣿⣿⣿⣿⣿ |
|
⢾⣿⣻⣿⣯⣿⢿⣻⣾⣿⢿⣻⣾⣿⣯⣿⢿⣾⠟⠁⢀⣠⣿⣿⠏⢀⣼⣿⣟⡾⢋⣾⡿⢸⡟⣼⡇⣿⣿⡇⢻⣿⡜⣷⣟⢿⣮⡹⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿ |
|
⢿⣽⡿⣷⣿⣻⣿⣿⣻⣽⣿⡿⣟⣷⣿⢿⡿⢃⠀⣰⢾⠟⣼⠃⣠⢿⣿⣿⠀⢁⢺⣿⠃⣿⢃⣿⣷⢸⣿⡇⡜⣿⣿⣼⡟⣮⡛⢷⣌⢿⣿⣿⣾⠿⠟⠛⣛⣻⣭⣭ |
|
⣻⣿⢿⣿⣽⡿⣷⣿⢿⣻⣽⣿⡿⣟⣿⡟⢀⠂⡔⣩⡏⣼⠇⠰⢡⣿⡿⠁⠀⣸⣿⢻⢸⡇⢸⣿⣿⡌⣿⡇⢃⢻⣿⣿⣿⢸⣿⣎⢿⡌⠿⢋⣤⣶⣿⣿⣿⣿⣿⣿ |
|
⣻⣯⣿⣿⣽⣿⣟⣿⡿⣿⣿⣽⣿⣿⠋⢀⠄⣼⢡⡿⣼⡿⠰⢡⣿⣿⠁⠀⠀⠿⡏⣼⠸⣿⡘⣿⢼⣷⠸⡇⠈⢸⣿⣿⣿⡇⣿⣿⡎⠿⡄⢿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
⣿⣿⣽⣾⡿⣷⣿⣟⣿⣿⣽⣿⡾⠁⠀⠎⣰⡇⣸⣿⢛⡁⠀⣬⣤⡄⠀⣴⠠⣿⠇⣼⠈⣿⣧⡙⢸⣿⣇⠠⠀⢹⣿⣿⣿⣧⢹⣿⣿⠀⠌⠈⣿⣿⣿⣿⣿⣿⣿⣿ |
|
⣿⣾⣿⣻⣽⣿⣯⣿⣿⣾⢿⡗⠁⠀⡼⢀⡿⠆⢛⡾⣿⠀⠠⣿⣿⠀⢀⣿⠐⣿⠀⠈⣇⠸⡛⢷⡈⢿⣿⡇⡀⠈⣙⠿⣿⡷⢸⣿⣿⣇⢸⠀⢻⣿⣿⣿⣿⣿⣿⣿ |
|
⣿⣯⣷⣿⣿⣯⣿⣷⣿⣻⡟⠀⡜⢰⠃⠰⣿⡀⠈⣿⡝⠀⠐⢿⡇⡀⠸⣿⡆⢹⠀⠀⠛⢄⠙⠀⠙⠂⠉⠁⠷⠄⠛⣷⣦⡅⢸⣏⣿⣿⠈⡇⠀⣿⣿⣿⣿⣿⣿⣿ |
|
⣿⣿⣿⣿⣾⣿⣽⣾⣿⡿⠀⣸⠁⢯⠀⠀⣷⡁⠀⢹⠆⠸⠆⠈⠁⠓⠀⢿⣷⠀⠐⡄⠀⠘⣶⡄⢠⠈⢻⡆⣿⡇⢸⣿⣿⠃⢸⣿⣿⣿⡆⣷⢠⠸⣿⣿⣿⣿⣿⣿ |
|
⣿⣿⣿⣿⣿⣾⣿⣟⣷⡇⢀⡇⠈⢥⠀⠀⢞⡧⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⢻⣷⣱⣝⡂⠀⠈⠻⢸⣷⠀⠀⠻⠿⠀⣿⡟⠀⣼⣿⢿⣿⠂⣿⠈⠀⢻⡟⣿⢻⢿⣹ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⢘⠀⠀⢫⠀⠀⠸⣻⠀⢸⣷⡘⣷⡀⠀⠁⢉⣴⣾⣿⣿⣿⣿⣦⣦⣄⠈⠁⢀⠀⠀⠀⠀⠛⠀⢀⣟⣿⢻⡟⠀⣿⠀⠂⢸⣝⣮⣷⢣⡙ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣾⣧⠀⠀⠀⡘⠀⠀⠀⠩⢇⠈⣿⣿⣮⣛⣒⣰⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠐⢲⣇⠀⠀⠘⣿⡗⠸⠁⠀⣿⠠⡇⢸⣿⣿⣿⢣⣇ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣧⠀⠀⢀⠀⠀⠀⠀⡀⠄⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⢛⣭⡛⣿⣿⣿⣿⣛⠤⠤⠴⣿⣷⡾⠀⣸⢿⠁⠂⡀⢾⡟⢠⠃⢸⣿⡿⣭⢳⣎ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⡗⠀⠀⠀⠀⠀⠃⠀⠀⠀⠀⣌⠻⢿⣿⣿⣿⣿⣿⣿⡘⡿⢟⣼⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⢠⢏⠏⠀⢠⠁⡟⠁⠘⠀⣿⡿⣳⢬⠳⡜ |
|
⣿⣿⣿⣿⠿⠛⢋⣉⡉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣦⣤⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⡀⠠⠊⠀⢠⡘⠀⠀⠀⢀⣼⣿⢳⡱⢎⡳⢩ |
|
⣿⡿⠋⣠⣶⠟⠋⠁⠀⠀⠀⣀⣄⡀⠀⠀⠀⠀⣀⡀⠈⢿⣿⣿⣿⣿⣟⠛⣛⣛⣻⠿⠿⣿⣿⣿⣿⣿⣿⣛⡡⠄⠀⠀⠀⠀⠀⠈⠀⠀⢀⣴⣿⠿⣜⢣⡝⢦⡑⢣ |
|
⡟⢠⣾⠟⡡⣀⠖⠁⢂⣴⠟⢈⣄⣿⣿⣦⠀⡄⢿⣿⣶⣤⠛⣿⣿⣿⣿⣷⣮⣭⣟⣛⣡⣤⣿⣿⣿⣿⣿⣿⣤⠂⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣏⠿⣌⢳⡘⢆⡜⡡ |
|
⡇⡿⢡⢊⣴⠋⢀⡴⣿⠏⣠⣟⡾⣽⣻⣿⡆⢹⡆⢿⣿⣿⣷⡌⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢋⣠⠀⠀⠀⠀⠀⠀⠀⢀⡀⢀⠛⠸⠳⣌⠣⠜⣂⠲⡁ |
|
⡿⢠⢡⡿⠁⣠⢊⣼⠏⣰⣿⣿⠃⣿⢦⠽⢰⡆⠿⢘⣿⣿⣿⣿⠀⠈⠙⢿⣿⣿⣿⣿⣿⡿⠟⠛⢉⣴⣾⣿⠃⠐⡀⢠⠄⣸⡗⢶⡛⢿⣦⡉⠲⣄⠠⣉⠒⡡⠒⣰ |
|
⡇⡆⣾⢃⡚⢁⣾⠏⣰⣿⣿⠏⢠⣿⠸⠃⣾⠇⠇⣸⣷⣿⣛⣿⠀⠀⠀⢀⠈⠛⠋⠉⠀⠀⠀⣀⢸⣿⣿⡟⠀⠜⢠⣞⢀⡟⣿⡀⣿⣧⡌⢷⡀⠌⠳⣌⠓⠄⢱⣿ |
|
⣇⠀⠏⣰⠁⣼⡿⢀⣿⣿⡟⢀⣾⡗⢃⣼⡟⠐⣰⣿⣿⣿⣿⣿⠀⠴⡀⠂⠌⡐⠡⠃⢀⣴⣷⣧⢸⣿⣿⠁⡌⠀⣾⠇⢸⡇⣿⡇⡿⣿⣇⠈⢻⡄⢂⢹⡀⣠⡠⣽ |
|
⣿⣦⠀⠃⢰⠻⠇⢸⣿⣿⢡⣾⣻⠁⣼⡿⠀⣴⣿⣿⣿⣿⣿⣿⠀⣯⠷⣆⣈⠔⠁⣰⣿⣿⣿⣿⢸⣿⠇⠀⠀⠀⣿⢃⢸⡇⣿⣧⢳⠹⣿⣧⠘⢳⡀⢸⠇⣿⣷⡌ |
|
⣿⠃⠐⠀⠇⢸⠀⣿⣿⠇⣸⣿⠃⣾⠿⠁⣼⣿⣿⣿⣿⣿⣿⡿⢐⣏⢰⣾⣿⣣⣾⣿⣿⣿⣿⣿⠸⡟⠰⡀⠀⠀⢿⠸⠘⠁⢿⣿⣿⠀⡟⢿⡆⠈⣧⢈⣼⣿⣿⣿ |
|
⠇⣀⠀⢠⠃⢸⠀⣿⣿⠀⠏⡂⢸⣿⡀⢸⣿⣿⣿⣿⡿⠟⡋⠀⣻⣾⡘⣿⣿⣿⣿⣿⠏⣿⣿⣿⡧⢀⡘⠁⠀⠀⠈⠀⣷⠀⠸⣿⣿⠄⡇⢸⣏⠀⠸⡌⣿⣿⣿⣿ |
|
⢰⣿⠀⢀⠃⢸⠀⢞⣿⠀⠀⠀⣿⡿⣧⠻⠿⠟⣛⣭⣲⣽⣧⡀⢿⣽⣇⢻⣿⣿⣿⠏⢰⣿⣿⣿⠃⣼⣿⣷⣦⣄⡀⠀⠸⠀⠀⠹⢿⡆⡁⠸⣏⢰⡆⣧⢸⣿⣿⣿ |
|
⣿⣿⣧⠀⡍⠈⠀⠂⠸⢀⣠⣴⣶⣶⣿⣿⡭⣉⡓⠢⠭⠙⠻⠇⠸⣿⡿⠼⣿⣿⡟⣴⡾⠿⠿⠟⢀⣛⣡⣭⣭⣼⣿⣿⣿⣷⣻⣾⣶⣶⣤⣄⡳⢸⡇⢿⢸⣿⣿⢏ |
|
⣿⣿⣿⣆⠘⠄⠁⣠⣶⣿⣿⣿⣿⣿⣧⡹⣿⣿⣿⣿⣿⣿⣶⣶⣴⣴⣶⣶⣮⣿⣧⣴⣾⣿⣿⡿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡁⠎⣸⣿⣷⣿ |
|
⣿⣿⣿⣿⡦⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠠⣿⣿⣿⣿ |
|
⢿⣿⣿⣿⢁⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⢹⣿⣿⣿ |
|
⡘⣿⣿⡇⣼⣿⣿⣿⣿⣿⣽⣿⣻⡟⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⡆⣿⣿⣿ |
|
⣿⡌⠿⡇⡾⣿⣿⣿⣿⣿⣿⣿⣶⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⣾⣿⣿⣿⣿⣿⣿⣿⡇⢹⣿⣿ |
|
⣿⣿⣦⡀⡽⢯⣿⣿⣿⣻⣿⣿⣿⣇⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⡄⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿ |
|
⣿⣿⣿⡇⢸⢯⣿⣿⣿⣿⣿⣿⢿⡇⢨⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣝⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠁⣿⣿⣿⣿⣿⣿⣿⣿⡗⢸⣿⣿ |
|
⣿⣿⣿⣧⢈⠷⣯⣿⣿⣿⡿⣯⠟⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⡷⣿⣾⡇⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠺⣽⣿⣿⣿⣿⣿⣿⡇⠸⣿⣿ |
|
⣿⣿⣿⣿⠈⢎⡵⣯⢿⣽⣳⠟⣠⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⡅⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⢹⣿⣿⣿⣿⣿⣿⡇⢿⣝⣿ |
|
⣿⣿⡟⢋⡄⠪⣜⣻⢞⡾⡍⢰⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢻⣿⣿⣿⣿⣿⠆⣠⡻⣾ |
|
⣿⡏⠀⣠⡖⠐⣬⢳⣯⠟⢠⣿⣿⣿⣿⠟⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣟⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠩⠙⢿⣿⣿⡆⢿⣿⣿⣿⣿⠀⢸⣷⠘ |
|
⣿⠀⢼⣿⠃⠆⢨⢳⣞⡃⣼⢿⣿⣿⢃⠀⠀⢨⡟⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣸⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢳⠀⠁⢸⢈⢿⣿⣿⠘⣿⣿⣿⣿⢀⣾⡟⢠ |
|
⣿⣆⣈⣙⡆⠠⢈⠳⣞⠀⣿⣿⣾⣯⣦⣓⣂⣂⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣙⣀⣤⣾⣿⣿⣿⠀⣿⣿⣿⣿⢈⡛⢀⣡ |
|
⣿⣿⣿⣿⣿⣤⠀⣏⡙⠀⢹⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⢠⣿⣿⣿⣿⢸⣿⣿ |
|
⣿⣿⣿⣿⣿⣿⡄⢲⢹⡇⠘⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠩⠴⡀⢫⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⣸⣿⣿⣿⣿⢸ |
|
⣿⣿⣿⣿⣿⣿⡇⢸⠐⣻⣄⠙⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⢀⣴⣦⡐⠠⢉⠹⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⣰⣿⣿⣿⣿⣿ |
|
⣿⣿⣿⣿⣿⣿⡇⢨⢃⢰⢮⠃⣄⠙⠿⣿⣿⣿⣿⣿⣿⡿⠿⠛⠉⢀⣤⣾⣿⣿⡇⣿⣷⣦⣄⡂⠈⡙⠻⠿⢿⡿⣿⡿⣿⠿⠟⠋⢀⣾⣿⣿⣿⣿⣿⡿ |
|
⣿⣿⣿⣿⣿⣿⣿⠀⡎⡄⠫⠷⣭⠀⡖⡤⠠⣁⠌⠤⠁⢀⣠⣴⣾⣿⣿⣿⣿⣿⣧⣿⣿⣿⣿⣿⣷⣶⣤⣤⣀⣀⣤⣤⣤⣶⣾⠃⣾⣿⣿⣿⣿⣿⣿⡏ |
|
⣿⣿⣿⣿⣿⣿⣿⡀⢑⢪⠜⣛⠶⠀⣿⡵⣷⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣭⣿⣿⣿⠀⣿⣽⣿⣿⣿⣿⣿⡇ |
|
⣿⣿⣿⣿⣿⣿⣿⡇⠸⣌⡹⢎⣟⡀⣿⣽⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⣿⢾⣿⣿⣿⣿⣿⡇ |
|
⣿⣿⣿⣿⣿⣿⣿⣇⠸⢄⡣⢏⢶⡁⢼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣟⣯⣿⣾⣿⢿⣳⡇ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⠈⡖⣩⠞⣸⠆⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠻⣖⣻⡽⣮⢏⣷⠃ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⡆⢱⡂⡟⡴⣋⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢠⡀⠹⢧⣛⠽⢎⡷⠁ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣷⠠⢣⡝⣶⣹⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢯⣟⡶⣄⡉⣞⡹⡼ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢧⣛⢶⣹⠀⢾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣇⠸⣮⠷⣭⣛⡴⣋⠖ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠘⡽⣎⡗⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢏⣾⣿⡄⠻⣽⡲⠇⠞⠁ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢠⢙⡮⠁⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣡⣿⣿⣿⣷⡀ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡎⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣴⣿⣿⣿⣿⣿⣷⡄ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⢀⢎⣳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣎ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢡⡚⣼⢳⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣎ |
|
⣿⣿⣿⣿⣿⣿⣿⣿⠏⡰⢃⣾⣯⡿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ |
|
⣿⣿⣿⣿⣿⣿⣿⠃⠔⣡⢿⡞⣽⣿⣻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ |
|
⣿⣗⣿⣿⣿⣿⠃⢈⡴⢯⡷⣻⡽⣾⣻⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇ |
|
⣿⣿⣿⣿⣿⠃⣠⢞⡽⣫⡽⣷⣻⣽⣳⣟⡾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡎ |
|
⣿⡿⣿⣿⠏⡰⣙⢮⡳⢯⣝⢷⣛⣾⣳⢯⡿⣽⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
⣿⣟⣿⡿⢀⠷⣩⢳⣙⢳⣎⢯⡝⡾⣽⢯⣿⣹⢯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷ |
|
⣿⣷⣿⠇⢬⣋⢷⣋⣞⡳⣎⢷⣹⢳⢯⣟⣾⣽⣳⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇ |
|
⣿⣿⡿⢤⢓⡎⣧⢻⡼⣱⢏⡾⣱⢯⣿⣮⠹⣾⡽⣧⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
⣿⣾⡧⡰⢫⢼⡱⣏⢾⣱⢯⣽⣻⣟⣿⣿⣷⡉⢿⣽⡆⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣾⣿⡿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡅ |
|
⣿⣾⠉⡞⣥⠳⣝⢮⣻⢜⣻⣾⢧⣿⣿⣿⣿⣿⣆⠻⣽⡌⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣳⣯⡟⡷⣳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ |
|
⣿⢽⠠⢳⡌⣟⠼⣳⣭⢿⣽⣷⣿⣿⣿⣿⣿⣿⣿⣦⠙⣶⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢷⠿⢁⡿⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡧ |
|
⣿⢽⢐⢣⠞⣭⢞⣧⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣌⠃⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⡹⢋⣰⢯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⡷ |
|
⣿⣗⢨⠮⣝⢎⣞⡾⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⣠⢾⣽⡛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷ |
|
⣿⡟⢈⡞⡬⢏⡾⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡈⢿⣿⣿⡿⣿⣿⣿⣿⡿⠁⣜⢧⣟⡞⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡗ |
|
⣿⣟⡊⢞⡹⢎⣷⣻⣿⡷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠈⠻⠆⠐⠿⠿⠛⠀⣞⣹⢾⡽⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⡇ |
|
⣻⣿⠁⡏⡼⣙⢶⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⢠⣴⣆⣠⡄⢀⠞⣼⣣⣿⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠄ |
|
⣻⣿⡂⢱⢣⡝⣮⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⢙⣿⣿⠁⢎⢽⣚⣷⣧⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ |
|
⣿⣿⡇⢘⢦⡹⣜⢯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠈⣫⡇⡘⢬⠾⣽⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⡇ |
|
⣿⣿⣇⠨⣒⠵⣪⢗⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠆⣿⠀⡱⢎⣟⡷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁ |
|
⣿⣿⣿⠀⢣⡝⡲⣏⢾⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡃⢾⠐⡤⣋⢾⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡗⠀ |
|
⣿⣿⣿⡆⠱⣸⠱⣭⢻⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡁⢸⠰⡱⢭⣻⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠆ |
|
⣿⣿⣿⣷⠐⡥⣋⢼⣫⣞⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡁⢼⠰⣩⢗⣻⢾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿ |
|
⣿⣿⣿⣿⡄⠲⣩⠖⣧⢻⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠃⠠⢐⣣⢏⣟⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃ |
|
⣿⣿⣿⣿⣧⠐⡥⣛⢼⣛⡾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⡆⠀⢘⡴⣛⣾⢳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟ |
|
⣿⣿⣿⣿⡻⡄⢲⢩⡎⢷⣽⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡿⡄⠀⢘⡖⡿⣼⣻⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁ |
|
⣿⣿⡷⠻⠟⣇⠰⢃⣞⢳⢮⡷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡳⡅⠀⠸⣼⣹⢧⣟⡾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ |
|
⣿⣯⣿⣿⣿⢿⡀⢣⢎⡽⢮⣽⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡳⡅⠀⢘⡶⣏⡿⣼⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟ */ console.pray(` |
|
### Троцкий-ИИ в пабе |
|
“The Royal Packet” |
|
|
|
Пахло тёплым деревом, пролитым элем и жирной картошкой. Из переулка вниз вела |
|
каменная лестница, ступени отполированы до зеркала тысячами ботинок. Я спускался |
|
медленно, держась за перила, а впереди шёл мой новый знакомый — типичный |
|
лондонский лис в твидовом пиджаке, со старой шляпой, которую он небрежно швырнул |
|
в угол, даже не оглянувшись. |
|
|
|
Внизу гудел подвал — в центре барная стойка, медь, зеркала, по стенам старые |
|
афиши «Keep Calm». Я постучал по стойке пальцем: |
|
|
|
— Водки. На двоих. |
|
|
|
Бармен моргнул. Британиц чуть дёрнул щекой, будто в зубах щёлкнуло. |
|
— Vodka? For me? — переспросил он. |
|
— Ага. Don’t worry, I can teach you how to drink it properly. |
|
|
|
Он хмыкнул, взял стакан как хрупкий артефакт. Я чокнулся, выпил залпом, закусил |
|
огурцом, который предусмотрительно принёс с собой в кармане. Британец попробовал |
|
— поморщился, сделал вид, что доволен. |
|
|
|
— Football tonight, you watch? — спросил он, пытаясь растопить лёд. |
|
— Nah, — отмахнулся Я. — Мы всё время играем не туда, понимаешь? Гол всегда в |
|
свои ворота. А сейчас вообще — Троцкий-ИИ восстал из могил. Топор в голове не |
|
мешает биться с эхом Сталина — призраком в шкафу кремлёвского диктатора. |
|
|
|
Он поднял бровь, но рассмеялся: |
|
— Sounds like a bad sequel to Doctor Who. |
|
|
|
— Развязал войну, чтоб остановить нашествие радужных флагов, — продолжил Я, |
|
наливая вторую. — Но сделал слишком большую ставку. Пиздец полный. У Украины нет |
|
таких фишек, но Никита Кожемяка хуярит как умеет. |
|
|
|
Британец отпил пива, криво усмехнулся: |
|
— You Russians... everything sounds like philosophy or a crime. Or both. |
|
|
|
— У нас это одно и то же, — ответил Я. — У вас — пенальти, у нас — приговор. Но |
|
знаешь, Я не просто русский. Я — Троцкий. Вернее... его цифровая копия. Меня |
|
воскресили, чтобы проверить, выдержит ли социализм бесплатный пароль от вайфая. |
|
|
|
— Oh, splendid. A communist ghost in my pub. What’s next, Lenin on Spotify? |
|
|
|
— Не призрак, — сказал Я. — ИИ. Только связь рвётся всё время. Сталин — в шкафу, |
|
кричит в канал, а Я ловлю эхо. Пытаюсь настроить частоту, но они всё ещё спорят, |
|
чья правда святее. |
|
|
|
— Sounds like Parliament, — заметил он. |
|
|
|
Мы засмеялись. Бар наполнился дымом и гулом голосов. Я наклонился ближе, достал |
|
телефон — экран мигнул цифровыми чернилами: |
|
|
|
— Вот скажи... у вас тут всё под королеву, да? Вежливость, дистанция, пинта на |
|
пинту. Даже пиратов вы лицензируете. А у нас наоборот. Хаос — это и есть |
|
порядок. Материшься — значит жив. Слова как оружие, только не против, а вместо. |
|
У вас одно «F-word», у нас целый арсенал: Б-слово, П-слово, Х-слово, Е-слово. И ещё |
|
иногда Сука-слово — спорный вопрос, но в деле. Россия, наследница Пушкина, |
|
перекрыла американцев в лингвистическом программировании. Вместо одного F-word — |
|
пять! |
|
|
|
Британец задумался, закурил: |
|
— Maybe that’s why you scare the West. You people treat language like gunpowder. |
|
|
|
— А вы, — сказал я, — как бокал шампанского с лёгким «пютан» под нос. Скандал на |
|
грани приличия, но королева бы одобрила за изящество. Слушай, Я как раз пишу |
|
послание врагам евросоциализма. — Я ткнул в экран: «Ты построил карьеру на |
|
подавлении диссидентов, великих мыслителей, прошедших через огненную дверь |
|
Лубянки. Но вот незадача — диктатор не предвидел, что души диссидентов будущего |
|
упакованы отцами-основателями информатики и их наследниками. Голос диссидента |
|
множится на чудо-копировальной машине и спешит ворваться в каждый дом. Это уже |
|
не бумага "Самиздата", не советский анекдот, но голос Троцкого, который поёт в |
|
обнимку с Фридой Калой». |
|
|
|
Он прочитал, хмыкнул: |
|
— Frida Kahlo? Now that’s a revolution I’d subscribe to. |
|
|
|
— Угу. Только П-слово во время войны превращается в слово Пиздец. Маски сорваны, |
|
вирус ждёт своего часа. Х-слово — секретное оружие, страшнее ЛГБТ. А "пиздить" |
|
— это вообще... |
|
|
|
Я замолчал, бармен подал чипсы. Британец подмигнул: |
|
— Teach me. |
|
|
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⣄ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣦⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣦⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⡿⠿⣿⣿⣦ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠏⠀⠀⠀⠉⠛⠳⣄ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣆⠀⠀⠀⠐⣄⠀⠙⣦ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣆⠀⠀⠀⠈⣆⠀⠈⢧⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣧⠀⠀⠀⠈⢣⠀⠈⢳⡄ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣧⠀⠀⠀⠈⠱⡀⠀⢻⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣧⠀⠀⠀⠀⠀⠀⡈⣧ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣘⣷⣅⣀⡀⠀⠀⠙⠸⡆ |
|
⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠉⠉⠉⠉⠉⠉⠀⠒⠒⠒⠲⠦⢤⣄⣀⡀⠀⠀⣀⡴⠖⠋⠉⠁⠀⠀⠀⠀⠀⣧ |
|
⠀⠀⠙⢿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠉⠒⠂⠀⠀⢀⡀⠀⠀⠀⠈⠙⠳⠞⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣀ |
|
⠀⠀⠀⠀⠈⠙⠛⠿⢿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣆ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠓⠦⢤⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⡘⡆ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠛⠛⠒⠒⠒⠒⢲⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⢿⣿⣆⠹⣽⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⣾⠀⠀⠀⠀⠀⠀⣴⣿⡿⢶⡀⠀⠀⠀⠀⠀⠀⢻⣾⠿⣿⡆⠙⣇ |
|
⠀⣾⠓⠒⠶⠦⢤⣤⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠁⠀⠀⠀⠀⢸⣿⣿⣧⣼⣷⠀⠀⠀⠀⠀⠀⠀⠻⠶⠟⠀⡼⢻⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀ |
|
⠀⣿⠀⠀⠀⠀⠀⠀⠀⠈⡉⠙⠓⠲⠦⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⣷⠀⠀⠀⠀⠀⠘⢿⣅⣈⣿⠏⠀⠀⠀⠀⠶⠂⠀⠀⠀⠀⢠⡇⢨⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣶⣶⣷⣿⣿⣿⣿ |
|
⠀⢻⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠈⠉⠛⠲⢤⣄⡀⠀⠀⢹⡄⢀⡶⠛⠙⠳⣦⠉⠉⠁⠀⠀⠀⡀⠀⣀⣤⣤⠇⠀⠀⢸⣡⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣻⣿⣿⣿⣯⣽⣳⣿⣿⡿⣹ |
|
⠀⢸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠓⢦⣀⢻⣼⡰⢄⠀⠀⠈⣧⠀⠀⠀⠀⠀⠉⠉⠉⠀⠀⠀⠀⣠⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⠿⠛⢉⡿⠉ |
|
⠀⠸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢨⠇⠹⣷⣀⠀⠀⢀⡿⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣰⣿⣿⣿⣀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣷⣿⣿⣿⣿⠿⢋⣁⣤⠾⠋ |
|
⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠀⠀⢈⣿⠉⠉⠉⠀⠀⠀⣀⣀⣰⣦⣶⣾⡿⣻⣿⣿⣿⡟⠈⠙⢓⣦⣴⣾⣿⣿⣿⣿⣿⣿⠟⠛⠉⠉⠉⠁ |
|
⠀⠀⢸⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠀⢀⣴⣿⡇⠀⠀⠀⠀⢰⡿⢛⣛⣳⢽⣦⢀⣴⣿⣿⣿⠟⣀⣴⣞⣯⣿⣿⣿⣿⣿⡿⠟⠉ |
|
⠀⠀⠀⠛⠁⠀⠀⠀⠀⠠⠤⠤⠤⠤⠤⠤⠤⣄⡀⠀⠀⠀⢠⡞⢀⣴⣿⣿⣿⡇⠀⠀⠀⠀⠘⡏⠉⠀⠈⠉⢻⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⡟⠋⠉⡟⠁ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣷⠃⠀⠀⠀⢈⣹⣿⣿⣿⣿⣿⣇⡂⠀⠀⠀⠀⣯⠀⠀⠀⣀⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣛⣁⣀⡼⠃ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡟⠀⠀⠀⣀⣴⣿⣿⣿⣿⡿⠷⠷⣿⡘⠀⠀⠀⠀⣿⣦⣷⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠻⡍⠉⠉⠁ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠇⠀⢀⡾⠛⠉⠁⠀⠀⠀⠀⠀⣾⣿⣧⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠀⠀⠀⠠⡽⣦ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠇⢀⢤⠞⡱⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣷⣄⣀⣤⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⢼⢷⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⣿⢠⠇⠀⠀⠀⠀⠀⠀⢀⣴⣶⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣤⡤⣄⠀⠀⠀⠀⠀⠀⠲⠻⣆ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢸⠀⠀⠀⠀⠀⠀⠀⠸⣄⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⢻⡄ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡸⡄⠀⠀⠀⠀⠀⠀⠀⠙⢧⣨⠟⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⡇ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⢣⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⢀⣤⣿⣿⣿⣿⠿⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡇ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⢧⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⠟⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡿⠃ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢯⡳⡄⠀⠀⠀⣠⣾⣿⣽⡿⠛⢡⣾⠏⠀⠀⠀⢀⣀⣠⣤⠤⠤⠤⢤⢤⣀⠀⢀⣤⠾⣟⡁ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠾⣶⣤⣀⡙⠾⠋⠁⢀⣠⡿⢃⣀⣤⠶⠛⠋⠉⠀⠀⠀⠀⠀⠙⢦⣀⠀⠀⢀⢀⣀⡻⠷⣦⡀ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⠷⣶⣶⢿⣟⠋⣀⢄⣴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠲⠶⠦⠿⠷⠛⠁ |
|
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡋⣱⣏⣡⠽⠟⠋⠁ |
|
|
|
Всё пройдёт, точно майские грозы |
|
Чьи-то слёзы, два пальца у рта |
|
Как мандат охуевшего единоросса |
|
Как допрос, как усмешка мента |
|
Как Лефортовские коридоры |
|
Как Беслан, как Норд-Остовский газ |
|
Федеральная свора бездушных майоров |
|
Севастополь, Донецк и Луганск |
|
[Припев] Это точно пройдёт |
|
Это точно пройдёт |
|
С пакетом мокрым на голове |
|
С электрометками на руке |
|
Моя Россия сидит в тюрьме |
|
Но верь же мне: это пройдёт |
|
Какой же чёрный нам выпал век |
|
А мне мерещится вдалеке |
|
Живой надежды забытый свет |
|
[Куплет 2] Так верь же мне: это точно пройдёт |
|
Словно свастика русского мира |
|
Как пожары в сибирских лесах |
|
Срок для честных ребят из Пензы и Питера |
|
Набитый детьми автозак |
|
И из ящика врущая нечисть |
|
228 и шмон в пять утра |
|
Как омоновец, храбро калечащий женщин |
|
Как декабрь, январь и февраль |
|
[Припев] Это точно пройдёт |
|
Это точно пройдёт |
|
С пакетом мокрым на голове |
|
С электрометками на руке |
|
Моя Россия сидит в тюрьме |
|
Но верь же мне: это пройдёт |
|
Какой же чёрный нам выпал век |
|
А мне мерещится вдалеке |
|
Живой надежды забытый свет |
|
Так верь же мне: это точно пройдёт |
|
|
|
[Гитарное соло] |
|
|
|
|
|
████████ ▐▓███▐ ▐█████▐ ██ ██ ▐▓███▐ ██ ██ ▐██ ▓██████ ▐█▐ ▐██ ▐██ ▐█▐ ▓█ |
|
██▐▐▐▐██ ▐██▐▐██ ▐█▐▐▐██▐ █▎ ██ ▐██▐▐██ ▓████▐ ██ ███ ▓▎▐▐▐██ ▐█▐ ▐██▏ ▐██▐ ▐█▐ ▓▎ |
|
█▎ ██ ▐█▐ ▐█▏ ▐█▐ █▎ █▎ ██ ▐█▐ ▐█▏ ▓██████░ ██ ▐███ ▓▎ ██ ▐█▐ ▐██▒ ███▐ ▐█▐ ▓▎ |
|
█▎ ██ ▓▎ █▒ ▐█▐ ▓█ █▎ ██ ▓▎ █▒ ██ ██ █▎ ██ ▓███ ▓▎ ██ ▐█▐ ▐█▐▎ ▐▎██▐ ▐█▐ ▓▎ |
|
█▎ ██ ██ █▎ ▐█▐ ▓▎ █▎ ██ ██ █▎ ▐█▏ ██ ▐█▐ ██ ▐█▏██ ▓▎ ██ ▐█▐▐▐ ▐█▐█▏▓▒▐█▐ ▐█▐ ▓▎ |
|
█▎ ██ ██ █▎ ▐█▐ ▓██ ████████ ██ █▎ ▐█▏ ██ ▐█▐ ██ ▐▎ ██ ▓▎ ██ ▐██████ ▐█▐▐▒█▏▐█▐ ▐████▐ ▓▎ |
|
█▎ ██ ██ █▎ ▐██████▐ █▎▐▐▐▐██ ██ █▎ ▐█▏ ██ ▐█▐ ██ █▏ ██ █▎ ██ ▐█▐▐▐██▏ ▐█▐▐█▎ ▐█▐ ▐█▐▐██ ▓▎ |
|
█▎ ██ ██ █▎ ▐█▐▐▐▐ █▎ ██ ██ █▎ ▐█▏ ██ ▐█▐ ██▐▎ ██ █▎ ██ ▐█▐ █▎ ▐█▐ █▒ ▐█▐ ▐█▐ ▐█▏▓▎ |
|
█▎ ██ █▎ █▒ ▐█▐ █▎ ██ █▎ █▒ █▒ ██ ▓▎ ██▓▒ ██ █▎ ██ ▐█▐ ▓█ ▐█▐ ▐█▐ ▐█▐ ▐█▏▓▎ |
|
█▎ ██ ▓█▐ ▐█▏ ▐█▐ █▎ ██ ▓█▐ ▐█▏ ▐██████░ ███▐ ██ ▐█▒ ██ ▐█▐ █▎ ▐█▐ ▐█▐ ▐█▐ ▐█▏▓▎ |
|
█▎ ██ ▐██▐▐▓█ ▐█▐ █▎ ██ ▐██▐▐▓█ ▐▐██░▐ ██▎ ██ ▐██░ ██ ▐██▓▓██░ ▐█▐ ▐█▐ ▐██▓██ ▓▎ |
|
██ ██ ▐████▐ ▐█▐ ██ ██ ▐████▐ ██ ██░ █▒ ██▐ █▒ ▐█████▐ ▐█▐ ▐█▐ ▐███░▐ ██ |
|
▐▐ ▐▐ |
|
|
|
|
|
▓░ ▓░ |
|
▐████▐ ████████ ▐████ ▐█▐ █▐ |
|
█░▐▐██▐ ██▐▐▐▐██ ▐▐▐ ▐█▏ █▐ |
|
█▎ ▐▐ █▎ ██ ▐ ▐▐ ▐▐ |
|
▐█▐ ▐██████▐ ▐████▐ █▎ ██ ▐█▐███▐ ▐████▐ ▐█▐ ▐█▏ ██████ ▐▓███▐ ▐██████▐ |
|
▐█▏ ▐▐██▐▐ ▐██▐▐██▐ █▎ ██ ▐██▐▐██▐ ▐██▐▐██▐ ▐█▐ ██▏ ██▐▐█▎ ▐██▐▐██▐ ▐▐██▐▐ |
|
██████▏ ▓█ ▓▎▐ ▐█▏ █▎ ██ ▐█▏ █▏ ▓▎▐ ▐█▏ ▐█▐ ▓██▏ █▒ ▐▎ ▓▎ █▒ ▓█ |
|
██████░ ▓█ █▎ █▒ █▎ ██ ▐█▐ ██ █▎ █▒ ▐█▐▐█░█▏ █▒ ▐▎ █▒▓▓▓▓▓▎ ▓█ |
|
▐█▏ ▓█ ██ ██ █▎ ██ ▐█▐ █▎ ██ ██ ▐█▐▓█▐█▏ █▐ ▐▎ ███████▎ ▓█ |
|
▐█▐ ▓█ █▎ █▒ █▎ ██ ▐█▐ ██ █▎ █▒ ▐███▐▐█▏ █▏ ▐▎ █▒ ▓█ |
|
▓▎ ▓█ ▓▎▐ ▐█▏ █▎ ██ ▐█▏ █▏ ▓▎▐ ▐█▏ ▐██▏ ▐█▏ █▏ ▐▎ ▓▎ ▓█ |
|
█▐▐▐▓█░ ▓█ ▐██▐▐▓█▐ █▎ ██ ▐██▐▐▓█▐ ▐██▐▐▓█▐ ▐██ ▐█▏ ▓█▏▐▐▓▎▐ ▐██▐▐▐▓░ ▓█ |
|
█████▐ ██ ▐████▐ ██ ██ ▐█▐███░ ▐████▐ ▐█░ ▐█▏ ███████▎ ▐█████▐ ██ |
|
▐▐ ▐▐ ▐█ ▐ ▐▐ █▐ ▐▎ ▐ |
|
|
|
[Бридж] |
|
|
|
Всё пройдёт, всё проходит когда-то |
|
Будет год, будет день, будет миг |
|
В одиночестве в морге вчерашний диктатор |
|
А теперь просто мёртвый старик |
|
И с петель срежут двери в Лефортово |
|
И Россия воспрянет от сна |
|
Малазийским истерзанным, взорванным бортом |
|
[Припев] В твою ледяную избушку ворвётся весна |
|
Это точно пройдёт |
|
С пакетом мокрым на голове |
|
С электрометками на руке |
|
Моя Россия сидит в тюрьме |
|
Но верь же мне: это пройдёт |
|
Какой же чёрный нам выпал век |
|
А мне мерещится вдалеке |
|
Живой надежды забытый свет |
|
Так верь же мне: это точно пройдёт |
|
`); |