// ==UserScript==
// @name EN reFRESH
// @namespace http://tampermonkey.net/
// @version 0.939
// @author Ton Lomakin [https://vk.com/lomakin.anton]
// @match *.en.cx/gameengines/encounter/play/*
// @match *.en.cx/admin/games/levels/preview/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_registerMenuCommand
// @grant GM_xmlhttpRequest
// @grant GM_addStyle
// @description try to take over the world!
// ==/UserScript==
function GM_configStruct(){arguments.length&&(GM_configInit(this,arguments),this.onInit())}function GM_configInit(a,c){if("undefined"==typeof a.fields&&(a.fields={},a.onInit=a.onInit||function(){},a.onOpen=a.onOpen||function(){},a.onSave=a.onSave||function(){},a.onClose=a.onClose||function(){},a.onReset=a.onReset||function(){},a.isOpen=!1,a.title="User Script Settings",a.css={basic:["#GM_config * { font-family: arial,tahoma,myriad pro,sans-serif; }","#GM_config { background: #FFF; }","#GM_config input[type='radio'] { margin-right: 8px; }","#GM_config .indent40 { margin-left: 40%; }","#GM_config .field_label { font-size: 12px; font-weight: bold; margin-right: 6px; }","#GM_config .radio_label { font-size: 12px; }","#GM_config .block { display: block; }","#GM_config .saveclose_buttons { margin: 16px 10px 10px; padding: 2px 12px; }","#GM_config .reset, #GM_config .reset a, #GM_config_buttons_holder { color: #000; text-align: right; }","#GM_config .config_header { font-size: 20pt; margin: 0; }","#GM_config .config_desc, #GM_config .section_desc, #GM_config .reset { font-size: 9pt; }","#GM_config .center { text-align: center; }","#GM_config .section_header_holder { margin-top: 8px; }","#GM_config .config_var { margin: 0 0 4px; }","#GM_config .section_header { background: #414141; border: 1px solid #000; color: #FFF;"," font-size: 13pt; margin: 0; }","#GM_config .section_desc { background: #EFEFEF; border: 1px solid #CCC; color: #575757; font-size: 9pt; margin: 0 0 6px; }"].join("\n")+"\n",basicPrefix:"GM_config",stylish:""}),1==c.length&&"string"==typeof c[0].id&&"function"!=typeof c[0].appendChild)var d=c[0];else for(var h,d={},f=0,g=c.length;f<g;++f){if(h=c[f],"function"==typeof h.appendChild){d.frame=h;continue}switch(typeof h){case"object":for(var k in h){if("function"!=typeof h[k]){d.fields=h;break}d.events||(d.events={}),d.events[k]=h[k]}break;case"function":d.events={onOpen:h};break;case"string":/\w+\s*\{\s*\w+\s*:\s*\w+[\s|\S]*\}/.test(h)?d.css=h:d.title=h;}}if(d.id?a.id=d.id:"undefined"==typeof a.id&&(a.id="GM_config"),d.title&&(a.title=d.title),d.css&&(a.css.stylish=d.css),d.frame&&(a.frame=d.frame),d.events){var m=d.events;for(var n in m)a["on"+n.charAt(0).toUpperCase()+n.slice(1)]=m[n]}if(d.fields){var o=a.read(),p=d.fields,q=d.types||{},r=a.id;for(var t in p){var u=p[t];u?a.fields[t]=new GM_configField(u,o[t],t,q[u.type],r):a.fields[t]&&delete a.fields[t]}}a.id!=a.css.basicPrefix&&(a.css.basic=a.css.basic.replace(new RegExp("#"+a.css.basicPrefix,"gm"),"#"+a.id),a.css.basicPrefix=a.id)}GM_configStruct.prototype={init:function(){GM_configInit(this,arguments),this.onInit()},open:function(){function a(g,h){var k=d.create,m=d.fields,n=d.id,o=k("div",{id:n+"_wrapper"});h.appendChild(k("style",{type:"text/css",textContent:d.css.basic+d.css.stylish})),o.appendChild(k("div",{id:n+"_header",className:"config_header block center"},d.title));var p=o,q=0;for(var r in m){var t=m[r],u=t.settings;u.section&&(p=o.appendChild(k("div",{className:"section_header_holder",id:n+"_section_"+q})),"[object Array]"!==Object.prototype.toString.call(u.section)&&(u.section=[u.section]),u.section[0]&&p.appendChild(k("div",{className:"section_header center",id:n+"_section_header_"+q},u.section[0])),u.section[1]&&p.appendChild(k("p",{className:"section_desc center",id:n+"_section_desc_"+q},u.section[1])),++q),p.appendChild(t.wrapper=t.toNode())}o.appendChild(k("div",{id:n+"_buttons_holder"},k("button",{id:n+"_saveBtn",textContent:"Save",title:"Save settings",className:"saveclose_buttons",onclick:function(){d.save()}}),k("button",{id:n+"_closeBtn",textContent:"Close",title:"Close window",className:"saveclose_buttons",onclick:function(){d.close()}}),k("div",{className:"reset_holder block"},k("a",{id:n+"_resetLink",textContent:"Reset to defaults",href:"#",title:"Reset fields to default values",className:"reset",onclick:function(v){v.preventDefault(),d.reset()}})))),g.appendChild(o),d.center(),window.addEventListener("resize",d.center,!1),d.onOpen(d.frame.contentDocument||d.frame.ownerDocument,d.frame.contentWindow||window,d.frame),window.addEventListener("beforeunload",function(){d.close()},!1),d.frame.style.display="block",d.isOpen=!0}var c=document.getElementById(this.id);if(!(c&&("IFRAME"==c.tagName||0<c.childNodes.length))){var d=this,f="bottom: auto; border: 1px solid #000; display: none; height: 75%; left: 0; margin: 0; max-height: 95%; max-width: 95%; opacity: 0; overflow: auto; padding: 0; position: fixed; right: auto; top: 0; width: 75%; z-index: 9999;";this.frame?(this.frame.id=this.id,this.frame.setAttribute("style",f),a(this.frame,this.frame.ownerDocument.getElementsByTagName("head")[0])):(document.body.appendChild(this.frame=this.create("iframe",{id:this.id,style:f})),this.frame.src="about:blank",this.frame.addEventListener("load",function(){var h=d.frame,k=h.contentDocument.getElementsByTagName("body")[0];k.id=d.id,a(k,h.contentDocument.getElementsByTagName("head")[0])},!1))}},save:function(){var a=this.write();this.onSave(a)},close:function(){this.frame.contentDocument?(this.remove(this.frame),this.frame=null):(this.frame.innerHTML="",this.frame.style.display="none");var a=this.fields;for(var c in a){var d=a[c];d.wrapper=null,d.node=null}this.onClose(),this.isOpen=!1},set:function(a,c){this.fields[a].value=c,this.fields[a].node&&this.fields[a].reload()},get:function(a,c){var d=this.fields[a],f=null;return c&&d.node&&(f=d.toValue()),null==f?d.value:f},write:function(a,c){if(!c){var d={},f={},g=this.fields;for(var h in g){var k=g[h],m=k.toValue();k.save?null==m?d[h]=k.value:(d[h]=m,k.value=m):f[h]=m}}try{this.setValue(a||this.id,this.stringify(c||d))}catch(n){this.log("GM_config failed to save settings!")}return f},read:function(a){try{var c=this.parser(this.getValue(a||this.id,"{}"))}catch(d){this.log("GM_config failed to read saved settings!");var c={}}return c},reset:function(){var a=this.fields;for(var c in a)a[c].reset();this.onReset()},create:function(){switch(arguments.length){case 1:var a=document.createTextNode(arguments[0]);break;default:var a=document.createElement(arguments[0]),c=arguments[1];for(var d in c)0==d.indexOf("on")?a.addEventListener(d.substring(2),c[d],!1):-1==",style,accesskey,id,name,src,href,which,for".indexOf(","+d.toLowerCase())?a[d]=c[d]:a.setAttribute(d,c[d]);if("string"==typeof arguments[2])a.innerHTML=arguments[2];else for(var f=2,g=arguments.length;f<g;++f)a.appendChild(arguments[f]);}return a},center:function(){var a=this.frame;if(a){var c=a.style,d=c.opacity;"none"==c.display&&(c.opacity="0"),c.display="",c.top=Math.floor(window.innerHeight/2-a.offsetHeight/2)+"px",c.left=Math.floor(window.innerWidth/2-a.offsetWidth/2)+"px",c.opacity="1"}},remove:function(a){a&&a.parentNode&&a.parentNode.removeChild(a)}},function(){var c,d,f,g,a="undefined"!=typeof GM_getValue&&"undefined"!=typeof GM_getValue("a","b");a?(c=GM_setValue,d=GM_getValue,f="undefined"==typeof JSON?function(h){return h.toSource()}:JSON.stringify,g="undefined"==typeof JSON?function(h){return new Function("return "+h+";")()}:JSON.parse):(c=function(h,k){return localStorage.setItem(h,k)},d=function(h,k){var m=localStorage.getItem(h);return null==m?k:m},f=JSON.stringify,g=JSON.parse),GM_configStruct.prototype.isGM=a,GM_configStruct.prototype.setValue=c,GM_configStruct.prototype.getValue=d,GM_configStruct.prototype.stringify=f,GM_configStruct.prototype.parser=g,GM_configStruct.prototype.log=window.console?console.log:a&&"undefined"!=typeof GM_log?GM_log:window.opera?opera.postError:function(){}}();function GM_configDefaultValue(a,c){var d;return 0==a.indexOf("unsigned ")&&(a=a.substring(9)),d="radio"===a||"select"===a?c[0]:"checkbox"!==a&&("int"===a||"integer"===a||"float"===a||"number"===a?0:""),d}function GM_configField(a,c,d,f,g){this.settings=a,this.id=d,this.configId=g,this.node=null,this.wrapper=null,this.save=!("undefined"!=typeof a.save)||a.save,"button"==a.type&&(this.save=!1),this["default"]="undefined"==typeof a["default"]?f?f["default"]:GM_configDefaultValue(a.type,a.options):a["default"],this.value="undefined"==typeof c?this["default"]:c,f&&(this.toNode=f.toNode,this.toValue=f.toValue,this.reset=f.reset)}GM_configField.prototype={create:GM_configStruct.prototype.create,toNode:function(){function a(z,C,D,E){E||(E=D.firstChild),"right"===z||"below"===z?("below"==z&&D.appendChild(n("br",{})),D.appendChild(C)):("above"==z&&D.insertBefore(n("br",{}),E),D.insertBefore(C,E))}var p,c=this.settings,d=this.value,f=c.options,g=c.type,h=this.id,k=this.configId,m=c.labelPos,n=this.create,o=n("div",{className:"config_var",id:k+"_"+h+"_var",title:c.title||""});for(var q in c){p=q;break}var r=c.label&&"button"!=g?n("label",{id:k+"_"+h+"_field_label",for:k+"_field_"+h,className:"field_label"},c.label):null;let t;switch(g){case"textarea":o.appendChild(this.node=n("textarea",{innerHTML:d,id:k+"_field_"+h,className:"block",cols:c.cols?c.cols:20,rows:c.rows?c.rows:2}));break;case"radio":t=n("div",{id:k+"_field_"+h}),this.node=t;for(let z=0,C=f.length;z<C;++z){var u=n("label",{className:"radio_label"},f[z]),v=t.appendChild(n("input",{value:f[z],type:"radio",name:h,checked:f[z]==d})),w=m&&("left"==m||"right"==m)?m:"options"==p?"left":"right";a(w,u,t,v)}o.appendChild(t);break;case"select":t=n("select",{id:k+"_field_"+h}),this.node=t;for(let z=0,C=f.length;z<C;++z){var x=f[z];t.appendChild(n("option",{value:x,selected:x==d},x))}o.appendChild(t);break;default:var y={id:k+"_field_"+h,type:g,value:"button"==g?c.label:d};switch(g){case"checkbox":y.checked=d;break;case"button":y.size=c.size?c.size:25,c.script&&(c.click=c.script),c.click&&(y.onclick=c.click);break;case"hidden":break;default:y.type="text",y.size=c.size?c.size:25;}o.appendChild(this.node=n("input",y));}return r&&(!m&&(m="label"==p||"radio"==g?"left":"right"),a(m,r,o)),o},toValue:function(){var a=this.node,c=this.settings,d=c.type,f=!1,g=null;if(!a)return g;switch(0==d.indexOf("unsigned ")&&(d=d.substring(9),f=!0),d){case"checkbox":g=a.checked;break;case"select":g=a[a.selectedIndex].value;break;case"radio":for(var h=a.getElementsByTagName("input"),k=0,m=h.length;k<m;++k)h[k].checked&&(g=h[k].value);break;case"button":break;case"int":case"integer":case"float":case"number":var n=+a.value,o="Field labeled \""+c.label+"\" expects a"+(f?" positive ":"n ")+"integer value";if(isNaN(n)||"int"==d.substr(0,3)&&Math.ceil(n)!=Math.floor(n)||f&&0>n)return alert(o+"."),null;if(!this._checkNumberRange(n,o))return null;g=n;break;default:g=a.value;}return g},reset:function(){var a=this.node,c=this.settings,d=c.type;if(a)switch(d){case"checkbox":a.checked=this["default"];break;case"select":for(var f=0,g=a.options.length;f<g;++f)a.options[f].textContent==this["default"]&&(a.selectedIndex=f);break;case"radio":for(var h=a.getElementsByTagName("input"),f=0,g=h.length;f<g;++f)h[f].value==this["default"]&&(h[f].checked=!0);break;case"button":break;default:a.value=this["default"];}},remove:function(a){GM_configStruct.prototype.remove(a||this.wrapper),this.wrapper=null,this.node=null},reload:function(){var a=this.wrapper;if(a){var c=a.parentNode;c.insertBefore(this.wrapper=this.toNode(),a),this.remove(a)}},_checkNumberRange:function(a,c){var d=this.settings;return"number"==typeof d.min&&a<d.min?(alert(c+" greater than or equal to "+d.min+"."),null):"number"==typeof d.max&&a>d.max?(alert(c+" less than or equal to "+d.max+"."),null):!0}};var GM_config=new GM_configStruct;
let $=window.$, jQuery=window.jQuery;
(function($,jQuery) {
'use strict';
jQuery.browser = {};
jQuery.browser.msie = false;
jQuery.browser.version = 0;
if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
jQuery.browser.msie = true;
jQuery.browser.version = RegExp.$1;
}
window.onscroll = function (){
let floatElement=$('body');
if (window.scrollY > $('.content').offset().top) {
if (!floatElement.hasClass('scroll')) {
floatElement.addClass('scroll');
}
} else{
if (floatElement.hasClass('scroll')) {
floatElement.removeClass('scroll');
}
}
};
GM_config.init(
{
'title': 'Настройки',
'id': 'MyConfig', // The id used for this instance of GM_config
'fields': // Fields object
{
'association': {
'label': 'Поле поиска ассоциаций',
'type': 'checkbox',
'default': false
},
'Key': // This is the id of the field
{
'label': 'Ключ от сервиса <a href="https://api.wordassociations.net/subscriptions/" target="_blank">https://api.wordassociations.net/subscriptions/</a>', // Appears next to field
'type': 'text', // Makes this setting a text field
'default': '' // Default value if user doesn't change it
},
'pos':{
'label':'<b>noun</b> — существительное; <b>adjective</b> — прилагательное; <b>verb</b> — глагол; <b>adverb</b> — наречие;<br>'
+'Если пусто то - <b>noun,adjective,verb,adverb</b>. Разделитель <b>запятая</b>.',
'type': 'text',
'default':'noun,adjective,verb,adverb'
},
'type':{
'label':'Тип возвращаемого результата.<br> '
+'<b>stimulus</b> — список слов-стимулов, которые чаще всего побуждают подумать о заданном слове-ответе;<br>'
+'<b>response</b> — список ассоциативных слов-ответов, которые приходят на ум для заданного слова-стимула.',
'options': ['stimulus', 'response'],
'type': 'radio',
'default': 'stimulus'
},
'tmp': // This is the id of the field
{
'label': 'Поле для заметок', // Appears next to field
'type': 'textarea', // Makes this setting a text field
'default': '' // Default value if user doesn't change it
}
},
'css':
'#MyConfig .field_label { display: block;font-weight: normal; margin-top:15px; }'
+'#MyConfig input[type=text]{ width:100%;}'
+'#MyConfig textarea{ width:100%; height:150px;}'
});
const openConfig= ()=>{GM_config.open();};
GM_registerMenuCommand( 'Open EN Config', openConfig);
let audio = {
player: new Audio(),
src:{
correct:
'data:audio/ogg;base64,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',
new:'data:audio/ogg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAASW5mbwAAAA8AAAASAAAfBAAODg4ODhwcHBwcHCoqKioqODg4ODg4R0dHR0dVVVVVVVVjY2NjY3FxcXFxcYCAgICAjo6Ojo'+
'6OnJycnJycqqqqqqq4uLi4uLjHx8fHx9XV1dXV1ePj4+Pj8fHx8fHx//////8AAAA5TEFNRTMuOTlyAc0AAAAAAAAAABSAJAQMQgAAgAAAHwRrP+dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//uQxAAAC+Q1'+
'QHWHgBv9lWRLP9AAAAN3/a/D+VJi+7O4eQSGc4KO2dcimkHOGxOVC3jjVcjzUN+nH//h4eP//jh4///0gBh////qAACP//9IAAAB4eHj//AAAAAPDw8PWAAAAENh4eHhjAAAO6Hh/4GAH+uABAAgg'+
'YH+KrmJckwhh0QMIYa8TimBeB+Bh34EyaQMZJGHJkFxi24aoYpuHImBqjJphXYKGYFAP2mJYgnhhRYeYYLaDfmCYgZRgGAO2fLyIcoF2bEpYYVIGYIzuY4hSbVlSarkGLBwZskeY6hAYPFOY1gAZPE'+
'KYsByY5hWYwgaYeCEJAsRA0YhAiSgMBAUJgwAIUGEgbGIwPGFAHBQOSYcxoGAwKTAULjBkIQqA5hSDoCLAwmDswbA4wQDYw2CIwzAMrApmwUAVy7lowJBsSD4dAZ5teYOAEYPAUkrFN/Grtmzc1a/i'+
'5lg1v+kQIJDgJ/8AJaMMgNLP/+s+OQh7xiVMtoscxlyvDN/OcMGgjAwNRkTL5DZMOUmQ0MzoDVGYnMsQgsyihsjFoAZMRMY//uSxBaD2pCREB3ugAtDEqDCvcABoxWhfzPSJxMgQTExABCTAFHBOhX'+
'gOeeEOgSCMeh+NiUKBhhmuSQmIAzGbpnGYQ6mLgGmIgOmNwmmHhIGIgPGF4omAwRgIOTB07TFMKDCEUgUnphiC4sRphSBAoCJgAGJgECoEDIxSAsx1KAxYCYGiuYIjgBg2MWAaMRRhMWQLFiiMfRnB'+
'xFGFAsmW5KGRIpgEOTJcUDAESjBYRjGUIzBAFAwDk6Vf5pzikQNOGopkwdEJzWIUvMnMsQ5CWnzI8RrNhYaA1SgADHpIqMHonox0wyjL1BGMAsM8zaghjBhEiMEwBkwPBKDMIaOlesxDkTTbwMIpY2'+
'JHzYjBNpPcxTfTIrtMsMI1/KzbbkOIFww3JDVrVOTqcyQlTE6fNJls22qjjMBMVKA1KvTKokMZo8ygkjHDRMfoc1g5R5VG4TybYMRuIXG2BGYTshshxGMx0Y1OodODTJ/MZIc8zEBCZTQhfMgHwzqnj'+
'E0ZM7mQx6G10mHQOHDKmrzI9U5yWM2IZ408gMyPZQ3qHg1Vc00wP/7ksQKABcsnRIZ3YAC/RMdg7uwAZ83POAxqeEzlGAyYaQ0vOg2HHsSVI1+R8zRDY0MAM0XDU0hHN9iEYD4XcwkvFj861NMfkjJV'+
'o3IQO5WDU3QwhkNJRjUjI12iAWqFgkyY5MGEDfpkIKzW0oPajEww204BxwZIlnYFhilsZmwmB0Jw46ZUyGuPpjwcalHmhuBiQYcOimqnBopsVEcDEpi4Y4W+GlsBn4aZieExDN9MydzRUYzITZTU6Zv'+
'wcdx7MfN8AePz4bSksZYLyb6R+cwTCcdQKaOlkYHFCZjE+YVDYZ1p4awqkaIk0YCFWZ/JKd3DGMkpqDOb1FnNUJz0mb0vmhE4YIGJF5nh6HJpk7AcbTHVyxs40ZQ4nLVJs6UYaEmWIpqzSbk7m4MJohC'+
'IAgyE2MoLzIg0RkhqLscjNHGsxj5ecRln0dpw6gBE83B9N8czZFMz4rMYCQMAomGHFpoSeachmVA4NHDNT40E4MrGAEJF/UALTbwUj1+TEFNRTMuOTkuNaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqr/+5LEFAPAQAIADIAAIAAANIAAAASqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTEFNRTMuOTkuNaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//uSxDkDwAABpAAAACAAADSAAAAEqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxBTUUzLjk5LjWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7ksQ5A8AAAaQAAAAgAAA0gAAABKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqoh6gAB35UyhYjqOmkOpevAxhSTT0MAgUBvUey05ccvg7pc8wAwAy37MgIAEAgCGmlsE1F9l3y7btF1DAAACMAQAIwCwA2ho2GAAAECgAG9QToDxEAAYJ4I5QCcYFQKRgyAyGCgBQIwOzBvCNMH0B'+
'0wgA7/+5LEOQPAAAGkAAAAIAAANIAAAAQDF5FPMgMAAyJjZDQGQIM2gigwJyiTQpUFNH8Wc07n2Dyft7ODsbc24rfj3w5GOaBrAx3k2TiZrBO0Og03PTZTGNQDM/8vExyw/wwxhxxywAAAAP8wLcA8MC'+
'iAPTBfFdk7y3aT75ghYFSYACBPnGzk7Z2Q82r/mCSgUZgHACIZW2llGtbGNH+YkIKJhEBDGtbMMa5i8//5gCAEmCwBFGjh9UxMHY3UyfQtP//AwCBgTAMAwAEDARmPkDsZHwuhhNDNkxO3//+KABmA+B'+
'KGARmBmBWRAVmJUDYYQAU5jJgqmDACiYb4EH///6dAKAbZg2mfmBmAqYDoBxgjgRpd0nP/////////PDedjef///////////9jedgThE//6AfAYeB8B//8PA+Aw8D4Lg6f////6ROFw+Jx4fE4HD8zpC'+
'ETGaCGMtNcw0RqJzucsBOdhHM12Kjzrw8BP97N0yFSnTQpNQNJNEozPk9TTKTBNt448zbCUTG6CXMhc+wztFA7c9Y6bLIz9gAylB4ziGMz//uSxP+AF4CWKnWPAAPDnmLnP+AADWow4IQ0+JsyZVA0ND'+
'4xgBcyvCgwADkxhNIy3B4wOBgwrDYw7AMxvB4weBEw7BkwPEAwcFYxLFkwhBwwaBEwyCcwnGYwtCcyBAQsBGCgiMLQiMHwRMNwyMFQaMcB5Eg6MIhQMhQgMPAWMPgyMZBaBIYBYMzBgUgsDphuEIKAAu'+
'ExiHrPqGagaIanA2Zh6ndmHIQ8Y641JmZCBGjWRoYgi1RqptYGVkKsZKweJhIjumCUEuY/QNBkuAymEaGwYIIYhidjJHoIaa/UB3sKG9sSdIdpmZrnWkGcsE5oMCGpAIj0YLBxloFmkhODpkacDKKpjo'+
'FGmCUHZczaGTdoCMYFsxYIysGmFBiIieYcJRglFmLweYfMRqMmgw1mSzkYHFRmUzGc1SaFBJkQMGSEGZtFhh0hGwDEZaKZjRJGeAWZeLBlwHEJSAImQ8QRqQZ4NRUlgzq5NRs88QmsNPCGuzeAjkk24G'+
'GGMBYQFjE9gh8+ytelMt1PPDLkUOc01YtPMQwPNTNVifo0Bg8xMn5DWP/7ksTvg9rckxYd7oALIBHhwr3AATRminwwm0guOtJCM2eG4TMkkrOGgKgzfqrTBTbyM7cfs6djKzerdvMoZTs2jnMjmzVuOL'+
'VAUxoFvDW+FGMd4hwz6y8TdtZwNZIoo9kECjOaEmN84pk0rDJDP4aVM5sss1CEiTEERnNBhdkxbGkDGXarOS0XY3wVHDZxEnN1Mv039CLjhJDxMX5dAzfD2TfmCCMJAksxJEYDHBcqOM5akxB0dzeKFL'+
'MG0JUwBgBZOZrxZZl+sQmboJmYyIPxgGgTQIYx4mBitlOmRINyYSoAg4Aa03n//6/f///9//////9H7v////9IAAECCBvfEPSafO5BnAeOjxkfTcuYwmbhGhrmOB2EAYSaXEhDnA/sGJhJRp6YYQb7mE'+
'ZhIxt9IjSazkIkmn7oEZpQArcYeAPPmQHDeJh3hbWZymNnmSOkWZi4QgyYIwFfmHMB15i+wPIZp2MsmNbEbJhmgkeZiKAOGENCTBh8AiuYQ8I7mJnBZ5i4AQ6ZoyPaGHGDHJhMhAQZ2oKemICDe5lcAP'+
'wYOkP/+5LE5oAktLruGf8ABRMXXMs/8ADhGD2iSRgdANCYHgCrGGhiRRktIh6Ys4FlGirDS5iVQZcYqCbUGA/kZRiVweQYhuOGmRLDJ5jBwySYCgBMGE8hwxhroWEYIOESGEYgyxkvg12YFGKlmHxDWh'+
'gUwA2QgEpEARmLRmIxjEQbcYaOGAmB+gBAUAShoAGMFLBcjBUwrAwscHuMDdAFkJreWP///9////2+twvb/3//+9JVdQFMjcDp8Y9XOO3kDYSgkHzOEU0ZDM2KwULJkqtMBFjKTAy0eAoWZwtm0MIs/N'+
'lVO1RNsTGShp1RoQwWMmqWkxIxyU1i00x0yANkgNBGLHGPFLdQTKSCwUyBcyw9CgyKQ16weImJNGdLBhIRATEB0oQCSM2YRwMecNCaMiAYGAAoKCtcTGZ4AQhhwhb572UrFfm5j9WGX9h2W4Vjv//WCv'+
'8Gga////iUFUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//uSxHeD1QCixD29AAAAADSAAAAEVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUxBTUUzLjk5LjVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7ksQ5A8AAAaQAAAAgAAA0gAAABFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVX/+5LEOQPAAAGkAAAAIAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV'+
'VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAYGDXnwCANM+ORCNcIMK1OvpPLFAJ48uc5Y0zU482o7TgC'+
'Hzn6T10wM+MQRNMPQVEAOGGAbGGAPBgCmCYSmFIRhARiEAwUAbB5+YawsI8oNAEwSAwaAQEgWYKguYIgKpUYEAkYJAUrkwIA4BAo10tWYA//uSxDkDwAABpAAAACAAADSAAAAEgCWbLxozGEQaGLIjgI'+
'ajFQijKYpDIQRhCJ5kCUJmilZte7Z0pExrgBRrXLZ3DfJ7nOZmuuB2dzB+dtBzokhi8oRqMeBksLxicKBiUGxWCxgmFJhmGZhWDKECM5gSCJguCYYCYWAwwcCQwkBZAKYMA4DggCoGmC4MmCoDpzGBQK'+
'GCwIDwAAwAC3j2PuztnblyN9Fjv8jwXIXonuYAgOJAOBAOMLQnFgrMFA2MShMMQAkCwKmHYnmJYRmCAlGTJJmNoRmEAyGRRLGRQzGFgAmIo1mN4ngEKjH8iTHMPwuExiYMBjILRiIFBQCBgGDZhiG5jg'+
'JxgoEpjeUZlyWJkSHJhERRmgexnkWxhoIZmcbBlIGBiWVJmubpl2O5gKLhlgcBnMXRi0AZkITxkEHRgGJZjaOpjOI5gmBRh8LhjILChDAzFfhG0ykUnXMh/IVToGjtBk6JRiv4LmZIGECH10vJJyMbuc'+
'W8hsyI4W4MKnDETH+nyMyH42easxMyfg6zLTIXOKCxE1NWvrl+wYAQTP/7ksT/gwAAAaQAAAAmvqqGCrXQABhLhqmF6AgZzZnJldnFmBEj1//wwygfjCcB6MGIGwwagLDGvN1MfEUExTBljB+H95n3uB'+
'iZArGFOGWYN4BZhsgamDkEQYnhjZjmDpGTWDuZApNxg7A5/zv/4OB8MIoFQSAhV/DnDFmATMMYJcDB4AIDxy+GUqEHZlzg7eZoMPyG0nvNxuELIUbUqVFGf8GBJpWTK+bncr2mOAKkZpuB0SZ8MQvmRu'+
'jbhhwYiyZPGRbGK8h/xgm4FAYqqXuGuY1QadGrZg1guGA2jeYRx6ZithFmpqXYY2xyRjCBjmP8G2YuZDhkxgzAAFYweBgDGhHaBgExh1iNGJKDEYzQFo0LmYeQKRi6BzmJ6IMYh4e5jciCGF4GgYKoWJ'+
'g7g0GAWJiYKQMZhrAPmGcCiYK4ZAsHGYK4MJgrirAYLQxJwQDBQCPMD4I0w0ANzD7BOIARjDjEBMSwOYwghBjAbCgMF4BEwDQYTBSA4MAgDMwIAAwaAiwV/nWh7Koypi0jFCFvMT0w4xxgWzHeCpMckJ'+
'oxtRL/+5LE7gAYTJ0QGf8ABAOTIMO/4ABzL3RWMuc8wyig2THeH3MAoYgwgwSjC9FXMG4L8wKAxzCyAZMQMWg3YXjY+EMUIowivDGZUBpdM4H8x4FDEpiCGIYsMhgIeGFBmY5HAUBAXIhgYGmTyCYVCp'+
'k80BwsMSp4wqBgER0swaUwqfDBYEMZAMiZwoADAwCFjmYHBxMVwAOjDA3DjIYJIIQKjHARMWjcOBZisHmOxaIxyYPEpgUGhQkoKKQljTqdBhgjxiu5xlE6JtjDxmMcxknC5kEgRliWZrQIpnmbhjWuZh'+
'SCIKF8wFBUACYYShUEGQAjSAVSgZsgBzSAGpnAZI4Bt14OVCLgEBgAHoGNWgZGUBrDoA6UFKAGtIhaECIiBqzIGTEAYteBnFoG4YAJQgaU6ACGAGlASnB7YGTNAa0KDVuFj4BBQDLkQNvDA0qgDQBgM6'+
'fAyi4DRHAMEOAzgUAaMAcvQXAwYgCzwMHC3qgYcWCMuANVA2ZkDQjQvD//AaAADSAwuDZwPmDFIAxf//8AZOIQDQAscEDA2MCOA9EBgH////uSxNKAGCyRFhXuAAT4ReRDO0AA/4Ch8QoTYOCCcgbEBc'+
'4J5DGYDRMXB////+LLENE7A2OA2OC7E5gWFi2CCYzIoILYBYoMf/////////jvBQGMENvGfFnBdQA0AGXOBvYyIbeILjHCAAEgAzY5lXA2Gw2EwkCgkLR+Px8DiJC4JeZZ/+CXDHCcml/x400QX2Z7/h'+
'cDGAh0Xl/21TxR/Wk4Ub//R4TmU1Q3vajTw//+5bII6wVi8Ron2lUz///gYAQ8JQNhxfpGiDIlFnRlNT///801DMCQTEzQzoGM6CDKzUwAgSrWBLeg0QC4EqMu7////54sgB4k9WfMfowvYFHyJvB0sC'+
'bJEGABIFGBwxAA+ZIBmNpBhpMYSAgoZ//////N5ijhjs7FrNPcTJpozYjOiHzl0k3Z8M/gDVFdtTCQ4EGpgQ+HGpipkYKLBUFL4KzGHhH//////+cegmzpJpEMFj84o9OHFzfm4wd0MmZzbxs3UhNcbj'+
'F0825PEuYKCYUBUCQFBkelHUyFgi+QMEQsBqQLvMOVV//////////pLv/7ksSZACidv125nYAQAAA0g4AABF3t+xXq2rGF3t+xXq5WPVF9i9RMQU1FMy45OS41qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'+
'qqqqpUQUcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+
'AAAAAAAAAAAAAAAAAAAAAA/w=='}
};
const soundPlay = (type)=>{
audio.player.src = audio.src[type];
audio.player.autoplay = true;
};
let style ='.imgWrap{position:relative;display: inline-block;}'+
'.imgWrap .imgLnk{background:#fff;padding:0 5px;position: absolute;z-index: 10000;left: 0;top: 0;opacity: .4;}'+
'.imgWrap .imgLnk:hover{opacity: 1;}'+
'.imgWrap .imgLnk a{color:#000; font-size:12px;}'+
'.aside {z-index: 1000; position: fixed; left: 0; top: 240px; width: 240px; height: 250px; background: rgb(29, 29, 29);'+
' padding: 30px 30px 10px 10px; border: 2px solid #007f01; border-left: none; border-radius: 0 10px 10px 0; overflow: hidden; }'+
'.pane { height: auto; }'+
'.blockageinfo{position: absolute!important;top: 2px;right: 5px;width: 97px;font-size: 10px;text-align: right;}'+
'.aside form label { display: none! important; }'+
'.aside form { display: flex; align-items: center; height: auto; margin-bottom:5px; }'+
'.hidden { display: none! important; }'+
'input#Answer, input#answ, input#BonusAnswer, #message { width: 200px; border-radius: 5px 0 0 5px; outline: none;}'+
'.aside .submit { display: block ! important; width: 28px; border-radius: 0 10px 10px 0; border: 1px solid #707070; border-left: none; }'+
'.history {height: 223px; font-size: 10px;line-height: 14px;}'+
'.loaded{position:relative;}'+
'.loaded:before{z-index:100;position: absolute; content:""; left:0; right:0; top:0; bottom:0; background:rgba(29, 29, 29, 0.5)}'+
'.loaded:after{z-index:101;position: absolute; content:"";left:0; right:0; top:0; height: 300px;'+
' background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i'+
'VVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv'+
'c3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3L'+
'nczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjAiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXd'+
'Cb3g9IjAgMCAxMjggMTI4IiB4bWw6c3BhY2U9InByZXNlcnZlIj48Zz48cGF0aCBkPSJNNzUuNCAxMjYuNjNhMT'+
'EuNDMgMTEuNDMgMCAwIDEtMi4xLTIyLjY1IDQwLjkgNDAuOSAwIDAgMCAzMC41LTMwLjYgMTEuNCAxMS40IDAgMS'+
'AxIDIyLjI3IDQuODdoLjAyYTYzLjc3IDYzLjc3IDAgMCAxLTQ3LjggNDguMDV2LS4wMmExMS4zOCAxMS4zOCAwIDA'+
'gMS0yLjkzLjM3eiIgZmlsbD0iI2ZmMDAwMCIgZmlsbC1vcGFjaXR5PSIxIi8+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0c'+
'mlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGZyb209IjAgNjQgNjQiIHRvPSIzNjAgNjQgNjQiIGR1'+
'cj0iNjAwbXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIj48L2FuaW1hdGVUcmFuc2Zvcm0+PC9nPjwvc3ZnPg==") no-repeat center;'+
'}'+
'.chat, #ChatForm { display: none !important; }'+
'#reloadLog{ cursor:pointer; position: absolute; left:10px; top:5px; display: inline-flex;align-items: center;}'+
'#reloadPage{ cursor:pointer; position: absolute; left:70px; top:5px; display: inline-flex;align-items: center;}'+
'.content {height: auto!important;min-height: 100%;}'+
'.history .correct{ background:#023502;}'+
'.history .color_correct{ background:#023502; color:#fff!important;}'+
'#incorrect{ background:red; color:#fff;}'+
'.header ul{display: flex;flex-direction: row;align-items: center;justify-content: flex-start;}'+
'.history .my{ background:#1b354c;}'+
'.rb{border-color: red !important;}'+
'.gb{border-color: #06f706;}'+
'#sendLog {z-index:10000;border:2px solid #007f01; padding: 5px; position: fixed; top: 100px; left: 0; width: 270px; max-height: 120px;overflow: auto;background: rgb(29, 29, 29);}'+
'#sendLog span{ margin-left:5px;}'+
'#sendLog ul{ line-height: 12px;display:flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; font-size: 11px;}'+
'#sendLog li:after{content:","; margin-right:5px;}'+
'#sendLog li:last-child:after{display:none;}'+
'.aside .submit{transition: all .1s ease;}'+
'.aside .submit.state_1{background: #a70c28;}'+
'.aside .submit.state_2{background: #845d13;}'+
'.aside .submit.state_3{background: #134817;}'+
'.aside .submit.state_4{background: #494949;}'+
'#checkWord {z-index:10000;border:2px solid #007f01; padding: 5px; position: fixed; top: 540px; bottom:0; left: 0; width: 270px; overflow: auto;background: rgb(29, 29, 29);}'+
'#checkWord ul{ line-height: 12px;display:flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; font-size: 11px;}'+
'#checkWord li:after{content:","; margin-right:5px;}'+
'#checkWord li:last-child:after{display:none;}'+
'#checkWord form { display: flex; align-items: center; height: auto; margin-bottom:5px; }'+
'#checkWord input{border-radius: 3px 0 0 3px;width: 215px;}'+
'#checkWord input[type="checkbox"]{width: 30px;height: 20px;min-width: 30px;}'+
'#checkWord .check{ position:absolute; right: 0;top: 3px; display: flex;align-items: center;}'+
'#checkWord .submit { display: block ! important; width: 28px; border-radius: 0 10px 10px 0; border: 1px solid #707070; border-left: none; }'+
'::-webkit-scrollbar {width: 10px;height: 10px;} ::-webkit-scrollbar-thumb {-color: #545d68a8;border: 1px solid #4848484d;border-radius: 15px!important;} ::-webkit-scrollbar-track {background-color: transparent;} ::-webkit-scrollbar-thumb:hover {background: #282828c9;} ::-webkit-scrollbar-thumb:active {background: #181818;} ::-webkit-scrollbar-corner {background: #383838;}'+
'.scroll .aside{top: 140px !important;}'+
'.scroll #sendLog{top: 0 !important;}'+
'.scroll #checkWord{top: 440px !important;}'+
'#MyConfig{z-index: 1000000 !important;}'+
'';
GM_addStyle(style);
$('head').append('<link href="https://fonts.googleapis.com/icon?family=Material+Icons"rel="stylesheet">');
// $('head').append('<script type="text/javascript" src="http://cdn.endata.cx/images/personal/578001/jquery.jscrollpane.min.js"></script>');
$('.aside')
.append('<div id="reloadLog">Лог <i class="material-icons">autorenew</i></div>'+
'<div id="reloadPage">Контент <i class="material-icons">autorenew</i></div>' );
let inpName='#answ';
if($('#Answer').length>0){
inpName='#Answer';
}
$('.container').append( '<div id="sendLog">В отправке<ul></ul></div>');
let sendCount = $('#sendLog span'),
sendList = $('#sendLog ul');
const changeSendCnt = (key)=>{
let send=true;
if(key!=undefined){
$.each(sendList.find('li'),(i,item)=>{
let text=$(item).text().toLowerCase();
if(text==key.toLowerCase()){
send=false;
}
});
if(send){
sendList.append('<li onClick="$(this).remove();">'+key+'</li>');
$.each($('#checkWord ul li'),(i,item)=>{
let text=$(item).text().trim().toLowerCase().replace("ё", "е");
if(/([а-яёa-z\-_]+)/gim.test(key.toLowerCase().replace("ё", "е"))){
if(text==/([а-яёa-z\-_]+)/gim.exec(key.toLowerCase().replace("ё", "е"))[0].trim()){
$(item).remove();
}
}
});
}
}
};
const delInSendList =(key)=>{
if(key!=undefined){
$.each(sendList.find('li'),(i,item)=>{
let text=$(item).text().toLowerCase();
if(text==key.toLowerCase()){
$(item).remove();
}
});
}
};
if(GM_config.get('association')){
let add='';
if(GM_config.get('Key')!=''){
add='<div class="check">soc <input id="sociation" type="checkbox" value="Y" checked title="Искать sociation" >'+
' | world <input id="wordassociations" type="checkbox" value="Y" checked title="Искать wordassociations" ></div>';
}
$('.container').append( '<div id="checkWord">Ассоциации'+
'<form id="assocWorfForm">'+
'<input id="associationWord" autocomplete="off" placeholder="Подобрать ассоциацию">'+
'<input type="submit" class="submit" value=">>">'+
add +
'</form>'+
'<ul></ul></div>');
let assocReq=null, assocService2=null;
$('#assocWorfForm').on('submit',function(){
if(assocReq!=null){
assocReq.abort();
}
if(assocService2!=null){
assocService2.abort();
}
$('#checkWord ul li').remove();
$('#checkWord').addClass('loaded');
let sociation=$('#sociation');
if(sociation.length>0){sociation= $(sociation).prop('checked');}
else {sociation=true;}
let wordassociations=$('#wordassociations');
if(wordassociations.length>0){ wordassociations= $(wordassociations).prop('checked');}
else{ wordassociations=true;}
if(sociation){
assocReq=GM_xmlhttpRequest({
method: 'GET',
url: 'https://sociation.org/ajax/word_associations/?word='+$('#associationWord').val(),
onload: function (results) {
$('#checkWord').removeClass('loaded');
try {
let inputed=[];
$.each($('.history li>span'),(i,item)=>{
inputed.push($(item).text().trim());
});
$.each(jQuery.parseJSON(results.responseText).associations,(i, item)=>{
if(inputed.indexOf(item.name.toLowerCase())==-1){
$('#checkWord ul').append('<li onClick="$(this).remove();">'+item.name.toLowerCase()+'</li>');
}
});
}
catch (err) {}
assocReq=null;
},
onerror: function(res) { assocReq=null;}
});
}
if(wordassociations){
let apikey = GM_config.get('Key'),
pos= GM_config.get('pos'),
type=GM_config.get('type');
if(apikey!="" && apikey!=false){
assocService2 = GM_xmlhttpRequest({
method: 'GET',
url: 'https://api.wordassociations.net/associations/v1.0/json/search?apikey='+apikey+'&pos='+pos+'&type='+type+'&lang=ru&limit=300&text='+$('#associationWord').val(),
onload: function (results) {
$('#checkWord').removeClass('loaded');
try {
let inputed=[];
$.each($('.history li>span'),(i,item)=>{
inputed.push($(item).text().trim());
});
$.each(jQuery.parseJSON(results.responseText).response[0].items,(i, item)=>{
if(inputed.indexOf(item.item.toLowerCase())==-1){
$('#checkWord ul').append('<li onClick="$(this).remove();">'+item.item.toLowerCase()+'</li>');
}
});
}
catch (err) {}
assocReq=null;
},
onerror: function(res) { assocReq=null;}
});
}
}
return false;
});
}
let currentLogList = {
'all':[],
'correct':[],
'world':[]
};
const getAnswers = ()=>{
let answers=$('.history li>span');
$.each(answers,(i,item)=>{
let key=$(item).text().trim();
if(currentLogList.all.indexOf(key)==-1){
currentLogList.all.push(key);
}
if($(item).hasClass('color_bonus') && currentLogList.correct.indexOf(key)==-1){
currentLogList.correct.push(key);
}
delInSendList(key);
});
};
getAnswers();
let userName=$('#ChatForm input[name="login"]').val();
const highlightMy=(name)=>{
let history=$('.history li a');
$.each(history, (i, item)=>{
if($(item).text()==name){
$(item).parent().addClass('my');
}
});
};
highlightMy(userName);
let bonusCount=$('.color_correct').length;
$('<li><div style="text-align: center; ">Ответов<input type="text" disabled id="bonusCount" style="width: 60px;text-align: center;" value="'+ bonusCount+
'"></div></li>').insertBefore('.header .refresh');
const bonusCountUpdate = (where)=>{
$('#bonusCount').val($(where).find('.color_correct').length);
};
let reloadTime = localStorage.getItem('reloadTime');
if(reloadTime==false || reloadTime==NaN || reloadTime==null){
reloadTime=20;
}
reloadTime=parseInt(reloadTime);
$('<li><div style="text-align: center; ">Автообновление<input type="number" id="reloadTime" style="width: 40px;" value="'+reloadTime+
'"></div></li>').insertBefore('.header .refresh');
$('#reloadTime').on('change',function(){
reloadTime=parseInt($(this).val());
if(reloadTime<5) {
reloadTime=5;
$(this).val(5);
}
localStorage.setItem('reloadTime', reloadTime);
});
let currentLevel = $('.content>h2').text();
let request=null ;
const GetDate = (d)=>{
if(request!=null){
request.abort();
}
if(req!=null){
req.abort();
}
request=GM_xmlhttpRequest({
method: 'GET',
url: window.location.href,
onload: function (results) {
try {
d.resolve(results.responseText);
}
catch (err) {d.reject();}
request=null;
},
onerror: function(res) {
alert("Ошибка получения данных, возможны проблемы с интернетом или авторизацией.");
d.reject();
request=null;
}});
};
const imgLnkAdd = ()=>{
let arImg=$('.content img');
$.each(arImg, function( index, img ) {
img=$(img);
let div='<div class="imgWrap"></div>';
let src=img.prop('src');
let block='<div class="imgLnk" >'+
'<a href="'+src+'" target="_blank">Source</a><br>'+
'<a href="https://www.google.com/searchbyimage?image_url='+(src)+'" target="_blank">Гугл</a><br>'+
'<a href="https://yandex.ru/images/search?rpt=imageview&cbird=1&img_url='+encodeURIComponent(src).replace(/%20/g,'+')+'" target="_blank">Яндекс</a>'+
'</div>'
$(div).insertBefore(img).append(img).append(block);
});
}
const checkLogin = (data)=>{
if($(data).find('#formMain').length>0) {
window.location.href= '/Login.aspx?return='+encodeURIComponent(window.location.href).replace(/%20/g,'+');
}
};
const insertData = (data, body, input)=>{
let history=$(data).find('.history');
$('.aside .history').removeClass('loaded').html(history.html());
$('input[name="LevelId"]').val($(data).find('input[name="LevelId"]').val());
$('input[name="LevelNumber"]').val($(data).find('input[name="LevelNumber"]').val());
highlightMy(userName);
getAnswers();
if(body){
let content=$(data).find('.content');
$('.content').removeClass('loaded');
$('.content').html($(content).html());
imgLnkAdd();
}
bonusCountUpdate($(data).find('.content'));
};
const initDef = (why,input )=>{
let d = $.Deferred();
d.done(function (data){
clearTimeout(timerId);
checkLogin(data);
let title=$(data).find('.content>h2').text();
if(title!=currentLevel){
why=true;
currentLevel=title;
soundPlay('new');
}else{
if($(data).find('.history>li.color_correct').length>0){
why=true;
soundPlay('correct');
}
}
let kode=$(input).val();
delInSendList(kode);
insertData(data,why,input);
timerId = setInterval(logLoad, reloadTime*1000);
});
d.fail(function (){
clearTimeout(timerId);
timerId = setInterval(logLoad, reloadTime*1000);
$('.aside .history').removeClass('loaded');
if(why){
$('.content').removeClass('loaded');
}
bonusCountUpdate();
let kode=$(input).val();
delInSendList(kode);
});
return d;
};
const logLoad = ()=>{
$('.aside .history').addClass('loaded');
GetDate(initDef(false, false));
};
let timerId = setInterval(logLoad, reloadTime*1000);
$('#reloadLog').on('click',function(){
clearTimeout(timerId);
logLoad();
return false;
});
$('#reloadPage').on('click',function(){
$('.content').addClass('loaded');
clearTimeout(timerId);
GetDate(initDef(true, false));
return false;
});
let req =null;
const sendData = (d,form)=>{
if(request!=null){
request.abort();
}
if(req!=null){
req.abort();
}
let submit=$($(form).find('.submit'));
submit.removeClass('state_1').removeClass('state_2').removeClass('state_3').removeClass('state_4');
req = GM_xmlhttpRequest({
method: 'POST',
url: window.location.href,
data:form.serialize() ,
headers: {"Content-Type": "application/x-www-form-urlencoded"},
onreadystatechange: function(res) {
submit.removeClass('state_1').removeClass('state_2').removeClass('state_3').removeClass('state_4').addClass('state_'+res.readyState);
},
onload: function (results) {
try {
d.resolve(results.responseText);
}
catch (err) {d.reject();}
req=null;
},
onerror: function(res) {
alert("Ошибка получения данных, возможны проблемы с интернетом или авторизацией.");
d.reject();
req=null;
}});
}
let form,inputForm;
if($('#Answer').length>0){
form=$('#Answer').parent();
inputForm=$('#Answer');
}else{
form=$('#answ').parent();
inputForm=$('#answ');
}
let selectFieldStat='';
if(localStorage.getItem('selectField')==true || localStorage.getItem('selectField')=='true'){ selectFieldStat=' checked '; }
form.append('<input type="checkbox" value="Y" id="selectField" '+selectFieldStat+' title="Выделять текст сразу" style="width: 30px;height: 20px;min-width: 30px;">');
$('#selectField').on('change',function(){
localStorage.setItem('selectField', $(this).prop('checked'));
});
form.on('submit',function(){
$('.content').addClass('loaded');
$('.aside .history').addClass('loaded');
clearTimeout(timerId);
let input='#Answer';
if($(input).length==0){
input='#answ';
}
if($('#selectField').prop('checked')){
$(input).select();
}
let kode=$(input).val();
changeSendCnt(kode);
sendData(initDef(true, input),form);
return false;
});
let form2=$('#BonusAnswer').parent();;
form2.on('submit',function(){
$('.content').addClass('loaded');
$('.aside .history').addClass('loaded');
clearTimeout(timerId);
if($('#selectField').prop('checked')){
$('#BonusAnswer').select();
}
sendData(initDef(true, '#BonusAnswer'),form2);
return false;
});
imgLnkAdd();
inputForm.on('keyup',function(){
//currentLogList
if(currentLogList.all.indexOf($(this).val())!=-1){
$(this).addClass('rb');
$(this).removeClass('gb');
}else{
$(this).removeClass('rb');
$(this).removeClass('gb');
}
if(currentLogList.correct.indexOf($(this).val())!=-1){
$(this).removeClass('rb');
$(this).addClass('gb');
}else{
$(this).removeClass('gb');
}
});
})($,jQuery);
try {
$('#ChatFrame').remove();
let history = $('.pane .history');
$('.aside .pane').remove();
$('.aside').append('<div class="pane"></div>');
$('.pane').append(history);
}
catch (err) { }