• Rewind
  • Restart
  • Bookmark
  • This story was created with Twine and is powered by TiddlyWiki
<<if (random(0,30) < turns())>><div class="glitch" data-text="The host UNDEFINED connection was interrupted before their consciousness could be uploaded to our server. W̞̹e͝ ̶͈̫̥h̖e̡̘͇͍̹̝̥̺re̲͈̤ ͟a̩͉͉͔͉̺̮t͏̠̞̦ ̲̤̱̠̞͕̭E̜̲̪C͓H͙͔̗̗̟̙̭OS ̮̗̲͉̺̯̱͝c̶a͚̣̙͖͟n̝̠ ͈͇̯̣̮̹ò̮̼n̳̻̹͉͍̝͚͝l̬̤̙̤̲y̫̣ ͏̩͈̺͚e̵n̫̞̖̥̣̙ͅs̲̹̰͢u͙̝̤̣̦̫̙͠r̲̬͙̬̖̘͠e̙̬͜ ̹̖͕̮͔͉̲a̡͉̪͈̟̲ ̞̱s̮̦̗̻͎͝uc̱̳̤̼̤̥̺͟c͇̞͚e͚̻̺̲̖s̳̘͉̞̦̰̤s͉͕̙̻͉̠f̥̠̯̤̪͝u̻̮͎l̜͎͖͈ ̞͟up͏͈̣͈͍̥̫l͏o͎͇̺a̗̟̯̰̫͝d̺̩ͅ ͉̩o̶͙̺͚͓n̟̺̹̦͙̘̲ ͇͇͕̪͔́o̴̺̙̫̘̩̲ͅur͟ ͇̣͞s̡̙̫̪̖ͅe̬̣̱͈̘̗r̦̼̬̩̦͕͚v̷̼e̟̠̤̳͓̤r̸̯͕s͕ͅͅ. ̡̩͙W͕ͅę̩ ̤̭̳͔̳̟̭hà̗v͉̖̣̭̮e͖̤̫̲̬̙ ͓̖̟̩̜̕n͚̻̲̱͇̘o̶͚͎̬̬̪̲̝ ̛̺̜̹w҉̺a̖̱̜y͏̱͍̜̖͈͕ ͔̘̺o̵̜f̸̲̦ ̨̙̖v̞̖̼̜̬͖̩͡e̠̭͓r̗i̺̭͓̦̱͔f̯̻y̛̼̪͕̯i̝͇͉n̙̙g̮̘̤͠ a͕̘̬̯̱͍͠ ̨w̖͙̹̟̪h̷̞̥̜̥͖ǫ͈͉̮l̶̩͙̪͇̯e̬͓͍͇̤͘ͅ ̠͔̻͎͡c̗̝̠͍͟o̻̹̳͟n͓̫̠̘̳̟͓s̪͇̗͘c̗̞̜̯͕͍̺i҉͈̭o̯̥͞u͇̲͈̘s̖n̖̫̬ȩs͚̮͜s̷̺,̯̯͖̙͓ ͎̱w̵͈͈̰e͖͓ ̪̥͓̦̮͡ͅw̭̪i̶l͎̤̟͡ḷ̗͚̥̲ ͎̟̞ḇ͇̘e̱͜g̹̹̗͎͖̬͡in̟̰̜̰̣̬͢ ̱̹̲̝͔̠̕ͅá̳̙ ̝d̦̰̗̰̩̣e̳̲̳̱̞̞ͅḷ̵͉̳͎̩e̗̩̩͔̦t̠͡i̹̗͔͚ͅo̙̱̘͍n̷͓̮̩̩ ͔͉͡p͏̭͇̲̗ṟ̻̞̫̳o̜̥̫͕͈̙͉c̘͙̣̺̬̳̩͘e͙̫̫̤̱͞s̷̹s̳͍̺͎ ̮̹̕o̼̼͚̫͖̥f҉̣̙ ̦̤͕̩̗͟ț̵̝̟h̢͉̫̹̩͓e̵̲͍̦ ̤̘̬̳ͅc̗o̘̝r͖͕r͓̬͉̖̭ú͇͙̟̘̫̹̼p̛̣̞ț̩͝ed̲͖̱̪̲ͅ ͝u҉͙̯̯͉p͖̻̼̦̤l͖̼̥̤͖͞ͅo̟̰͡ḁ̛̮̝͍̳d̦͇͙͇̣̹.̮͚ͅ ̡̮͈̘̞͍̙I̹͓̝f͈̘͡ ̗͙̪̞͖͎̖͝yo̘͓̰̖̼̬̝͜u̷̖̪̗̟ ͓͉̳̞͙̗̩́f̟͇͔̀e̳͉̘̥͖̗e̵̱̼̺̥̖̤l̸̪͙̱ ͈̦̹̩̜̣̮t͇̼̝̦̩̰̗͘h̛͎̗is̼̤̭ ̙̭͡i̖s͎̼͍̺̠̥̣ ҉̥̦̥i̬̗̣͕̲̣n̟͟ ̲̥e̷r̜̱̺͔̲̹͡r͚͡o̯̫͓r͕͔̻̳,͚͜ ̙͉̳͚̙͠ͅp̦̖̖͚̣̩l̵͓͕͙̱̫̼͓e͚͎̪̖͉̬̪a̬͔͉͓͚͙̲͞s̛̖̘̹͙͚̖e҉͓̖͚ ҉̭̮̘̬̥̟a̞̺̩̜t͚͍͖̗̰̮ͅț̲̟̹e̗̮͕̕m͓p̯͙͝t̫͔͚̟̬̠̻ ̶̯̣͎t̡ò͙̳̣̣̞͖ ̻͎̦̺S͓̼͙̙͓̞͜ͅE̤͈̯̳̹̫̟͟CU͏̯͓͈̹R͠E̼̦͙̜̼͜ͅ">The host USERNAME’s connection was interrupted before their consciousness could be uploaded to our server. At ech.OS can only ensure a successful upload on our servers. We have no way of verifying a whole consciousness, we will begin a deletion process of the corrupted upload. If you feel this is in error, please attempt to SECURE.</div><<else>>The host USERNAME’s connection was interrupted before their consciousness could be uploaded to our server. We here at ECHOS can only ensure a successful upload on our servers. We have no way of verifying a whole consciousness, we will begin a deletion process of the corrupted upload. If you feel this is in error, please attempt to SECURE.<<endif>>\n\n[[Back|Messages]]\n
/* Your story will use the CSS in this passage to style the page.\nGive this passage more tags, and it will only affect passages with those tags.\nExample selectors: */\n\n.passage {\n\t/* This only affects passages */\n\t\n\t \n}\n.passage a {\n\t/* This affects passage links */\n\tcolor: green;\n\tfont-size: 20px;\n\t\n}\n.passage a:hover {\n\t/* This affects links while the cursor is over them */\n\tcolor: white;\n\tfont-size: 20px;\n\t\n}\n\n.textbox { \n border: 1px dashed #000000; \n outline:0; \n height:25px; \n width: 275px;\n color: green;\n background: black;\n } \n\n.revision-span-in {\n\topacity: 0;\n}\n.revision-span:not(.revision-span-out) {\n\ttransition: 1s; -webkit-transition: 1s;\n}\n.revision-span-out {\n\tposition:absolute;\n\topacity: 0;\n}\n\nbody {\n background: black;\n color: white;\n font-size: 20px;\n font-family: 'Varela', sans-serif;\n}\n\n.glitch {\n color: white;\n font-size: 20px;\n position: relative;\n width: 400px;\n margin: 0 auto;\n}\n\n@keyframes noise-anim {\n 0% {\n clip: rect(46px, 9999px, 48px, 0);\n }\n 5% {\n clip: rect(49px, 9999px, 44px, 0);\n }\n 10% {\n clip: rect(96px, 9999px, 22px, 0);\n }\n 15.0% {\n clip: rect(19px, 9999px, 85px, 0);\n }\n 20% {\n clip: rect(68px, 9999px, 95px, 0);\n }\n 25% {\n clip: rect(7px, 9999px, 91px, 0);\n }\n 30.0% {\n clip: rect(82px, 9999px, 63px, 0);\n }\n 35% {\n clip: rect(90px, 9999px, 12px, 0);\n }\n 40% {\n clip: rect(69px, 9999px, 1px, 0);\n }\n 45% {\n clip: rect(76px, 9999px, 20px, 0);\n }\n 50% {\n clip: rect(9px, 9999px, 56px, 0);\n }\n 55.0% {\n clip: rect(38px, 9999px, 52px, 0);\n }\n 60.0% {\n clip: rect(63px, 9999px, 78px, 0);\n }\n 65% {\n clip: rect(47px, 9999px, 25px, 0);\n }\n 70% {\n clip: rect(38px, 9999px, 10px, 0);\n }\n 75% {\n clip: rect(52px, 9999px, 17px, 0);\n }\n 80% {\n clip: rect(52px, 9999px, 34px, 0);\n }\n 85.0% {\n clip: rect(40px, 9999px, 64px, 0);\n }\n 90% {\n clip: rect(39px, 9999px, 4px, 0);\n }\n 95% {\n clip: rect(31px, 9999px, 57px, 0);\n }\n 100% {\n clip: rect(78px, 9999px, 70px, 0);\n }\n}\n.glitch:after {\n content: attr(data-text);\n position: absolute;\n left: 2px;\n text-shadow: -1px 0 red;\n top: 0;\n color: white;\n background: black;\n overflow: hidden;\n clip: rect(0, 900px, 0, 0);\n animation: noise-anim 2s infinite linear alternate-reverse;\n}\n\n@keyframes noise-anim-2 {\n 0% {\n clip: rect(90px, 9999px, 37px, 0);\n }\n 5% {\n clip: rect(19px, 9999px, 67px, 0);\n }\n 10% {\n clip: rect(7px, 9999px, 8px, 0);\n }\n 15.0% {\n clip: rect(36px, 9999px, 72px, 0);\n }\n 20% {\n clip: rect(81px, 9999px, 71px, 0);\n }\n 25% {\n clip: rect(10px, 9999px, 26px, 0);\n }\n 30.0% {\n clip: rect(31px, 9999px, 83px, 0);\n }\n 35% {\n clip: rect(36px, 9999px, 99px, 0);\n }\n 40% {\n clip: rect(12px, 9999px, 68px, 0);\n }\n 45% {\n clip: rect(24px, 9999px, 56px, 0);\n }\n 50% {\n clip: rect(67px, 9999px, 3px, 0);\n }\n 55.0% {\n clip: rect(75px, 9999px, 6px, 0);\n }\n 60.0% {\n clip: rect(56px, 9999px, 14px, 0);\n }\n 65% {\n clip: rect(3px, 9999px, 49px, 0);\n }\n 70% {\n clip: rect(49px, 9999px, 98px, 0);\n }\n 75% {\n clip: rect(88px, 9999px, 48px, 0);\n }\n 80% {\n clip: rect(37px, 9999px, 39px, 0);\n }\n 85.0% {\n clip: rect(35px, 9999px, 67px, 0);\n }\n 90% {\n clip: rect(73px, 9999px, 90px, 0);\n }\n 95% {\n clip: rect(46px, 9999px, 53px, 0);\n }\n 100% {\n clip: rect(68px, 9999px, 61px, 0);\n }\n}\n.glitch:before {\n content: attr(data-text);\n position: absolute;\n left: -2px;\n text-shadow: 1px 0 blue;\n top: 0;\n color: white;\n background: black;\n overflow: hidden;\n clip: rect(0, 900px, 0, 0);\n animation: noise-anim-2 3s infinite linear alternate-reverse;\n}
<div class="glitch" data-text="@##$Important* Error Log\snFWD: MOM\snNo Subject\snech.OS Memory System ®\sn@!$$#No Subject@#%%!$%@^$!#$%@^$%#^ ">Our dead are never dead to us, until we have forgotten them. - George Eliot</div>\n\n[[Back|Messages]]
<<if (random(0,30) < turns())>> <div class="glitch" data-text="Your connection was interrupted… please die again.">Your connection was interrupted… please try again.</div> <<else>>Your connection was interrupted… please try again.<<endif>>\n\n[[Continue|Main Menu]]\n
(function () {\n version.extensions['timedreplaceMacro'] = {\n major: 2,\n minor: 3,\n revision: 0\n };\n macros['timedcontinue'] = macros['timedinsert'] = macros['timedreplace'] = {\n handler: function (g, e, f, b) {\n function cssTimeUnit(s) {\n if (typeof s == "string") {\n if (s.slice(-2).toLowerCase() == "ms") {\n return Number(s.slice(0, -2)) || 0;\n }\n else if (s.slice(-1).toLowerCase() == "s") {\n return Number(s.slice(0, -1)) * 1000 || 0;\n }\n }\n throwError(g, s + " isn't a CSS time unit");\n return 0;\n }\n\n function tagcontents(starttag, endtag, k) {\n var a = b.source.slice(k);\n var l = 0;\n var c = "";\n for (var i = 0; i < a.length; i++) {\n var w = endtag.length;\n if (a.substr(i, w) == endtag) {\n if (l == 0) {\n b.nextMatch = k + i + w;\n return c;\n }\n else {\n l--;\n c += a.charAt(i);\n }\n }\n else {\n if (a.substr(i, starttag.length) == starttag) {\n l++;\n }\n c += a.charAt(i);\n }\n }\n return "";\n }\n var tr = "<<" + e;\n var rw = "<<replacewith>>";\n var etr = "<<end" + e + ">>";\n var k = b.source.indexOf('>>', b.matchStart) + 2;\n var c, d;\n\t if (e == "timedcontinue") {\n\t d = b.source.slice(k);\n\t\tb.nextMatch = k + d.length;\n\t }\n else if (e == "timedreplace") {\n c = tagcontents(tr, rw, k);\n d = tagcontents((c ? rw : tr), etr, c ? b.nextMatch : k);\n }\n else if (e == "timedinsert") {\n d = tagcontents(tr, etr, k);\n }\n else if (e == "timedremove") {\n c = tagcontents(tr, etr, k);\n }\n var tm;\n tm = cssTimeUnit(f[0]);\n var h;\n if (c) {\n if (d) {\n g = insertElement(g, "span", null, "timedreplacements");\n }\n h = insertElement(g, "span", null, "timedreplacement timedremove");\n new Wikifier(h, c);\n if (d || e == "timedremove") {\n setTimeout(function () {\n h.classList.add("replacement-out");\n setTimeout(function () {\n h.parentNode.removeChild(h);\n }, 1000);\n }, tm);\n }\n }\n if (d) {\n var m = insertElement(g, "span", null, "timedreplacement timedinsert", d);\n m.style.display = "none";\n setTimeout(function () {\n if (m) {\n var t = m.firstChild ? m.firstChild.nodeValue : "";\n removeChildren(m);\n new Wikifier(m, t);\n m.style.display = "inline";\n m.classList.add("replacement-in");\n setTimeout(function () {\n m.classList.remove("replacement-in");\n }, 1);\n scrollWindowTo(m);\n }\n }, tm);\n }\n else if (!c && e != "timedremove") {\n throwError(g, "can't find matching end" + e);\n return;\n }\n }\n }\n macros['timedremove'] = macros['timedreplace'];\n macros['replacewith'] = macros['endtimedinsert'] = macros['endtimedremove'] = macros['endtimedreplace'] = {\n handler: function () {}\n }\n scrollWindowTo=function(E){var D=window.scrollY?window.scrollY:document.body.scrollTop;\n var G=J(E);if(!G){return;}var C=Math.abs(D-G);var B=0;var I=(D>G)?-1:1;var F=window.setInterval(H,25);\n function H(){B+=0.1;window.scrollTo(0,D+I*(C*Math.easeInOut(B)));if(B>=1){window.clearInterval(F);\n }}function J(N){var O=A(N);var P=O+N.offsetHeight;var K=window.scrollY?window.scrollY:document.body.scrollTop;\n var L=window.innerHeight?window.innerHeight:document.body.clientHeight;var M=K+L;\n if(O>=K){if(P>M){if(N.offsetHeight<L){return(O-(L-N.offsetHeight)+20);}else{return O;\n }}}}function A(K){var L=0;while(K.offsetParent){L+=K.offsetTop;K=K.offsetParent;}return L;\n }};\n}());
<<if (random(0,30) < turns())>><div class="glitch" data-text="HELP ME">MENU</div><<else>>MENU<<endif>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="bad sector#3241">[[Secure ROM]]</div><<else>>[[Secure ROM]]<<endif>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="bad sector#4044">[[Messages]]</div><<else>>[[Messages]]<<endif>>\n
//requires jquery\ntry {\n version.extensions['glitch'] = { \n major:1, minor:0, revision:0 \n };\n macros['glitch'] = {\n handler: function(place, macroName, params, parser) {\n var theText;\n\t$('p,h1,h2,h3,h4,h5').each(function(){\n\t\ttheText += $(this).text();\n\t});\n\tnew Wikifier(place, theText);\n },\n init: function() { },\n };\n} catch(e) {\n throwError(place,"macrodemo Setup Error: "+e.message); \n}
<a href = "https://en.wikipedia.org/wiki/Athazagoraphobia">"https://en.wikipedia.org/wiki/Athazagoraphobia"</a>\n<a href = "http://en.wikipedia.org/wiki/Read-only_memory">"http://en.wikipedia.org/wiki/Read-only_memory"</a>\n\n[[Back|Messages]]
<<if (random(0,30) < turns())>><div class="glitch" data-text="Acessing messages...">Acessing messages...</div><<else>>Acessing messages...<<endif>>\n<<timedcontinue 1s>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="@##$Important*">[[Important* Error Log|Error Log]]</div><<else>>[[Important* Error Log|Error Log]]<<endif>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="FWD: ME">[[FWD: MOM]]</div><<else>>[[FWD: MOM]]<<endif>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="N0 Subj3c1">[[No Subject]]</div><<else>>[[No Subject]]<<endif>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="ECHOS M3m0ry Syst3m">[[ech.OS Memory System ®|ECHOS Memory System]]</div><<else>>[[ech.OS Memory System ®|ECHOS Memory System]]<<endif>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="N͞o̫̜̝͚͇̙̖ ̻Su̶̪̣̝͖̘b̗͎̯͓̰̣j̙̯͙̺e̤̣̬̼c̼̮̩͇̫̙͝t͕̫͕̦̺">[[No Subject|No Subject 2]]</div><<else>>[[No Subject|No Subject 2]]<<endif>>\n[[Main Menu]]
<<if (visited() > 1)>>\nSeveral failed logins have been noted, have you forgotten you USERNAME or Password?\n \nUSERNAME HINT<<revision user>>:<<becomes>>: You use this for everything<<set $button=true>><<endrevision>>\n<<revise user "Reveal">>\n\nPASSWORD HINT<<revision pass>>:<<becomes>>: Gone, but<<set $button=true>><<endrevision>>\n<<revise pass "Reveal">>\n\n[[Try Again|Secure ROM]]\n[[Main Menu]]\n<<else>>\n<<timedgoto "Secure ROM" 0s>>\n<<endif>>
<<if ($UserName eq "Molly.gm") and ($Password eq "not forgotten")>>\nUpload Complete…\n\t\t\t<<timedinsert 1s>>\nCongratulations, your essence has been recorded in our server! For your records, your consciousness was located at location: \n\t\t\t<<endtimedinsert>>\n\t\t\t<<timedgoto "Start" 4s>>\n<<else>>\nIncorrect USERNAME or PASSWORD. Unauthorized entry was noted.\n<<timedgoto "Lock out" 4s>>\n<<endif>>\n\n
<h1><center><<set alert("ERROR")>></center></h1>\n\n<<timedgoto "Error Message 1" 0s>>
(function(){version.extensions.replaceMacrosCombined={major:1,minor:1,revision:5};var nullobj={handler:function(){}};\nfunction showVer(n,notrans){if(!n){return}n.innerHTML="";new Wikifier(n,n.tweecode);n.setAttribute("data-enabled","true");\nn.style.display="inline";n.classList.remove("revision-span-out");if(!notrans){n.classList.add("revision-span-in");\nif(n.timeout){clearTimeout(n.timeout)}n.timeout=setTimeout(function(){n.classList.remove("revision-span-in");\nn=null},1)}}function hideVer(n,notrans){if(!n){return}n.setAttribute("data-enabled","false");n.classList.remove("revision-span-in");\nif(n.timeout){clearTimeout(n.timeout)}if(!notrans){n.classList.add("revision-span-out");n.timeout=setTimeout(function(){if(n.getAttribute("data-enabled")=="false"){n.classList.remove("revision-span-out");\nn.style.display="none";n.innerHTML=""}n=null},1000)}else{n.style.display="none";n.innerHTML="";n=null\n}}function tagcontents(b,starttags,desttags,endtags,k){var l=0,c="",tg,a,i;function tagfound(i,e,endtag){for(var j=0;\nj<e.length;j++){if(a.indexOf("<<"+e[j]+(endtag?">>":""),i)==i){return e[j]}}}a=b.source.slice(k);for(i=0;\ni<a.length;i++){if(tg=tagfound(i,starttags)){l++}else{if((tg=tagfound(i,desttags,true))&&l==0){b.nextMatch=k+i+tg.length+4;\nreturn[c,tg]}else{if(tg=tagfound(i,endtags,true)){l--;if(l<0){return null}}}}c+=a.charAt(i)}return null\n}var begintags=[];var endtags=[];function revisionSpanHandler(g,e,f,b){var k=b.source.indexOf(">>",b.matchStart)+2,vsns=[],vtype=e,flen=f.length,becomes,c,cn,m,h,vsn;\nfunction mkspan(vtype){h=insertElement(m,"span",null,"revision-span "+vtype);h.setAttribute("data-enabled",false);\nh.style.display="none";h.tweecode="";return h}if(this.shorthand&&flen){while(f.length>0){vsns.push([f.shift(),(this.flavour=="insert"?"gains":"becomes")])\n}}else{if(this.flavour=="insert"||(this.flavour=="continue"&&this.trigger=="time")){vsns.push(["","becomes"])\n}}if(this.flavour=="continue"&&flen){b.nextMatch=k+b.source.slice(k).length;vsns.push([b.source.slice(k),vtype])\n}else{becomes=["becomes","gains"];c=tagcontents(b,begintags,becomes.concat(endtags),endtags,k);if(c&&endtags.indexOf(c[1])==-1){while(c){vsns.push(c);\nc=tagcontents(b,begintags,becomes,endtags,b.nextMatch)}c=tagcontents(b,begintags,["end"+e],endtags,b.nextMatch)\n}if(!c){throwError(g,"can't find matching end"+e);return}vsns.push(c);if(this.flavour=="continue"){k=b.nextMatch;\nb.nextMatch=k+b.source.slice(k).length;vsns.push([b.source.slice(k),""])}}if(this.flavour=="remove"){vsns.push(["","becomes"])\n}cn=0;m=insertElement(g,"span",null,e);m.setAttribute("data-flavour",this.flavour);h=mkspan("initial");\nvsn=vsns.shift();h.tweecode=vsn[0];showVer(h,true);while(vsns.length>0){if(vsn){vtype=vsn[1]}vsn=vsns.shift();\nh=mkspan(vtype);h.tweecode=vsn[0]}if(typeof this.setup=="function"){this.setup(m,g,f)}}function quantity(m){return(m.children.length-1)+(m.getAttribute("data-flavour")=="remove")\n}function revisionSetup(m,g,f){m.className+=" "+f[0].replace(" ","_")}function keySetup(m,g,f){var key=f[0];\nm.setEventListener("keydown",function l(e){var done=!revise("revise",m);if(done){m.removeEventListener("keydown",l)\n}})}function timeSetup(m,g,f){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return Number(s.slice(0,-2))||0\n}else{if(s.slice(-1).toLowerCase()=="s"){return Number(s.slice(0,-1))*1000||0}}}throwError(g,s+" isn't a CSS time unit");\nreturn 0}var tm=cssTimeUnit(f[0]);setTimeout(function timefn(){var done=!revise("revise",m);if(!done){setTimeout(timefn,tm)\n}},tm)}function hoverSetup(m){var fn,noMouseEnter=(document.head.onmouseenter!==null),m1=m.children[0],m2=m.children[1],gains=m2.className.indexOf("gains")>-1;\nif(!m1||!m2){return}m1.onmouseenter=function(e){var efp=document.elementFromPoint(e.clientX,e.clientY);\nwhile(efp&&efp!==this){efp=efp.parentNode}if(!efp){return}if(this.getAttribute("data-enabled")!="false"){revise("revise",this.parentNode)\n}};m2.onmouseleave=function(e){var efp=document.elementFromPoint(e.clientX,e.clientY);while(efp&&efp!==this){efp=efp.parentNode\n}if(efp){return}if(this.getAttribute("data-enabled")!="false"){revise("revert",this.parentNode)}};if(gains){m1.onmouseleave=m2.onmouseleave\n}if(noMouseEnter){fn=function(n){return function(e){if(!event.relatedTarget||(event.relatedTarget!=this&&!(this.compareDocumentPosition(event.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY))){this[n]()\n}}};m1.onmouseover=fn("onmouseenter");m2.onmouseout=fn("onmouseleave");if(gains){m1.onmouseout=m2.onmouseout\n}}m=null}function mouseSetup(m){var evt=(document.head.onmouseenter===null?"onmouseenter":"onmouseover");\nm[evt]=function(){var done=!revise("revise",this);if(done){this[evt]=null}};m=null}function linkSetup(m,g,f){var l=Wikifier.createInternalLink(),p=m.parentNode;\nl.className="internalLink replaceLink";p.insertBefore(l,m);l.insertBefore(m,null);l.onclick=function(){var p,done=false;\nif(m&&m.parentNode==this){done=!revise("revise",m);scrollWindowTo(m)}if(done){this.parentNode.insertBefore(m,this);\nthis.parentNode.removeChild(this)}};l=null}function visitedSetup(m,g,f){var i,done,shv=state.history[0].variables,os="once seen",d=(m.firstChild&&(this.flavour=="insert"?m.firstChild.nextSibling:m.firstChild).tweecode);\nshv[os]=shv[os]||{};if(d&&!shv[os].hasOwnProperty(d)){shv[os][d]=1}else{for(i=shv[os][d];i>0&&!done;i--){done=!revise("revise",m,true)\n}if(shv[os].hasOwnProperty(d)){shv[os][d]+=1}}}[{name:"insert",flavour:"insert",trigger:"link",setup:linkSetup},{name:"timedinsert",flavour:"insert",trigger:"time",setup:timeSetup},{name:"insertion",flavour:"insert",trigger:"revisemacro",setup:revisionSetup},{name:"later",flavour:"insert",trigger:"visited",setup:visitedSetup},{name:"keyinsert",flavour:"insert",trigger:"key",setup:keySetup},{name:"replace",flavour:"replace",trigger:"link",setup:linkSetup},{name:"timedreplace",flavour:"replace",trigger:"time",setup:timeSetup},{name:"mousereplace",flavour:"replace",trigger:"mouse",setup:mouseSetup},{name:"hoverreplace",flavour:"replace",trigger:"hover",setup:hoverSetup},{name:"revision",flavour:"replace",trigger:"revisemacro",setup:revisionSetup},{name:"keyreplace",flavour:"replace",trigger:"key",setup:keySetup},{name:"timedremove",flavour:"remove",trigger:"time",setup:timeSetup},{name:"mouseremove",flavour:"remove",trigger:"mouse",setup:mouseSetup},{name:"hoverremove",flavour:"remove",trigger:"hover",setup:hoverSetup},{name:"removal",flavour:"remove",trigger:"revisemacro",setup:revisionSetup},{name:"once",flavour:"remove",trigger:"visited",setup:visitedSetup},{name:"keyremove",flavour:"remove",trigger:"key",setup:keySetup},{name:"continue",flavour:"continue",trigger:"link",setup:linkSetup},{name:"timedcontinue",flavour:"continue",trigger:"time",setup:timeSetup},{name:"mousecontinue",flavour:"continue",trigger:"mouse",setup:mouseSetup},{name:"keycontinue",flavour:"continue",trigger:"key",setup:keySetup},{name:"cycle",flavour:"cycle",trigger:"revisemacro",setup:revisionSetup},{name:"mousecycle",flavour:"cycle",trigger:"mouse",setup:mouseSetup},{name:"timedcycle",flavour:"cycle",trigger:"time",setup:timeSetup},{name:"keycycle",flavour:"replace",trigger:"key",setup:keySetup}].forEach(function(e){e.handler=revisionSpanHandler;\ne.shorthand=(["link","mouse","hover"].indexOf(e.trigger)>-1);macros[e.name]=e;macros["end"+e.name]=nullobj;\nbegintags.push(e.name);endtags.push("end"+e.name)});function insideDepartingSpan(elem){var r=elem.parentNode;\nwhile(!r.classList.contains("passage")){if(r.classList.contains("revision-span-out")){return true}r=r.parentNode\n}}function reviseAll(rt,rname){var rall=document.querySelectorAll(".passage [data-flavour]."+rname),ret=false;\nfor(var i=0;i<rall.length;i++){if(!insideDepartingSpan(rall[i])){ret=revise(rt,rall[i])||ret}}return ret\n}function revise(rt,r,notrans){var ind2,curr,next,ind=-1,rev=(rt=="revert"),rnd=(rt.indexOf("random")>-1),fl=r.getAttribute("data-flavour"),rc=r.childNodes,cyc=(fl=="cycle"),rcl=rc.length-1;\nfunction doToGainerSpans(n,fn){for(var k=n-1;k>=0;k--){if(rc[k+1].classList.contains("gains")){fn(rc[k],notrans)\n}else{break}}}for(var k=0;k<=rcl;k++){if(rc[k].getAttribute("data-enabled")=="true"){ind=k}}if(rev){ind-=1\n}curr=(ind>=0?rc[ind]:(cyc?rc[rcl]:null));ind2=ind;if(rnd){ind2=(ind+(Math.floor(Math.random()*rcl)))%rcl\n}next=((ind2<rcl)?rc[ind2+1]:(cyc?rc[0]:null));var docurr=(rev?showVer:hideVer);var donext=(rev?hideVer:showVer);\nvar currfn=function(){if(!(next&&next.classList.contains("gains"))||rnd){docurr(curr,notrans);doToGainerSpans(ind,docurr,notrans)\n}};var nextfn=function(){donext(next,notrans);if(rnd){doToGainerSpans(ind2+1,donext,notrans)}};if(!rev){currfn();\nnextfn()}else{nextfn();currfn()}return(cyc?true:(rev?(ind>0):(ind2<rcl-1)))}macros.revert=macros.revise=macros.randomise=macros.randomize={handler:function(a,b,c){var l,rev,rname;\nfunction disableLink(l){l.style.display="none"}function enableLink(l){l.style.display="inline"}function updateLink(l){if(l.className.indexOf("random")>-1){enableLink(l);\nreturn}var rall=document.querySelectorAll(".passage [data-flavour]."+rname),cannext,canprev,i,ind,r,fl;\nfor(i=0;i<rall.length;i++){r=rall[i],fl=r.getAttribute("data-flavour");if(insideDepartingSpan(r)){continue\n}if(fl=="cycle"){cannext=canprev=true}else{if(r.firstChild.getAttribute("data-enabled")==!1+""){canprev=true\n}if(r.lastChild.getAttribute("data-enabled")==!1+""){cannext=true}}}var can=(l.classList.contains("revert")?canprev:cannext);\n(can?enableLink:disableLink)(l)}function toggleText(w){w.classList.toggle(rl+"Enabled");w.classList.toggle(rl+"Disabled");\nw.style.display=((w.style.display=="none")?"inline":"none")}var rl="reviseLink";if(c.length<2){throwError(a,b+" macro needs 2 parameters");\nreturn}rname=c.shift().replace(" ","_");l=Wikifier.createInternalLink(a,null);l.className="internalLink "+rl+" "+rl+"_"+rname+" "+b;\nvar v="";var end=false;var out=false;if(c.length>1&&c[0][0]=="$"){v=c[0].slice(1);c.shift()}switch(c[c.length-1]){case"end":end=true;\nc.pop();break;case"out":out=true;c.pop();break}var h=state.history[0].variables;for(var i=0;i<c.length;\ni++){var on=(i==Math.max(c.indexOf(h[v]),0));var d=insertElement(null,"span",null,rl+((on)?"En":"Dis")+"abled");\nif(on){h[v]=c[i];l.setAttribute("data-cycle",i)}else{d.style.display="none"}insertText(d,c[i]);l.appendChild(d)\n}l.onclick=function(){reviseAll(b,rname);var t=this.childNodes,u=this.getAttribute("data-cycle")-0,m=t.length,n,lall,i;\nif((end||out)&&u>=m-(end?2:1)){if(end){n=this.removeChild(t[u+1]||t[u]);n.className=rl+"End";n.style.display="inline";\nthis.parentNode.replaceChild(n,this)}else{this.parentNode.removeChild(this);return}}else{toggleText(t[u]);\nu=(u+1)%m;if(v){h[v]=c[u]}toggleText(t[u]);this.setAttribute("data-cycle",u)}lall=document.getElementsByClassName(rl+"_"+rname);\nfor(i=0;i<lall.length;i++){updateLink(lall[i])}};disableLink(l);setTimeout((function(l){return function(){updateLink(l)\n}}(l)),1);l=null}};macros.mouserevise=macros.hoverrevise={handler:function(a,b,c,d){var endtags=["end"+b],evt=(window.onmouseenter===null?"onmouseenter":"onmouseover"),t=tagcontents(d,[b],endtags,endtags,d.source.indexOf(">>",d.matchStart)+2);\nif(t){var rname=c[0].replace(" ","_"),h=insertElement(a,"span",null,"hoverrevise hoverrevise_"+rname),f=function(){var done=!reviseAll("revise",rname);\nif(b!="hoverrevise"&&done){this[evt]=null}};new Wikifier(h,t[0]);if(b=="hoverrevise"){h.onmouseover=f;\nh.onmouseout=function(){reviseAll("revert",rname)}}else{h[evt]=f}h=null}}};macros.instantrevise={handler:function(a,b,c,d){reviseAll("revise",c[0].replace(" ","_"))\n}};macros.endmouserevise=nullobj;macros.endhoverrevise=nullobj}());
<<if (random(0,30) < turns())>><div class="glitch" data-text="ech.OS M̪̘̝͚e̯͈m̴o̟̳͜r͕̘̘y̼̘̯͟ ̼̘͎̭S͉y͇̻͇̟̙̠ͅst̫ȩm ̴͉̺̻͎̗®̙͔͚̮">ech.OS Memory System ®</div><<else>>ech.OS Memory System ®<<endif>>\n<<if (random(0,30) < turns())>><div class="glitch" data-text="N͎͓̗̼̦ͅev̗̼͍̻̮͙̝e̮͎r̭̪̭̩ ̹̯̜͚̖͡f̗̘͔̙̲̜or̺͈͓̠̫͉̹ǵ̤͓͕͙e̥̺̟̳̱̟̦͞t͙̦͉͇͚ ͜y͖̻̼̱̺̭ọ̭̺͘u̥̼̙r̹̬̙̘͎̬͖͢ ̙̜͇̼l̻̬͔̬̣̗o̸v̪̦̞͇̖͓̠͝e̦̟͡d̳͚͎̺̲͝ ̤̗o̩̺̥n͕̭̗ͅe̷͓̺̗̭̼̜!̙͉͍̱͈̖̳͘ ̠W͏̫̩̪̘i̥̹t҉̩̬h͎̞̠ ͔̱é̗̞̟c̶̞͙h̰̗͍.͓̝̞̞̰̼͈OS ̴̖̰R̠̕O̕M̦ ͜M̞̯̠̲emọ͙r̛̟y̷̰̜̤ ̹̘̮͉̣͖͡s̙y̭s̸̩̱t̩͡em͍̙̙͍͍͙̩ ̻̫͔yo̵̠͖̟͎u̙̪͉̖͖ ca̲̳̗͞n̛̤̪ ̛̞͇̪̼p̫̙͎͢ͅr̡ͅes̪͇̰̹̰̘͎e̛̠r̘͎̲͎v̤̙͈̪̙͙e͕̯̻̼̬̠̭ t̞͎̥͖͍̩̩h̪̹͙̻e̟ ̰̱͍̺̞͈c̴o̸̲n͈͎͕̱͕͔͇s̳̻c̲i͓͓̦o̟̥͉͟u̩͚̹̹̠s̬̥̩̖͉͕n̯e̲̥͎͉͓͎s̴̥͉̩̰̳̰̥s͔̱͙ͅ ̡̗̩̤o̸̹͇̻͔̳͇f̺̣̻̟͢ ͔̞͈̮̠ͅa̰̻̬̠͍͜ ̬̝̮l̺̪͈̫̠̱̩͝o̙̲͡v̹̭͍͔̼e̤̘̺d̹ ̩̭̬̫͚̗͞o͇̥̯͇͕̹̞ṇ̷̮̥̙͈e̞̳͚̺͍͟ ̴̠̗̳t͉̝̩͎̖͕̮o͕͡d̦̪a̦̙̱̲͍̫y͇!̕">Never forget your loved one! With ech.OS ROM Memory system you can preserve the consciousness of a loved one today!</div><<else>>Never forget your loved one! With ech.OS ROM Memory system you can preserve the consciousness of a loved one today!<<endif>>\n[[Back|Messages]]
ech.OS
A story by Dennis Ramirez @dennisRamirez
To: Molly.gm@ECHOS.rom\nFrom: Jan.gm@GeeMail.com\nSubject: FWD: MOM\n\n>>Email\n>>To: Jan.gm@GeeMail.com\n>>From: Dan.gm@GeeMail.com\n>>Subject: MOM\n\n>>We’ll get mom’s consciousness uploaded tomorrow. The doctor\n>>says if everything goes well, we should be in good\n>>shape. If something goes wrong with the upload we may not have\n>>the chance to upload again.\n>>\tLove Dan\n\n[[Back|Messages]]
In order to upload your consciousness, please log in...\n<<timedcontinue 2s>>\nUsername:<<textinput $UserName>>\nPassword:<<textinput $Password>>\n<<button [[Submit|submit]]>>\n\n[[Main Menu]]
version.extensions.timedgotoMacro={major:1,minor:2,revision:0};\nmacros["goto"]=macros.timedgoto={timer:null,handler:function(a,b,c,d){function cssTimeUnit(s){if(typeof s=="string"){if(s.slice(-2).toLowerCase()=="ms"){return +(s.slice(0,-2))||0\n}else{if(s.slice(-1).toLowerCase()=="s"){return +(s.slice(0,-1))*1000||0\n}}}throwError(a,s+" isn't a CSS time unit");return 0}var t,d,m,s;\nt=c[c.length-1];d=d.fullArgs();m=0;if(b!="goto"){d=d.slice(0,d.lastIndexOf(t));\nm=cssTimeUnit(t)}d=eval(Wikifier.parse(d));if(d+""&&state&&state.init){if(macros["goto"].timer){clearTimeout(macros["goto"].timer)\n}s=state.history[0].passage.title;macros["goto"].timer=setTimeout(function(){if(state.history[0].passage.title==s){state.display(d,a)\n}},m)}}};
jquery:on\nmodernizr:off\nbookmark:off\nobfuscatekey:kwgcomjrpyhnxfdbezlqvuitsa\nundo:off\nobfuscate:off\n