Добавить 2.0.1
This commit is contained in:
1 parent
9cea2c52b4
commit
820fc4bdf8
6 files changed
+157
-1101
No files matched your search
Symlink
+1
@@ -0,0 +1 @@
|
||||
муром_2.0.1.html
|
||||
@@ -1,166 +0,0 @@
|
||||
/*
|
||||
*
|
||||
* Скачиваемый файл / Downloaded file
|
||||
*
|
||||
*/
|
||||
|
||||
муром.файл = {};
|
||||
муром.файл.начало =
|
||||
`
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<body>
|
||||
<script>
|
||||
var муром = {};
|
||||
var murom = муром;
|
||||
муром.модули = [
|
||||
`;
|
||||
муром.файл.конец =
|
||||
`
|
||||
];
|
||||
|
||||
Object.defineProperty(murom, "modules", {
|
||||
get: function()
|
||||
{
|
||||
return муром.модули;
|
||||
},
|
||||
set: function(значения)
|
||||
{
|
||||
муром.модули = значения;
|
||||
}
|
||||
});
|
||||
|
||||
var загрузочныйМодуль = муром.модули[0];
|
||||
var код = atob(загрузочныйМодуль[1]);
|
||||
eval(код);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
`;
|
||||
|
||||
/*
|
||||
*
|
||||
* UUID
|
||||
*
|
||||
*/
|
||||
|
||||
// Create GUID / UUID in JavaScript?
|
||||
// https://stackoverflow.com/a/2117523
|
||||
муром.uuid = function()
|
||||
{
|
||||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
|
||||
/[xy]/g,
|
||||
function(c)
|
||||
{
|
||||
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
||||
return v.toString(16);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Уведомитель / Reporter
|
||||
*
|
||||
*/
|
||||
|
||||
// ReporterSubscription class.
|
||||
function ReporterSubscription(id, callback, reporter)
|
||||
{
|
||||
this.id = id;
|
||||
this.callback = callback;
|
||||
this.reporter = reporter;
|
||||
}
|
||||
|
||||
// Reporter class.
|
||||
function Reporter(name)
|
||||
{
|
||||
this.name =
|
||||
(typeof name !== "undefined") ?
|
||||
name :
|
||||
"";
|
||||
this.subscriptions = [];
|
||||
}
|
||||
Reporter.prototype.report = function()
|
||||
{
|
||||
for (var id in this.subscriptions)
|
||||
{
|
||||
var subscription = this.subscriptions[id];
|
||||
subscription.callback();
|
||||
}
|
||||
}
|
||||
Reporter.prototype.subscribe = function(callback)
|
||||
{
|
||||
var id = murom.uuid();
|
||||
var subscription = new ReporterSubscription(id, callback, this);
|
||||
this.subscriptions.push(subscription);
|
||||
return subscription;
|
||||
}
|
||||
Reporter.prototype.subscribeMany = function(funcs)
|
||||
{
|
||||
for (var i = 0; i < funcs.length; ++i)
|
||||
{
|
||||
var func = funcs[i];
|
||||
this.subscribe(func);
|
||||
}
|
||||
}
|
||||
|
||||
var Уведомитель = Reporter;
|
||||
Reporter.prototype.уведомить = function()
|
||||
{
|
||||
this.report();
|
||||
};
|
||||
Reporter.prototype.подписать = function(функция)
|
||||
{
|
||||
this.subscribe(функция);
|
||||
};
|
||||
Reporter.prototype.подписатьМного = function(funcs)
|
||||
{
|
||||
this.subscribeMany(funcs);
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Пуск / Start
|
||||
*
|
||||
*/
|
||||
|
||||
муром.пуск = new Уведомитель();
|
||||
// Can also be accessed as 'murom.run'.
|
||||
Object.defineProperty(murom, "run", {
|
||||
get: function()
|
||||
{
|
||||
return муром.пуск;
|
||||
}
|
||||
});
|
||||
murom.start = function()
|
||||
{
|
||||
муром.пуск.уведомить();
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Левая и правая области / Left and right regions
|
||||
*
|
||||
*/
|
||||
|
||||
муром.создатьЛевуюПравуюОбласти = function()
|
||||
{
|
||||
// Левая область.
|
||||
var ло = document.createElement("div");
|
||||
ло.id="левая-область";
|
||||
ло.style.cssText =
|
||||
"position: fixed; left: 0; top: 0; bottom: 0; width: 50%;";
|
||||
document.body.appendChild(ло);
|
||||
|
||||
// Правая область.
|
||||
var по = document.createElement("div");
|
||||
по.id="правая-область";
|
||||
по.style.cssText =
|
||||
"position: fixed; right: 0; top: 0; bottom: 0; width: 50%;";
|
||||
document.body.appendChild(по);
|
||||
|
||||
return [ло, по];
|
||||
};
|
||||
@@ -1,122 +0,0 @@
|
||||
/*
|
||||
* NOTE Only ASCII is allowed in this loading module
|
||||
* NOTE because it's deciphered with btoa() call,
|
||||
* NOTE which can't handle Unicode.
|
||||
* NOTE However, murom.atob/btoa functions (defined here)
|
||||
* NOTE work fine with Unicode, so you are free
|
||||
* NOTE to use Unicode in other modules
|
||||
*/
|
||||
|
||||
murom.installLocalForage = function()
|
||||
{
|
||||
/*
|
||||
localForage -- Offline Storage, Improved
|
||||
Version 1.7.3
|
||||
https://localforage.github.io/localForage
|
||||
(c) 2013-2017 Mozilla, Apache License 2.0
|
||||
*/
|
||||
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.localforage=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c||a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){(function(a){"use strict";function c(){k=!0;for(var a,b,c=l.length;c;){for(b=l,l=[],a=-1;++a<c;)b[a]();c=l.length}k=!1}function d(a){1!==l.push(a)||k||e()}var e,f=a.MutationObserver||a.WebKitMutationObserver;if(f){var g=0,h=new f(c),i=a.document.createTextNode("");h.observe(i,{characterData:!0}),e=function(){i.data=g=++g%2}}else if(a.setImmediate||void 0===a.MessageChannel)e="document"in a&&"onreadystatechange"in a.document.createElement("script")?function(){var b=a.document.createElement("script");b.onreadystatechange=function(){c(),b.onreadystatechange=null,b.parentNode.removeChild(b),b=null},a.document.documentElement.appendChild(b)}:function(){setTimeout(c,0)};else{var j=new a.MessageChannel;j.port1.onmessage=c,e=function(){j.port2.postMessage(0)}}var k,l=[];b.exports=d}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],2:[function(a,b,c){"use strict";function d(){}function e(a){if("function"!=typeof a)throw new TypeError("resolver must be a function");this.state=s,this.queue=[],this.outcome=void 0,a!==d&&i(this,a)}function f(a,b,c){this.promise=a,"function"==typeof b&&(this.onFulfilled=b,this.callFulfilled=this.otherCallFulfilled),"function"==typeof c&&(this.onRejected=c,this.callRejected=this.otherCallRejected)}function g(a,b,c){o(function(){var d;try{d=b(c)}catch(b){return p.reject(a,b)}d===a?p.reject(a,new TypeError("Cannot resolve promise with itself")):p.resolve(a,d)})}function h(a){var b=a&&a.then;if(a&&("object"==typeof a||"function"==typeof a)&&"function"==typeof b)return function(){b.apply(a,arguments)}}function i(a,b){function c(b){f||(f=!0,p.reject(a,b))}function d(b){f||(f=!0,p.resolve(a,b))}function e(){b(d,c)}var f=!1,g=j(e);"error"===g.status&&c(g.value)}function j(a,b){var c={};try{c.value=a(b),c.status="success"}catch(a){c.status="error",c.value=a}return c}function k(a){return a instanceof this?a:p.resolve(new this(d),a)}function l(a){var b=new this(d);return p.reject(b,a)}function m(a){function b(a,b){function d(a){g[b]=a,++h!==e||f||(f=!0,p.resolve(j,g))}c.resolve(a).then(d,function(a){f||(f=!0,p.reject(j,a))})}var c=this;if("[object Array]"!==Object.prototype.toString.call(a))return this.reject(new TypeError("must be an array"));var e=a.length,f=!1;if(!e)return this.resolve([]);for(var g=new Array(e),h=0,i=-1,j=new this(d);++i<e;)b(a[i],i);return j}function n(a){function b(a){c.resolve(a).then(function(a){f||(f=!0,p.resolve(h,a))},function(a){f||(f=!0,p.reject(h,a))})}var c=this;if("[object Array]"!==Object.prototype.toString.call(a))return this.reject(new TypeError("must be an array"));var e=a.length,f=!1;if(!e)return this.resolve([]);for(var g=-1,h=new this(d);++g<e;)b(a[g]);return h}var o=a(1),p={},q=["REJECTED"],r=["FULFILLED"],s=["PENDING"];b.exports=e,e.prototype.catch=function(a){return this.then(null,a)},e.prototype.then=function(a,b){if("function"!=typeof a&&this.state===r||"function"!=typeof b&&this.state===q)return this;var c=new this.constructor(d);if(this.state!==s){g(c,this.state===r?a:b,this.outcome)}else this.queue.push(new f(c,a,b));return c},f.prototype.callFulfilled=function(a){p.resolve(this.promise,a)},f.prototype.otherCallFulfilled=function(a){g(this.promise,this.onFulfilled,a)},f.prototype.callRejected=function(a){p.reject(this.promise,a)},f.prototype.otherCallRejected=function(a){g(this.promise,this.onRejected,a)},p.resolve=function(a,b){var c=j(h,b);if("error"===c.status)return p.reject(a,c.value);var d=c.value;if(d)i(a,d);else{a.state=r,a.outcome=b;for(var e=-1,f=a.queue.length;++e<f;)a.queue[e].callFulfilled(b)}return a},p.reject=function(a,b){a.state=q,a.outcome=b;for(var c=-1,d=a.queue.length;++c<d;)a.queue[c].callRejected(b);return a},e.resolve=k,e.reject=l,e.all=m,e.race=n},{1:1}],3:[function(a,b,c){(function(b){"use strict";"function"!=typeof b.Promise&&(b.Promise=a(2))}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{2:2}],4:[function(a,b,c){"use strict";function d(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function e(){try{if("undefined"!=typeof indexedDB)return indexedDB;if("undefined"!=typeof webkitIndexedDB)return webkitIndexedDB;iLine truncated
|
||||
};
|
||||
|
||||
murom.installUnicodeBase64 = function()
|
||||
{
|
||||
/*
|
||||
https://github.com/solderjs/TextEncoderLite
|
||||
Apache 2.0
|
||||
*/
|
||||
function TextEncoderLite(){}function TextDecoderLite(){}(function(){"use strict";function utf8ToBytes(string,units){units=units||Infinity;var codePoint;var length=string.length;var leadSurrogate=null;var bytes=[];var i=0;for(;i<length;i++){codePoint=string.charCodeAt(i);if(codePoint>55295&&codePoint<57344){if(leadSurrogate){if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}else{codePoint=leadSurrogate-55296<<10|codePoint-56320|65536;leadSurrogate=null}}else{if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}else{leadSurrogate=codePoint;continue}}}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=null}if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<2097152){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function utf8Slice(buf,start,end){var res="";var tmp="";end=Math.min(buf.length,end||Infinity);start=start||0;for(var i=start;i<end;i++){if(buf[i]<=127){res+=decodeUtf8Char(tmp)+String.fromCharCode(buf[i]);tmp=""}else{tmp+="%"+buf[i].toString(16)}}return res+decodeUtf8Char(tmp)}function decodeUtf8Char(str){try{return decodeURIComponent(str)}catch(err){return String.fromCharCode(65533)}}TextEncoderLite.prototype.encode=function(str){var result;if("undefined"===typeof Uint8Array){result=utf8ToBytes(str)}else{result=new Uint8Array(utf8ToBytes(str))}return result};TextDecoderLite.prototype.decode=function(bytes){return utf8Slice(bytes,0,bytes.length)}})();if(typeof module==="object"&&module){module.exports.TextDecoderLite=TextDecoderLite;module.exports.TextEncoderLite=TextEncoderLite}
|
||||
/*
|
||||
https://github.com/beatgammit/base64-js
|
||||
MIT
|
||||
*/
|
||||
(function(r){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=r()}else if(typeof define==="function"&&define.amd){define([],r)}else{var e;if(typeof window!=="undefined"){e=window}else if(typeof global!=="undefined"){e=global}else if(typeof self!=="undefined"){e=self}else{e=this}e.base64js=r()}})(function(){var r,e,n;return function(){function r(e,n,t){function o(f,i){if(!n[f]){if(!e[f]){var u="function"==typeof require&&require;if(!i&&u)return u(f,!0);if(a)return a(f,!0);var v=new Error("Cannot find module '"+f+"'");throw v.code="MODULE_NOT_FOUND",v}var d=n[f]={exports:{}};e[f][0].call(d.exports,function(r){var n=e[f][1][r];return o(n||r)},d,d.exports,r,e,n,t)}return n[f].exports}for(var a="function"==typeof require&&require,f=0;f<t.length;f++)o(t[f]);return o}return r}()({"/":[function(r,e,n){"use strict";n.byteLength=d;n.toByteArray=h;n.fromByteArray=p;var t=[];var o=[];var a=typeof Uint8Array!=="undefined"?Uint8Array:Array;var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,u=f.length;i<u;++i){t[i]=f[i];o[f.charCodeAt(i)]=i}o["-".charCodeAt(0)]=62;o["_".charCodeAt(0)]=63;function v(r){var e=r.length;if(e%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var n=r.indexOf("=");if(n===-1)n=e;var t=n===e?0:4-n%4;return[n,t]}function d(r){var e=v(r);var n=e[0];var t=e[1];return(n+t)*3/4-t}function c(r,e,n){return(e+n)*3/4-n}function h(r){var e;var n=v(r);var t=n[0];var f=n[1];var i=new a(c(r,t,f));var u=0;var d=f>0?t-4:t;for(var h=0;h<d;h+=4){e=o[r.charCodeAt(h)]<<18|o[r.charCodeAt(h+1)]<<12|o[r.charCodeAt(h+2)]<<6|o[r.charCodeAt(h+3)];i[u++]=e>>16&255;i[u++]=e>>8&255;i[u++]=e&255}if(f===2){e=o[r.charCodeAt(h)]<<2|o[r.charCodeAt(h+1)]>>4;i[u++]=e&255}if(f===1){e=o[r.charCodeAt(h)]<<10|o[r.charCodeAt(h+1)]<<4|o[r.charCodeAt(h+2)]>>2;i[u++]=e>>8&255;i[u++]=e&255}return i}function s(r){return t[r>>18&63]+t[r>>12&63]+t[r>>6&63]+t[r&63]}function l(r,e,n){var t;var o=[];for(var a=e;a<n;a+=3){t=(r[a]<<16&16711680)+(r[a+1]<<8&65280)+(r[a+2]&255);o.push(s(t))}return o.join("")}function p(r){var e;var n=r.length;var o=n%3;var a=[];var f=16383;for(var i=0,u=n-o;i<u;i+=f){a.push(l(r,i,i+f>u?u:i+f))}if(o===1){e=r[n-1];a.push(t[e>>2]+t[e<<4&63]+"==")}else if(o===2){e=(r[n-2]<<8)+r[n-1];a.push(t[e>>10]+t[e>>4&63]+t[e<<2&63]+"=")}return a.join("")}},{}]},{},[])("/")});
|
||||
/*
|
||||
https://developer.mozilla.org/ru/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
|
||||
*/
|
||||
murom.btoa = function(str)
|
||||
{
|
||||
var bytes = new (TextEncoder || TextEncoderLite)("utf-8").encode(str);
|
||||
return base64js.fromByteArray(bytes);
|
||||
};
|
||||
murom.atob = function(str)
|
||||
{
|
||||
var bytes = base64js.toByteArray(str);
|
||||
return new (TextDecoder || TextDecoderLite)("utf-8").decode(bytes);
|
||||
};
|
||||
};
|
||||
|
||||
murom.moduleProperties = function(id)
|
||||
{
|
||||
var m = murom.modules[id];
|
||||
return (typeof m[2] != "undefined") ? m[2] : {};
|
||||
};
|
||||
|
||||
murom.moduleStatus = function(id)
|
||||
{
|
||||
var prop = murom.moduleProperties(id);
|
||||
if ("status" in prop)
|
||||
{
|
||||
return prop["status"];
|
||||
}
|
||||
// Status == true if explicit record is absent.
|
||||
return true;
|
||||
};
|
||||
|
||||
murom.start = function()
|
||||
{
|
||||
console.debug("Override murom.start() function to be notified when all modules were loaded");
|
||||
}
|
||||
|
||||
murom.loadModules = function()
|
||||
{
|
||||
// Skip `0` module because it's us.
|
||||
for (var i = 1; i < murom.modules.length; ++i)
|
||||
{
|
||||
var module = murom.modules[i];
|
||||
var name = module[0];
|
||||
var code = murom.atob(module[1]);
|
||||
if (murom.moduleStatus(i) == false)
|
||||
{
|
||||
console.warn("Skip loading '" + name + "' module because it's turned off");
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
eval(code);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
console.error("Could not load '" + name + "' module: '" + e + "'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
murom.start();
|
||||
};
|
||||
|
||||
murom.loadIndexedDBModules = function(completionHandler)
|
||||
{
|
||||
// See if IndexedDB has modules.
|
||||
// IndexedDB modules override those coming from HTML.
|
||||
localforage.config({ name: "murom" });
|
||||
localforage.getItem("modules", function(error, modules) {
|
||||
if (modules)
|
||||
{
|
||||
murom.modules = modules;
|
||||
console.debug("Modules have been loaded from IndexedDB");
|
||||
}
|
||||
if (error)
|
||||
{
|
||||
console.error("Could not get modules from IndexedDB: '" + error + "'");
|
||||
}
|
||||
// Continue.
|
||||
completionHandler();
|
||||
});
|
||||
};
|
||||
|
||||
murom.installLocalForage();
|
||||
murom.installUnicodeBase64();
|
||||
// IndexedDB modules override HTML ones.
|
||||
murom.loadIndexedDBModules(murom.loadModules);
|
||||
|
||||
@@ -1,765 +0,0 @@
|
||||
/*
|
||||
*
|
||||
* Внешний вид
|
||||
*
|
||||
*/
|
||||
|
||||
function задатьВнешнийВид()
|
||||
{
|
||||
var вид = document.createElement("style");
|
||||
document.head.appendChild(вид);
|
||||
вид.innerHTML =
|
||||
`
|
||||
.муром-кнопка
|
||||
{
|
||||
padding: 0.5em 2em 0.5em 2em;
|
||||
margin-right: 0.5em;
|
||||
float: right;
|
||||
color: #222;
|
||||
font-family: sans-serif;
|
||||
border: 1px solid #ddd;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
text-transform: uppercase;
|
||||
-webkit-transition-duration: 0.2s; /* Safari */
|
||||
transition-duration: 0.2s;
|
||||
}
|
||||
.муром-кнопка:hover
|
||||
{
|
||||
border: 1px solid #222;
|
||||
}
|
||||
.муром-отступ-по-сторонам
|
||||
{
|
||||
margin-left: 0.5em;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
`;
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* Список модулей
|
||||
*
|
||||
*/
|
||||
|
||||
function СписокМодулей()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
this.создатьИнтерфейс();
|
||||
this.задатьВид();
|
||||
this.выбрали = new Уведомитель();
|
||||
this.выбрали.подписать(function(){
|
||||
я.отобразитьВыбор();
|
||||
});
|
||||
}
|
||||
СписокМодулей.prototype.создатьИнтерфейс = function()
|
||||
{
|
||||
// Помещаем таблицу в div для реализации промотки.
|
||||
this.иф = document.createElement("div");
|
||||
this.таблица = document.createElement("table");
|
||||
this.иф.appendChild(this.таблица);
|
||||
};
|
||||
СписокМодулей.prototype.задатьВид = function()
|
||||
{
|
||||
this.иф.style.cssText =
|
||||
`
|
||||
overflow: auto;
|
||||
height: 18.5em;
|
||||
border: 1px solid #ddd;
|
||||
/*
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
*/
|
||||
`;
|
||||
this.таблица.style.cssText =
|
||||
`
|
||||
color: #666666;
|
||||
font-family: sans-serif;
|
||||
cursor: default;
|
||||
border-collapse: collapse;
|
||||
`;
|
||||
};
|
||||
СписокМодулей.prototype.очистить = function()
|
||||
{
|
||||
while (this.таблица.rows.length)
|
||||
{
|
||||
this.таблица.deleteRow(0);
|
||||
};
|
||||
};
|
||||
СписокМодулей.prototype.добавитьЭлемент = function(статус, имя)
|
||||
{
|
||||
var статусHTML = "";
|
||||
if (статус)
|
||||
{
|
||||
статусHTML = "checked";
|
||||
}
|
||||
|
||||
var ряд = this.таблица.insertRow();
|
||||
var ячейка = 0;
|
||||
|
||||
var номер = ряд.insertCell(ячейка++);
|
||||
номер.innerHTML = this.таблица.rows.length - 1;
|
||||
номер.style.cssText = "padding: 0.5em;";
|
||||
|
||||
var вкл = ряд.insertCell(ячейка++);
|
||||
вкл.innerHTML = `<input type="checkbox" disabled ` + статусHTML + `></input>`;
|
||||
|
||||
var название = ряд.insertCell(ячейка++);
|
||||
название.innerHTML = имя;
|
||||
название.style.cssText = "padding: 0.5em; width: 100%;";
|
||||
};
|
||||
СписокМодулей.prototype.отобразитьСписок = function(список)
|
||||
{
|
||||
this.очистить();
|
||||
for (var номер in список)
|
||||
{
|
||||
var элемент = список[номер];
|
||||
var статус = элемент[0];
|
||||
var имя = элемент[1];
|
||||
this.добавитьЭлемент(статус, имя);
|
||||
}
|
||||
};
|
||||
СписокМодулей.prototype.улавливатьВыборЭлемента = function(номер)
|
||||
{
|
||||
var я = this;
|
||||
|
||||
var ряд = this.таблица.rows[номер]
|
||||
ряд.onclick = function()
|
||||
{
|
||||
я.выборРанее = я.выбор;
|
||||
я.выбор = номер;
|
||||
я.выбрали.уведомить();
|
||||
};
|
||||
};
|
||||
СписокМодулей.prototype.улавливатьВыбор = function()
|
||||
{
|
||||
this.выборРанее = null;
|
||||
this.выбор = null;
|
||||
for (var номер = 0; номер < this.таблица.rows.length; ++номер)
|
||||
{
|
||||
this.улавливатьВыборЭлемента(номер);
|
||||
}
|
||||
};
|
||||
СписокМодулей.prototype.отобразитьВыбор = function()
|
||||
{
|
||||
if (this.выборРанее != null)
|
||||
{
|
||||
var ряд = this.таблица.rows[this.выборРанее];
|
||||
ряд.style.backgroundColor = null;
|
||||
}
|
||||
var ряд = this.таблица.rows[this.выбор];
|
||||
ряд.style.backgroundColor = "#eee";
|
||||
};
|
||||
СписокМодулей.prototype.задатьСписок = function(список)
|
||||
{
|
||||
this.отобразитьСписок(список);
|
||||
this.улавливатьВыбор();
|
||||
};
|
||||
СписокМодулей.prototype.выбрать = function(номер)
|
||||
{
|
||||
var ряд = this.таблица.rows[номер];
|
||||
ряд.scrollIntoView();
|
||||
ряд.onclick();
|
||||
};
|
||||
СписокМодулей.prototype.обновитьЭлемент = function(номер, статус, имя)
|
||||
{
|
||||
var ряд = this.таблица.rows[номер];
|
||||
ряд.cells[1].childNodes[0].checked = статус;
|
||||
ряд.cells[2].innerHTML = имя;
|
||||
};
|
||||
СписокМодулей.prototype.удалитьЭлемент = function(номер)
|
||||
{
|
||||
var ряд = this.таблица.rows[номер];
|
||||
ряд.parentNode.removeChild(ряд);
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* Тест списка модулей
|
||||
*
|
||||
*/
|
||||
|
||||
function ТестСпискаМодулей()
|
||||
{
|
||||
this.создатьИнтерфейс();
|
||||
}
|
||||
ТестСпискаМодулей.prototype.создатьИнтерфейс = function()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
this.иф = document.createElement("div");
|
||||
this.список = new СписокМодулей();
|
||||
this.иф.appendChild(this.список.иф);
|
||||
|
||||
var модули = [
|
||||
[true, "муром.загрузка_1.0.0"],
|
||||
[true, "муром.uuid_1.0.0"],
|
||||
[true, "Уведомитель_1.0.0"],
|
||||
[false, "uikit_3.2.0.css"],
|
||||
[false, "uikit_3.2.0.js"],
|
||||
[false, "ПанельУправления.UIKit"],
|
||||
[false, "ПанельУправления_1.0.0"],
|
||||
];
|
||||
|
||||
this.список.задатьСписок(модули);
|
||||
this.список.выбрать(0);
|
||||
|
||||
this.создатьКнопку("Выбрать последний", function(){
|
||||
console.log("выбрать");
|
||||
я.список.выбрать(модули.length - 1);
|
||||
});
|
||||
this.создатьКнопку("Обновить последний", function(){
|
||||
я.список.обновитьЭлемент(модули.length - 1, true, "Новое имя");
|
||||
});
|
||||
this.создатьКнопку("Удалить последний", function(){
|
||||
я.список.удалитьЭлемент(модули.length - 1);
|
||||
});
|
||||
this.создатьКнопку("Добавить", function(){
|
||||
я.список.добавитьЭлемент(true, "Новый-599");
|
||||
var номер = я.список.таблица.rows.length - 1;
|
||||
я.список.улавливатьВыборЭлемента(номер);
|
||||
я.список.выбрать(номер);
|
||||
});
|
||||
};
|
||||
ТестСпискаМодулей.prototype.создатьКнопку = function(имя, реакция)
|
||||
{
|
||||
var кнопка = document.createElement("button");
|
||||
кнопка.innerHTML = имя;
|
||||
this.иф.appendChild(кнопка);
|
||||
кнопка.onclick = реакция;
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Свойства модуля
|
||||
*
|
||||
*/
|
||||
|
||||
function СвойстваМодуля()
|
||||
{
|
||||
this.создатьИнтерфейс();
|
||||
this.изменилиНомер = new Уведомитель();
|
||||
this.настроитьНомер();
|
||||
this.изменилиИмя = new Уведомитель();
|
||||
this.настроитьИмя();
|
||||
this.изменилиСтатус = new Уведомитель();
|
||||
this.настроитьСтатус();
|
||||
this.удалить = new Уведомитель();
|
||||
this.настроитьУдаление();
|
||||
}
|
||||
СвойстваМодуля.prototype.создатьИнтерфейс = function()
|
||||
{
|
||||
this.иф = document.createElement("div");
|
||||
this.иф.style.cssText =
|
||||
`
|
||||
border: 1px solid #ddd;
|
||||
/*
|
||||
padding: 0.5em;
|
||||
margin: 0.5em;
|
||||
*/
|
||||
color: #666666;
|
||||
font-family: sans-serif;
|
||||
`;
|
||||
this.таблица = document.createElement("table");
|
||||
this.иф.appendChild(this.таблица);
|
||||
};
|
||||
Object.defineProperty(СвойстваМодуля.prototype, "номер", {
|
||||
get: function()
|
||||
{
|
||||
return Number(this.полеНомер.value);
|
||||
},
|
||||
set: function(значение)
|
||||
{
|
||||
this.полеНомер.value = значение;
|
||||
}
|
||||
});
|
||||
СвойстваМодуля.prototype.настроитьНомер = function()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
var ряд = this.таблица.insertRow();
|
||||
var ячейка = 0;
|
||||
|
||||
var ключ = ряд.insertCell(ячейка++);
|
||||
ключ.innerHTML = "Номер:";
|
||||
ключ.style.cssText = "padding: 0.5em;";
|
||||
|
||||
var значение = ряд.insertCell(ячейка++);
|
||||
this.полеНомер = document.createElement("input");
|
||||
this.полеНомер.type = "number";
|
||||
this.полеНомер.min = 0;
|
||||
значение.style.cssText = "width: 100%; padding: 0.5em;";
|
||||
this.полеНомер.style.cssText = "width: 100%;";
|
||||
значение.appendChild(this.полеНомер);
|
||||
|
||||
this.полеНомер.oninput = function()
|
||||
{
|
||||
я.изменилиНомер.уведомить();
|
||||
};
|
||||
};
|
||||
Object.defineProperty(СвойстваМодуля.prototype, "имя", {
|
||||
get: function()
|
||||
{
|
||||
return this.полеИмя.value;
|
||||
},
|
||||
set: function(значение)
|
||||
{
|
||||
this.полеИмя.value = значение;
|
||||
}
|
||||
});
|
||||
СвойстваМодуля.prototype.настроитьИмя = function()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
var ряд = this.таблица.insertRow();
|
||||
var ячейка = 0;
|
||||
|
||||
var ключ = ряд.insertCell(ячейка++);
|
||||
ключ.innerHTML = "Имя:";
|
||||
ключ.style.cssText = "padding: 0.5em;";
|
||||
|
||||
var значение = ряд.insertCell(ячейка++);
|
||||
this.полеИмя = document.createElement("input");
|
||||
значение.style.cssText = "width: 100%; padding: 0.5em;";
|
||||
this.полеИмя.style.cssText = "width: 100%;";
|
||||
значение.appendChild(this.полеИмя);
|
||||
|
||||
this.полеИмя.oninput = function()
|
||||
{
|
||||
я.изменилиИмя.уведомить();
|
||||
};
|
||||
};
|
||||
Object.defineProperty(СвойстваМодуля.prototype, "статус", {
|
||||
get: function()
|
||||
{
|
||||
return this.переключатель.checked;
|
||||
},
|
||||
set: function(значение)
|
||||
{
|
||||
this.переключатель.checked = значение;
|
||||
}
|
||||
});
|
||||
СвойстваМодуля.prototype.настроитьСтатус = function()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
var ряд = this.таблица.insertRow();
|
||||
var ячейка = 0;
|
||||
|
||||
var ключ = ряд.insertCell(ячейка++);
|
||||
ключ.innerHTML = "Исполнять:";
|
||||
ключ.style.cssText = "padding: 0.5em;";
|
||||
|
||||
var значение = ряд.insertCell(ячейка++);
|
||||
this.переключатель = document.createElement("input");
|
||||
this.переключатель.type = "checkbox";
|
||||
this.переключатель.style.cssText = "padding: 0.5em;";
|
||||
значение.appendChild(this.переключатель);
|
||||
|
||||
this.переключатель.onchange = function()
|
||||
{
|
||||
я.изменилиСтатус.уведомить();
|
||||
};
|
||||
ключ.onclick = function()
|
||||
{
|
||||
я.переключатель.checked = !я.переключатель.checked;
|
||||
я.изменилиСтатус.уведомить();
|
||||
};
|
||||
};
|
||||
СвойстваМодуля.prototype.настроитьУдаление = function()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
var ряд = this.таблица.insertRow();
|
||||
var ячейка = 0;
|
||||
|
||||
ряд.insertCell(ячейка++);
|
||||
var значение = ряд.insertCell(ячейка++);
|
||||
|
||||
this.кнопкаУдалить = document.createElement("button");
|
||||
this.кнопкаУдалить.innerHTML = "Удалить";
|
||||
this.кнопкаУдалить.classList.add("муром-кнопка");
|
||||
значение.appendChild(this.кнопкаУдалить);
|
||||
|
||||
this.кнопкаУдалить.onclick = function()
|
||||
{
|
||||
я.удалить.уведомить();
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Тест свойства модуля
|
||||
*
|
||||
*/
|
||||
|
||||
function ТестСвойстваМодуля()
|
||||
{
|
||||
this.создатьИнтерфейс();
|
||||
}
|
||||
ТестСвойстваМодуля.prototype.создатьИнтерфейс = function()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
this.иф = document.createElement("div");
|
||||
this.свойства = new СвойстваМодуля();
|
||||
this.иф.appendChild(this.свойства.иф);
|
||||
|
||||
this.свойства.изменилиНомер.подписать(function(){
|
||||
console.log("номер: '" + я.свойства.номер + "'");
|
||||
});
|
||||
this.свойства.изменилиИмя.подписать(function(){
|
||||
console.log("имя: '" + я.свойства.имя + "'");
|
||||
});
|
||||
this.свойства.изменилиСтатус.подписать(function(){
|
||||
console.log("статус: '" + я.свойства.статус + "'");
|
||||
});
|
||||
this.свойства.удалить.подписать(function(){
|
||||
console.log("удалить модуль '" + я.свойства.имя + "'");
|
||||
});
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Модули
|
||||
*
|
||||
*/
|
||||
|
||||
function Модули()
|
||||
{
|
||||
|
||||
}
|
||||
Модули.prototype.свойства = function(номер)
|
||||
{
|
||||
return murom.moduleProperties(номер);
|
||||
};
|
||||
Модули.prototype.задатьСвойства = function(номер, свойства)
|
||||
{
|
||||
var м = муром.модули[номер];
|
||||
м[2] = свойства;
|
||||
};
|
||||
Модули.prototype.статус = function(номер)
|
||||
{
|
||||
return murom.moduleStatus(номер);
|
||||
};
|
||||
Модули.prototype.задатьСтатус = function(номер, статус)
|
||||
{
|
||||
var св = this.свойства(номер);
|
||||
св["status"] = статус;
|
||||
this.задатьСвойства(номер, св);
|
||||
};
|
||||
Модули.prototype.задатьИмя = function(номер, имя)
|
||||
{
|
||||
var м = муром.модули[номер];
|
||||
м[0] = имя;
|
||||
};
|
||||
Модули.prototype.задатьНомер = function(старый, новый)
|
||||
{
|
||||
//console.log("задать номер. '" + старый + "' -> '" + новый + "'");
|
||||
var модуль = муром.модули[старый];
|
||||
// Удаляем старую запись.
|
||||
муром.модули.splice(старый, 1);
|
||||
// Добавляем модуль в новую позицию.
|
||||
муром.модули.splice(новый, 0, модуль);
|
||||
};
|
||||
|
||||
/*
|
||||
*
|
||||
* Панель управления
|
||||
*
|
||||
*/
|
||||
|
||||
function ПанельУправления()
|
||||
{
|
||||
this.модули = new Модули();
|
||||
this.создатьОснову();
|
||||
this.создатьСохранениеСкачиваниеДобавление();
|
||||
this.создатьСписокМодулей();
|
||||
this.создатьСвойстваМодуля();
|
||||
}
|
||||
ПанельУправления.prototype.создатьОбёрткуЯчейку = function()
|
||||
{
|
||||
var обёртка = document.createElement("table");
|
||||
обёртка.style.cssText = "width: 100%;";
|
||||
var ряд = обёртка.insertRow();
|
||||
var ячейка = ряд.insertCell();
|
||||
return [обёртка, ячейка];
|
||||
};
|
||||
ПанельУправления.prototype.создатьОснову = function()
|
||||
{
|
||||
this.иф = document.createElement("table");
|
||||
this.иф.style.cssText = "width: 100%;";
|
||||
var ряд = this.иф.insertRow();
|
||||
this.лево = ряд.insertCell();
|
||||
this.лево.style.cssText = "width: 100%;";
|
||||
var право = ряд.insertCell();
|
||||
право.style.cssText = "height: 100%;";
|
||||
this.кнопки = document.createElement("table");
|
||||
this.кнопки.style.cssText = "height: 100%;";
|
||||
право.appendChild(this.кнопки);
|
||||
ряд = this.иф.insertRow();
|
||||
this.низ = ряд.insertCell();
|
||||
this.низ.colSpan = 2;
|
||||
};
|
||||
ПанельУправления.prototype.создатьСписокМодулей = function()
|
||||
{
|
||||
this.список = new СписокМодулей();
|
||||
this.список.задатьСписок(this.списокМодулей());
|
||||
var оя = this.создатьОбёрткуЯчейку();
|
||||
this.лево.appendChild(оя[0]);
|
||||
оя[1].appendChild(this.список.иф);
|
||||
};
|
||||
ПанельУправления.prototype.создатьСвойстваМодуля = function()
|
||||
{
|
||||
this.свойства = new СвойстваМодуля();
|
||||
оя = this.создатьОбёрткуЯчейку();
|
||||
this.низ.appendChild(оя[0]);
|
||||
оя[1].appendChild(this.свойства.иф);
|
||||
};
|
||||
ПанельУправления.prototype.списокМодулей = function()
|
||||
{
|
||||
var список = [];
|
||||
for (var номер in муром.модули)
|
||||
{
|
||||
var м = муром.модули[номер];
|
||||
var статус = this.модули.статус(номер);
|
||||
var имя = м[0];
|
||||
var элемент = [статус, имя];
|
||||
список.push(элемент);
|
||||
}
|
||||
|
||||
return список;
|
||||
};
|
||||
ПанельУправления.prototype.создатьКнопку = function(имя, уведомитель)
|
||||
{
|
||||
var кнопка = document.createElement("button");
|
||||
кнопка.innerHTML = имя;
|
||||
кнопка.style.cssText = "width: 100%;";
|
||||
кнопка.classList.add("муром-кнопка");
|
||||
кнопка.onclick = function()
|
||||
{
|
||||
уведомитель.уведомить();
|
||||
};
|
||||
|
||||
return кнопка;
|
||||
};
|
||||
ПанельУправления.prototype.создатьСохранениеСкачиваниеДобавление = function()
|
||||
{
|
||||
var я = this;
|
||||
|
||||
var ряд = this.кнопки.insertRow();
|
||||
var ячейка = ряд.insertCell();
|
||||
this.сохранить = new Уведомитель();
|
||||
this.кнопкаСохранить = this.создатьКнопку("Сохранить", this.сохранить);
|
||||
ячейка.appendChild(this.кнопкаСохранить);
|
||||
|
||||
ряд = this.кнопки.insertRow();
|
||||
ячейка = ряд.insertCell();
|
||||
this.скачать = new Уведомитель();
|
||||
this.кнопкаСкачать = this.создатьКнопку("Скачать", this.скачать);
|
||||
ячейка.appendChild(this.кнопкаСкачать);
|
||||
|
||||
// Пробел.
|
||||
ряд = this.кнопки.insertRow();
|
||||
ячейка = ряд.insertCell();
|
||||
ячейка.style.cssText = "height: 100%;";
|
||||
|
||||
ряд = this.кнопки.insertRow();
|
||||
ячейка = ряд.insertCell();
|
||||
this.добавить = new Уведомитель();
|
||||
this.кнопкаДобавить = this.создатьКнопку("Добавить", this.добавить);
|
||||
ячейка.appendChild(this.кнопкаДобавить);
|
||||
};
|
||||
ПанельУправления.prototype.имяФайла = function()
|
||||
{
|
||||
var путь = window.location.pathname;
|
||||
var имя = путь.split("/").pop();
|
||||
return decodeURI(имя);
|
||||
};
|
||||
|
||||
function запуститьПУ()
|
||||
{
|
||||
var пу = new ПанельУправления();
|
||||
муром.пу = пу;
|
||||
var области = муром.создатьЛевуюПравуюОбласти();
|
||||
var по = области[1];
|
||||
по.appendChild(пу.иф);
|
||||
муром.создатьРедакторВЛевойОбласти();
|
||||
var список = пу.список;
|
||||
var свойства = пу.свойства;
|
||||
var модули = пу.модули;
|
||||
|
||||
function отобразитьКодВыбранногоМодуля()
|
||||
{
|
||||
var модуль = муром.модули[список.выбор];
|
||||
var код = муром.atob(модуль[1]);
|
||||
муром.редактор.session.setValue(код);
|
||||
}
|
||||
function отобразитьСвойстваВыбранногоМодуля()
|
||||
{
|
||||
var модуль = муром.модули[список.выбор];
|
||||
|
||||
свойства.номер = список.выбор;
|
||||
свойства.имя = модуль[0];
|
||||
свойства.статус = пу.модули.статус(список.выбор);
|
||||
}
|
||||
список.выбрали.подписатьМного([
|
||||
отобразитьКодВыбранногоМодуля,
|
||||
отобразитьСвойстваВыбранногоМодуля,
|
||||
]);
|
||||
|
||||
function обновитьСтатусМодуля()
|
||||
{
|
||||
var номер = список.выбор;
|
||||
var имя = свойства.имя;
|
||||
var статус = свойства.статус;
|
||||
модули.задатьСтатус(номер, статус);
|
||||
список.обновитьЭлемент(номер, статус, имя);
|
||||
}
|
||||
свойства.изменилиСтатус.подписать(обновитьСтатусМодуля);
|
||||
|
||||
function обновитьИмяМодуля()
|
||||
{
|
||||
var номер = список.выбор;
|
||||
var имя = свойства.имя;
|
||||
var статус = свойства.статус;
|
||||
модули.задатьИмя(номер, имя);
|
||||
список.обновитьЭлемент(номер, статус, имя);
|
||||
}
|
||||
свойства.изменилиИмя.подписать(обновитьИмяМодуля);
|
||||
|
||||
function обновитьНомерМодуля()
|
||||
{
|
||||
var старый = список.выбор;
|
||||
var новый = свойства.номер;
|
||||
if (старый == новый)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (новый > муром.модули.length - 1)
|
||||
{
|
||||
новый = муром.модули.length - 1;
|
||||
}
|
||||
модули.задатьНомер(старый, новый);
|
||||
список.задатьСписок(пу.списокМодулей());
|
||||
список.выбрать(новый);
|
||||
}
|
||||
свойства.изменилиНомер.подписать(обновитьНомерМодуля);
|
||||
|
||||
function добавитьМодуль()
|
||||
{
|
||||
var число = Math.floor(Math.random() * Math.floor(1000));
|
||||
var имя = "новый-" + число;
|
||||
var код = `console.log("НАДО Добавить код в модуль '` + имя + `'");`;
|
||||
var модуль = [имя, муром.btoa(код)];
|
||||
муром.модули.push(модуль);
|
||||
var модули = пу.списокМодулей();
|
||||
список.задатьСписок(модули);
|
||||
список.выбрать(модули.length - 1);
|
||||
}
|
||||
пу.добавить.подписать(добавитьМодуль);
|
||||
|
||||
function удалитьМодуль()
|
||||
{
|
||||
var номер = список.выбор;
|
||||
|
||||
var статус = пу.модули.статус(номер);
|
||||
if (статус)
|
||||
{
|
||||
alert("ОШИБКА Удалить можно лишь неисполняемый модуль");
|
||||
return;
|
||||
}
|
||||
|
||||
// Удалить выбранный модуль.
|
||||
муром.модули.splice(номер, 1);
|
||||
--номер;
|
||||
if (номер < 0)
|
||||
{
|
||||
номер = 0;
|
||||
}
|
||||
var модули = пу.списокМодулей();
|
||||
список.задатьСписок(модули);
|
||||
список.выбрать(номер);
|
||||
}
|
||||
свойства.удалить.подписать(удалитьМодуль);
|
||||
|
||||
function сохранитьВыбранныйМодуль()
|
||||
{
|
||||
var модуль = муром.модули[список.выбор];
|
||||
var код = муром.редактор.session.getValue();
|
||||
модуль[1] = муром.btoa(код);
|
||||
}
|
||||
function сохранить()
|
||||
{
|
||||
пу.кнопкаСохранить.disabled = true;
|
||||
localforage.setItem("modules", муром.модули, function(ошибка, значение){
|
||||
пу.кнопкаСохранить.disabled = false;
|
||||
if (ошибка)
|
||||
{
|
||||
console.error("Не удалось сохранить модули: '" + ошибка + "'");
|
||||
}
|
||||
});
|
||||
}
|
||||
пу.сохранить.подписатьМного([
|
||||
сохранитьВыбранныйМодуль,
|
||||
сохранить,
|
||||
]);
|
||||
|
||||
// How to create a file in memory for user to download, but not through server?
|
||||
// https://stackoverflow.com/a/18197341
|
||||
function скачать()
|
||||
{
|
||||
var содержимое = муром.файл.начало;
|
||||
for (var номер in муром.модули)
|
||||
{
|
||||
var модуль = муром.модули[номер];
|
||||
var имя = модуль[0];
|
||||
var код64 = модуль[1];
|
||||
var свойства = модули.свойства(номер);
|
||||
содержимое +=
|
||||
`
|
||||
|
||||
[
|
||||
"` + имя + `",
|
||||
"` + код64 + `",
|
||||
`
|
||||
+
|
||||
JSON.stringify(свойства)
|
||||
+
|
||||
`
|
||||
],
|
||||
`
|
||||
;
|
||||
}
|
||||
содержимое += муром.файл.конец;
|
||||
содержимое = муром.btoa(содержимое);
|
||||
|
||||
var ссыль = document.createElement("a");
|
||||
ссыль.setAttribute("href", "data:text/html;charset=utf-8;base64," + содержимое);
|
||||
var имя = пу.имяФайла();
|
||||
ссыль.setAttribute("download", имя);
|
||||
ссыль.style.display = "none";
|
||||
document.body.appendChild(ссыль);
|
||||
ссыль.click();
|
||||
document.body.removeChild(ссыль);
|
||||
}
|
||||
пу.скачать.подписать(скачать);
|
||||
|
||||
// При запуске.
|
||||
список.выбрать(0);
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* Пуск
|
||||
*
|
||||
*/
|
||||
|
||||
if (window.location.search == "?0")
|
||||
{
|
||||
console.debug("Запуск панели управления");
|
||||
задатьВнешнийВид();
|
||||
запуститьПУ();
|
||||
console.debug("Панель управления запущена")
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
муром.загрузитьACE = function()
|
||||
{
|
||||
// Редактор кода ACE.
|
||||
// https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/ace.js
|
||||
(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(thisLine truncated
|
||||
ace.require(["ace/ace"], function(a) {
|
||||
if (a) {
|
||||
a.config.init(true);
|
||||
a.define = ace.define;
|
||||
}
|
||||
if (!window.ace)
|
||||
window.ace = a;
|
||||
for (var key in a) if (a.hasOwnProperty(key))
|
||||
window.ace[key] = a[key];
|
||||
window.ace["default"] = window.ace;
|
||||
if (typeof module == "object" && typeof exports == "object" && module) {
|
||||
module.exports = window.ace;
|
||||
}
|
||||
});
|
||||
})();
|
||||
};
|
||||
|
||||
муром.загрузитьРежимACEJS = function()
|
||||
{
|
||||
// Режим JavaScript для ACE.
|
||||
// https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/mode-javascript.js
|
||||
ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"functionLine truncated
|
||||
ace.require(["ace/mode/javascript"], function(m) {
|
||||
if (typeof module == "object" && typeof exports == "object" && module) {
|
||||
module.exports = m;
|
||||
}
|
||||
});
|
||||
})();
|
||||
};
|
||||
|
||||
муром.создатьРедакторВЛевойОбласти = function()
|
||||
{
|
||||
муром.загрузитьACE();
|
||||
муром.загрузитьРежимACEJS();
|
||||
|
||||
var редактор = document.createElement("div");
|
||||
редактор.id = "редактор";
|
||||
редактор.style.cssText = "height: 100%;";
|
||||
var область = document.getElementById("левая-область");
|
||||
область.appendChild(редактор);
|
||||
муром.редактор = window.ace.edit("редактор");
|
||||
муром.редактор.session.setMode("ace/mode/javascript");
|
||||
};
|
||||
@@ -0,0 +1,156 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<body>
|
||||
<script>
|
||||
var муром = {};
|
||||
var murom = муром;
|
||||
муром.модули = [
|
||||
|
||||
|
||||
[
|
||||
"муром.загрузка_1.0.1",
|
||||
"LyoKICogTk9URSBPbmx5IEFTQ0lJIGlzIGFsbG93ZWQgaW4gdGhpcyBsb2FkaW5nIG1vZHVsZQogKiBOT1RFIGJlY2F1c2UgaXQncyBkZWNpcGhlcmVkIHdpdGggYnRvYSgpIGNhbGwsCiAqIE5PVEUgd2hpY2ggY2FuJ3QgaGFuZGxlIFVuaWNvZGUuCiAqIE5PVEUgSG93ZXZlciwgbXVyb20uYXRvYi9idG9hIGZ1bmN0aW9ucyAoZGVmaW5lZCBoZXJlKQogKiBOT1RFIHdvcmsgZmluZSB3aXRoIFVuaWNvZGUsIHNvIHlvdSBhcmUgZnJlZQogKiBOT1RFIHRvIHVzZSBVbmljb2RlIGluIG90aGVyIG1vZHVsZXMKICovCgptdXJvbS5pbnN0YWxsTG9jYWxGb3JhZ2UgPSBmdW5jdGlvbigpCnsKLyoKICAgIGxvY2FsRm9yYWdlIC0tIE9mZmxpbmUgU3RvcmFnZSwgSW1wcm92ZWQKICAgIFZlcnNpb24gMS43LjMKICAgIGh0dHBzOi8vbG9jYWxmb3JhZ2UuZ2l0aHViLmlvL2xvY2FsRm9yYWdlCiAgICAoYykgMjAxMy0yMDE3IE1vemlsbGEsIEFwYWNoZSBMaWNlbnNlIDIuMAoqLwohZnVuY3Rpb24oYSl7aWYoIm9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSltb2R1bGUuZXhwb3J0cz1hKCk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSxhKTtlbHNle3ZhciBiO2I9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLGIubG9jYWxmb3JhZ2U9YSgpfX0oZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gYShiLGMsZCl7ZnVuY3Rpb24gZShnLGgpe2lmKCFjW2ddKXtpZighYltnXSl7dmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWgmJmkpcmV0dXJuIGkoZywhMCk7aWYoZilyZXR1cm4gZihnLCEwKTt2YXIgaj1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIitnKyInIik7dGhyb3cgai5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixqfXZhciBrPWNbZ109e2V4cG9ydHM6e319O2JbZ11bMF0uY2FsbChrLmV4cG9ydHMsZnVuY3Rpb24oYSl7dmFyIGM9YltnXVsxXVthXTtyZXR1cm4gZShjfHxhKX0sayxrLmV4cG9ydHMsYSxiLGMsZCl9cmV0dXJuIGNbZ10uZXhwb3J0c31mb3IodmFyIGY9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsZz0wO2c8ZC5sZW5ndGg7ZysrKWUoZFtnXSk7cmV0dXJuIGV9KHsxOltmdW5jdGlvbihhLGIsYyl7KGZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBjKCl7az0hMDtmb3IodmFyIGEsYixjPWwubGVuZ3RoO2M7KXtmb3IoYj1sLGw9W10sYT0tMTsrK2E8YzspYlthXSgpO2M9bC5sZW5ndGh9az0hMX1mdW5jdGlvbiBkKGEpezEhPT1sLnB1c2goYSl8fGt8fGUoKX12YXIgZSxmPWEuTXV0YXRpb25PYnNlcnZlcnx8YS5XZWJLaXRNdXRhdGlvbk9ic2VydmVyO2lmKGYpe3ZhciBnPTAsaD1uZXcgZihjKSxpPWEuZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO2gub2JzZXJ2ZShpLHtjaGFyYWN0ZXJEYXRhOiEwfSksZT1mdW5jdGlvbigpe2kuZGF0YT1nPSsrZyUyfX1lbHNlIGlmKGEuc2V0SW1tZWRpYXRlfHx2b2lkIDA9PT1hLk1lc3NhZ2VDaGFubmVsKWU9ImRvY3VtZW50ImluIGEmJiJvbnJlYWR5c3RhdGVjaGFuZ2UiaW4gYS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKT9mdW5jdGlvbigpe3ZhciBiPWEuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Yi5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtjKCksYi5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYiksYj1udWxsfSxhLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChiKX06ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGMsMCl9O2Vsc2V7dmFyIGo9bmV3IGEuTWVzc2FnZUNoYW5uZWw7ai5wb3J0MS5vbm1lc3NhZ2U9YyxlPWZ1bmN0aW9uKCl7ai5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19dmFyIGssbD1bXTtiLmV4cG9ydHM9ZH0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se31dLDI6W2Z1bmN0aW9uKGEsYixjKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZCgpe31mdW5jdGlvbiBlKGEpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoInJlc29sdmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3RoaXMuc3RhdGU9cyx0aGlzLnF1ZXVlPVtdLHRoaXMub3V0Y29tZT12b2lkIDAsYSE9PWQmJmkodGhpcyxhKX1mdW5jdGlvbiBmKGEsYixjKXt0aGlzLnByb21pc2U9YSwiZnVuY3Rpb24iPT10eXBlb2YgYiYmKHRoaXMub25GdWxmaWxsZWQ9Yix0aGlzLmNhbGxGdWxmaWxsZWQ9dGhpcy5vdGhlckNhbGxGdWxmaWxsZWQpLCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYodGhpcy5vblJlamVjdGVkPWMsdGhpcy5jYWxsUmVqZWN0ZWQ9dGhpcy5vdGhlckNhbGxSZWplY3RlZCl9ZnVuY3Rpb24gZyhhLGIsYyl7byhmdW5jdGlvbigpe3ZhciBkO3RyeXtkPWIoYyl9Y2F0Y2goYil7cmV0dXJuIHAucmVqZWN0KGEsYil9ZD09PWE/cC5yZWplY3QoYSxuZXcgVHlwZUVycm9yKCJDYW5ub3QgcmVzb2x2ZSBwcm9taXNlIHdpdGggaXRzZWxmIikpOnAucmVzb2x2ZShhLGQpfSl9ZnVuY3Rpb24gaChhKXt2YXIgYj1hJiZhLnRoZW47aWYoYSYmKCJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGEpJiYiZnVuY3Rpb24iPT10eXBlb2YgYilyZXR1cm4gZnVuY3Rpb24oKXtiLmFwcGx5KGEsYXJndW1lbnRzKX19ZnVuY3Rpb24gaShhLGIpe2Z1bmN0aW9uIGMoYil7Znx8KGY9ITAscC5yZWplY3QoYSxiKSl9ZnVuY3Rpb24gZChiKXtmfHwoZj0hMCxwLnJlc29sdmUoYSxiKSl9ZnVuY3Rpb24gZSgpe2IoZCxjKX12YXIgZj0hMSxnPWooZSk7ImVycm9yIj09PWcuc3RhdHVzJiZjKGcudmFsdWUpfWZ1bmN0aW9uIGooYSxiKXt2YXIgYz17fTt0cnl7Yy52YWx1ZT1hKGIpLGMuc3RhdHVzPSJzdWNjZXNzIn1jYXRjaChhKXtjLnN0YXR1cz0iZXJyb3IiLGMudmFsdWU9YX1yZXR1cm4gY31mdW5jdGlvbiBrKGEpe3JldHVybiBhIGluc3RhbmNlb2YgdGhpcz9hOnAucmVzb2x2ZShuZXcgdGhpcyhkKSxhKX1mdW5jdGlvbiBsKGEpe3ZhciBiPW5ldyB0aGlzKGQpO3JldHVybiBwLnJlamVjdChiLGEpfWZ1bmN0aW9uIG0oYSl7ZnVuY3Rpb24gYihhLGIpe2Z1bmN0aW9uIGQoYSl7Z1tiXT1hLCsraCE9PWV8fGZ8fChmPSEwLHAucmVzb2x2ZShqLGcpKX1jLnJlc29sdmUoYSkudGhlbihkLGZ1bmN0aW9uKGEpe2Z8fChmPSEwLHAucmVqZWN0KGosYSkpfSl9dmFyIGM9dGhpcztpZigiW29iamVjdCBBcnJheV0iIT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpKXJldHVybiB0aGlzLnJlamVjdChuZXcgVHlwZUVycm9yKCJtdXN0IGJlIGFuIGFycmF5IikpO3ZhciBlPWEubGVuZ3RoLGY9ITE7aWYoIWUpcmV0dXJuIHRoaXMucmVzb2x2ZShbXSk7Zm9yKHZhciBnPW5ldyBBcnJheShlKSxoPTAsaT0tMSxqPW5ldyB0aGlzKGQpOysraTxlOyliKGFbaV0saSk7cmV0dXJuIGp9ZnVuY3Rpb24gbihhKXtmdW5jdGlvbiBiKGEpe2MucmVzb2x2ZShhKS50aGVuKGZ1bmN0aW9uKGEpe2Z8fChmPSEwLHAucmVzb2x2ZShoLGEpKX0sZnVuY3Rpb24oYSl7Znx8KGY9ITAscC5yZWplY3QoaCLine truncated
|
||||
{}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"муром.база_1.1.0",
|
||||
"LyoKICoKICog0KHQutCw0YfQuNCy0LDQtdC80YvQuSDRhNCw0LnQuyAvIERvd25sb2FkZWQgZmlsZQogKgogKi8KCtC80YPRgNC+0Lwu0YTQsNC50LsgPSB7fTsK0LzRg9GA0L7QvC7RhNCw0LnQuy7QvdCw0YfQsNC70L4gPQpgCjwhRE9DVFlQRSBodG1sPgo8aHRtbD4KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8Ym9keT4KICAgICAgICA8c2NyaXB0Pgp2YXIg0LzRg9GA0L7QvCA9IHt9Owp2YXIgbXVyb20gPSDQvNGD0YDQvtC8OwrQvNGD0YDQvtC8LtC80L7QtNGD0LvQuCA9IFsKYDsK0LzRg9GA0L7QvC7RhNCw0LnQuy7QutC+0L3QtdGGID0KYApdOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KG11cm9tLCAibW9kdWxlcyIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHJldHVybiDQvNGD0YDQvtC8LtC80L7QtNGD0LvQuDsKICAgIH0sCiAgICBzZXQ6IGZ1bmN0aW9uKNC30L3QsNGH0LXQvdC40Y8pCiAgICB7CiAgICAgICAg0LzRg9GA0L7QvC7QvNC+0LTRg9C70LggPSDQt9C90LDRh9C10L3QuNGPOwogICAgfQp9KTsKCnZhciDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C50JzQvtC00YPQu9GMID0g0LzRg9GA0L7QvC7QvNC+0LTRg9C70LhbMF07CnZhciDQutC+0LQgPSBhdG9iKNC30LDQs9GA0YPQt9C+0YfQvdGL0LnQnNC+0LTRg9C70YxbMV0pOwpldmFsKNC60L7QtCk7CiAgICAgICAgPC9zY3JpcHQ+CiAgICA8L2JvZHk+CjwvaHRtbD4KYDsKCi8qCiAqIAogKiBVVUlECiAqCiAqLwoKLy8gQ3JlYXRlIEdVSUQgLyBVVUlEIGluIEphdmFTY3JpcHQ/Ci8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yMTE3NTIzCtC80YPRgNC+0LwudXVpZCA9IGZ1bmN0aW9uKCkKewogICAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoCiAgICAgICAgL1t4eV0vZywKICAgICAgICBmdW5jdGlvbihjKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLCB2ID0gYyA9PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpOwogICAgICAgICAgICByZXR1cm4gdi50b1N0cmluZygxNik7CiAgICAgICAgfQogICAgKTsKfTsKCi8qCiAqIAogKiDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMIC8gUmVwb3J0ZXIKICoKICovCgovLyBSZXBvcnRlclN1YnNjcmlwdGlvbiBjbGFzcy4KZnVuY3Rpb24gUmVwb3J0ZXJTdWJzY3JpcHRpb24oaWQsIGNhbGxiYWNrLCByZXBvcnRlcikKewogICAgdGhpcy5pZCA9IGlkOwogICAgdGhpcy5jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgdGhpcy5yZXBvcnRlciA9IHJlcG9ydGVyOwp9CgovLyBSZXBvcnRlciBjbGFzcy4KZnVuY3Rpb24gUmVwb3J0ZXIobmFtZSkKewogICAgdGhpcy5uYW1lID0KICAgICAgICAodHlwZW9mIG5hbWUgIT09ICJ1bmRlZmluZWQiKSA/IAogICAgICAgIG5hbWUgOgogICAgICAgICIiOwogICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107Cn0KUmVwb3J0ZXIucHJvdG90eXBlLnJlcG9ydCA9IGZ1bmN0aW9uKCkKewogICAgZm9yICh2YXIgaWQgaW4gdGhpcy5zdWJzY3JpcHRpb25zKQogICAgewogICAgICAgIHZhciBzdWJzY3JpcHRpb24gPSB0aGlzLnN1YnNjcmlwdGlvbnNbaWRdOwogICAgICAgIHN1YnNjcmlwdGlvbi5jYWxsYmFjaygpOwogICAgfQp9ClJlcG9ydGVyLnByb3RvdHlwZS5zdWJzY3JpYmUgPSBmdW5jdGlvbihjYWxsYmFjaykKewogICAgdmFyIGlkID0gbXVyb20udXVpZCgpOwogICAgdmFyIHN1YnNjcmlwdGlvbiA9IG5ldyBSZXBvcnRlclN1YnNjcmlwdGlvbihpZCwgY2FsbGJhY2ssIHRoaXMpOwogICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTsKICAgIHJldHVybiBzdWJzY3JpcHRpb247Cn0KUmVwb3J0ZXIucHJvdG90eXBlLnN1YnNjcmliZU1hbnkgPSBmdW5jdGlvbihmdW5jcykKewogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmdW5jcy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgICB2YXIgZnVuYyA9IGZ1bmNzW2ldOwogICAgICAgIHRoaXMuc3Vic2NyaWJlKGZ1bmMpOwogICAgfQp9Cgp2YXIg0KPQstC10LTQvtC80LjRgtC10LvRjCA9IFJlcG9ydGVyOwpSZXBvcnRlci5wcm90b3R5cGUu0YPQstC10LTQvtC80LjRgtGMID0gZnVuY3Rpb24oKQp7CiAgICB0aGlzLnJlcG9ydCgpOwp9OwpSZXBvcnRlci5wcm90b3R5cGUu0L/QvtC00L/QuNGB0LDRgtGMID0gZnVuY3Rpb24o0YTRg9C90LrRhtC40Y8pCnsKICAgIHRoaXMuc3Vic2NyaWJlKNGE0YPQvdC60YbQuNGPKTsKfTsKUmVwb3J0ZXIucHJvdG90eXBlLtC/0L7QtNC/0LjRgdCw0YLRjNCc0L3QvtCz0L4gPSBmdW5jdGlvbihmdW5jcykKewogICAgdGhpcy5zdWJzY3JpYmVNYW55KGZ1bmNzKTsKfTsKCi8qCiAqIAogKiDQn9GD0YHQuiAvIFN0YXJ0CiAqCiAqLwoK0LzRg9GA0L7QvC7Qv9GD0YHQuiA9IG5ldyDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMKCk7Ci8vIENhbiBhbHNvIGJlIGFjY2Vzc2VkIGFzICdtdXJvbS5ydW4nLgpPYmplY3QuZGVmaW5lUHJvcGVydHkobXVyb20sICJydW4iLCB7CiAgICBnZXQ6IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4g0LzRg9GA0L7QvC7Qv9GD0YHQujsKICAgIH0KfSk7Cm11cm9tLnN0YXJ0ID0gZnVuY3Rpb24oKQp7CiAgICDQvNGD0YDQvtC8LtC/0YPRgdC6LtGD0LLQtdC00L7QvNC40YLRjCgpOwp9OwoKLyoKICoKICog0JvQtdCy0LDRjyDQuCDQv9GA0LDQstCw0Y8g0L7QsdC70LDRgdGC0LggLyBMZWZ0IGFuZCByaWdodCByZWdpb25zCiAqCiAqLwoK0LzRg9GA0L7QvC7RgdC+0LfQtNCw0YLRjNCb0LXQstGD0Y7Qn9GA0LDQstGD0Y7QntCx0LvQsNGB0YLQuCA9IGZ1bmN0aW9uKCkKewogICAgLy8g0JvQtdCy0LDRjyDQvtCx0LvQsNGB0YLRjC4KICAgIHZhciDQu9C+ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICDQu9C+LmlkPSLQu9C10LLQsNGPLdC+0LHQu9Cw0YHRgtGMIjsKICAgINC70L4uc3R5bGUuY3NzVGV4dCA9CiAgICAgICAgInBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMDsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiA1MCU7IjsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0LvQvik7CiAgICAKICAgIC8vINCf0YDQsNCy0LDRjyDQvtCx0LvQsNGB0YLRjC4KICAgIHZhciDQv9C+ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICDQv9C+LmlkPSLQv9GA0LDQstCw0Y8t0L7QsdC70LDRgdGC0YwiOwogICAg0L/Qvi5zdHlsZS5jc3NUZXh0ID0KICAgICAgICAicG9zaXRpb246IGZpeGVkOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7IHdpZHRoOiA1MCU7IjsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0L/Qvik7CiAgICAKICAgIHJldHVybiBb0LvQviwg0L/Qvl07Cn07CgovKgogKgogKiDQpNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNC1INGB0YLRgNC+0LogLyBTdHJpbmcgZm9ybWF0dGluZwogKgogKi8KCi8vIEphdmFTY3JpcHQgZXF1aXZhbGVudCB0byBwcmludGYvU3RyaW5nLkZvcm1hdAovLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDY3MzQzNgpmdW5jdGlvbiDRhNC+0YDQvNCw0YLQodGC0YDQvtC60LgoKQp7CiAgICAvLyBIb3cgdG8gc2hpZnQg4oCcYXJndW1lbnRz4oCdCiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80Nzc1ODLine truncated
|
||||
{}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"муром.редактор_1.0.0",
|
||||
"0LzRg9GA0L7QvC7Qt9Cw0LPRgNGD0LfQuNGC0YxBQ0UgPSBmdW5jdGlvbigpCnsKICAgIC8vINCg0LXQtNCw0LrRgtC+0YAg0LrQvtC00LAgQUNFLgogICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FqYXhvcmcvYWNlLWJ1aWxkcy9ibG9iL21hc3Rlci9zcmMtbWluLW5vY29uZmxpY3QvYWNlLmpzCihmdW5jdGlvbigpe2Z1bmN0aW9uIG8obil7dmFyIGk9ZTtuJiYoZVtuXXx8KGVbbl09e30pLGk9ZVtuXSk7aWYoIWkuZGVmaW5lfHwhaS5kZWZpbmUucGFja2FnZWQpdC5vcmlnaW5hbD1pLmRlZmluZSxpLmRlZmluZT10LGkuZGVmaW5lLnBhY2thZ2VkPSEwO2lmKCFpLnJlcXVpcmV8fCFpLnJlcXVpcmUucGFja2FnZWQpci5vcmlnaW5hbD1pLnJlcXVpcmUsaS5yZXF1aXJlPXIsaS5yZXF1aXJlLnBhY2thZ2VkPSEwfXZhciBBQ0VfTkFNRVNQQUNFID0gImFjZSIsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSgpOyFlJiZ0eXBlb2Ygd2luZG93IT0idW5kZWZpbmVkIiYmKGU9d2luZG93KTtpZighQUNFX05BTUVTUEFDRSYmdHlwZW9mIHJlcXVpcmVqcyE9InVuZGVmaW5lZCIpcmV0dXJuO3ZhciB0PWZ1bmN0aW9uKGUsbixyKXtpZih0eXBlb2YgZSE9InN0cmluZyIpe3Qub3JpZ2luYWw/dC5vcmlnaW5hbC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6KGNvbnNvbGUuZXJyb3IoImRyb3BwaW5nIG1vZHVsZSBiZWNhdXNlIGRlZmluZSB3YXNuJ3QgYSBzdHJpbmcuIiksY29uc29sZS50cmFjZSgpKTtyZXR1cm59YXJndW1lbnRzLmxlbmd0aD09MiYmKHI9biksdC5tb2R1bGVzW2VdfHwodC5wYXlsb2Fkc1tlXT1yLHQubW9kdWxlc1tlXT1udWxsKX07dC5tb2R1bGVzPXt9LHQucGF5bG9hZHM9e307dmFyIG49ZnVuY3Rpb24oZSx0LG4pe2lmKHR5cGVvZiB0PT0ic3RyaW5nIil7dmFyIGk9cyhlLHQpO2lmKGkhPXVuZGVmaW5lZClyZXR1cm4gbiYmbigpLGl9ZWxzZSBpZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk9PT0iW29iamVjdCBBcnJheV0iKXt2YXIgbz1bXTtmb3IodmFyIHU9MCxhPXQubGVuZ3RoO3U8YTsrK3Upe3ZhciBmPXMoZSx0W3VdKTtpZihmPT11bmRlZmluZWQmJnIub3JpZ2luYWwpcmV0dXJuO28ucHVzaChmKX1yZXR1cm4gbiYmbi5hcHBseShudWxsLG8pfHwhMH19LHI9ZnVuY3Rpb24oZSx0KXt2YXIgaT1uKCIiLGUsdCk7cmV0dXJuIGk9PXVuZGVmaW5lZCYmci5vcmlnaW5hbD9yLm9yaWdpbmFsLmFwcGx5KHRoaXMsYXJndW1lbnRzKTppfSxpPWZ1bmN0aW9uKGUsdCl7aWYodC5pbmRleE9mKCIhIikhPT0tMSl7dmFyIG49dC5zcGxpdCgiISIpO3JldHVybiBpKGUsblswXSkrIiEiK2koZSxuWzFdKX1pZih0LmNoYXJBdCgwKT09Ii4iKXt2YXIgcj1lLnNwbGl0KCIvIikuc2xpY2UoMCwtMSkuam9pbigiLyIpO3Q9cisiLyIrdDt3aGlsZSh0LmluZGV4T2YoIi4iKSE9PS0xJiZzIT10KXt2YXIgcz10O3Q9dC5yZXBsYWNlKC9cL1wuXC8vLCIvIikucmVwbGFjZSgvW15cL10rXC9cLlwuXC8vLCIiKX19cmV0dXJuIHR9LHM9ZnVuY3Rpb24oZSxyKXtyPWkoZSxyKTt2YXIgcz10Lm1vZHVsZXNbcl07aWYoIXMpe3M9dC5wYXlsb2Fkc1tyXTtpZih0eXBlb2Ygcz09ImZ1bmN0aW9uIil7dmFyIG89e30sdT17aWQ6cix1cmk6IiIsZXhwb3J0czpvLHBhY2thZ2VkOiEwfSxhPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4ocixlLHQpfSxmPXMoYSxvLHUpO289Znx8dS5leHBvcnRzLHQubW9kdWxlc1tyXT1vLGRlbGV0ZSB0LnBheWxvYWRzW3JdfXM9dC5tb2R1bGVzW3JdPW98fHN9cmV0dXJuIHN9O28oQUNFX05BTUVTUEFDRSl9KSgpLGFjZS5kZWZpbmUoImFjZS9saWIvcmVnZXhwIixbInJlcXVpcmUiLCJleHBvcnRzIiwibW9kdWxlIl0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe3JldHVybihlLmdsb2JhbD8iZyI6IiIpKyhlLmlnbm9yZUNhc2U/ImkiOiIiKSsoZS5tdWx0aWxpbmU/Im0iOiIiKSsoZS5leHRlbmRlZD8ieCI6IiIpKyhlLnN0aWNreT8ieSI6IiIpfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKEFycmF5LnByb3RvdHlwZS5pbmRleE9mKXJldHVybiBlLmluZGV4T2YodCxuKTtmb3IodmFyIHI9bnx8MDtyPGUubGVuZ3RoO3IrKylpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX12YXIgcj17ZXhlYzpSZWdFeHAucHJvdG90eXBlLmV4ZWMsdGVzdDpSZWdFeHAucHJvdG90eXBlLnRlc3QsbWF0Y2g6U3RyaW5nLnByb3RvdHlwZS5tYXRjaCxyZXBsYWNlOlN0cmluZy5wcm90b3R5cGUucmVwbGFjZSxzcGxpdDpTdHJpbmcucHJvdG90eXBlLnNwbGl0fSxpPXIuZXhlYy5jYWxsKC8oKT8/LywiIilbMV09PT11bmRlZmluZWQscz1mdW5jdGlvbigpe3ZhciBlPS9eL2c7cmV0dXJuIHIudGVzdC5jYWxsKGUsIiIpLCFlLmxhc3RJbmRleH0oKTtpZihzJiZpKXJldHVybjtSZWdFeHAucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oZSl7dmFyIHQ9ci5leGVjLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxuLGE7aWYodHlwZW9mIGU9PSJzdHJpbmciJiZ0KXshaSYmdC5sZW5ndGg+MSYmdSh0LCIiKT4tMSYmKGE9UmVnRXhwKHRoaXMuc291cmNlLHIucmVwbGFjZS5jYWxsKG8odGhpcyksImciLCIiKSksci5yZXBsYWNlLmNhbGwoZS5zbGljZSh0LmluZGV4KSxhLGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoLTI7ZSsrKWFyZ3VtZW50c1tlXT09PXVuZGVmaW5lZCYmKHRbZV09dW5kZWZpbmVkKX0pKTtpZih0aGlzLl94cmVnZXhwJiZ0aGlzLl94cmVnZXhwLmNhcHR1cmVOYW1lcylmb3IodmFyIGY9MTtmPHQubGVuZ3RoO2YrKyluPXRoaXMuX3hyZWdleHAuY2FwdHVyZU5hbWVzW2YtMV0sbiYmKHRbbl09dFtmXSk7IXMmJnRoaXMuZ2xvYmFsJiYhdFswXS5sZW5ndGgmJnRoaXMubGFzdEluZGV4PnQuaW5kZXgmJnRoaXMubGFzdEluZGV4LS19cmV0dXJuIHR9LHN8fChSZWdFeHAucHJvdG90eXBlLnRlc3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9ci5leGVjLmNhbGwodGhpcyxlKTtyZXR1cm4gdCYmdGhpcy5nbG9iYWwmJiF0WzBdLmxlbmd0aCYmdGhpcy5sYXN0SW5kZXg+dC5pbmRleCYmdGhpcy5sYXN0SW5kZXgtLSwhIXR9KX0pLGFjZS5kZWZpbmUoImFjZS9saWIvZXM1LXNoaW0iLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiXSxmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiB3KGUpe3RyeXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInNlbnRpbmVsIix7fSksInNlbnRpbmVsImluIGV9Y2F0Y2godCl7fX1mdW5jdGlvbiBIKGUpe3JldHVybiBlPStlLGUhPT1lP2U9MDplIT09MCYmZSE9PTEvMCYmZSE9PS0xLzAmJihlPShlPjB8fC0xKSpNYXRoLmZsb29yKE1hdGguYWJzKGUpKSksZX1mdW5jdGlvbiBCKGUpe3ZhciB0PXR5cGVvZiBlO3JldHVybiBlPT09bnVsbHx8dD09PSJ1bmRlZmluZWQifHx0PT09ImJvb2xlYW4ifHx0PT09Im51bWJlciJ8fHQ9PT0ic3RyaW5nIn1mdW5jdGlvbiBqKGUpe3ZhciB0LG4scjtpZihCKGUpKXJldHVybiBlO249ZS52YWx1ZU9mO2lmKHR5cGVvZiBuPT0iZnVuY3Rpb24iKXt0PW4uY2FsbChlKTtpZihCKHQpKXJldHVybiB0fXI9ZS50b1N0cmluZztpZih0eXBlb2Ygcj09ImZ1bmN0aW9uIil7dD1yLmNhbGwoZSk7aWYoQih0KSlyZXR1cm4gdH10aHJvdyBuZXcgVHlwZUVycm9yfUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kfHwoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24odCl7dmFyIG49dGhpcztpZih0eXBlb2YgbiE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycmLine truncated
|
||||
{}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"муром.пу_1.0.0",
|
||||
"LyoKICoKICog0JLQvdC10YjQvdC40Lkg0LLQuNC0CiAqCiAqLwoKZnVuY3Rpb24g0LfQsNC00LDRgtGM0JLQvdC10YjQvdC40LnQktC40LQoKQp7CiAgICB2YXIg0LLQuNC0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTsKICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQo0LLQuNC0KTsKICAgINCy0LjQtC5pbm5lckhUTUwgPQpgCi7QvNGD0YDQvtC8LdC60L3QvtC/0LrQsAp7CiAgICBwYWRkaW5nOiAwLjVlbSAyZW0gMC41ZW0gMmVtOwogICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsKICAgIGZsb2F0OiByaWdodDsKICAgIGNvbG9yOiAjMjIyOwogICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzOyAvKiBTYWZhcmkgKi8KICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7Cn0KLtC80YPRgNC+0Lwt0LrQvdC+0L/QutCwOmhvdmVyCnsKICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjI7Cn0KLtC80YPRgNC+0Lwt0L7RgtGB0YLRg9C/LdC/0L4t0YHRgtC+0YDQvtC90LDQvAp7CiAgICBtYXJnaW4tbGVmdDogMC41ZW07CiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOwp9CmA7Cn0KCi8qCiAqCiAqINCh0L/QuNGB0L7QuiDQvNC+0LTRg9C70LXQuQogKgogKi8KCmZ1bmN0aW9uINCh0L/QuNGB0L7QutCc0L7QtNGD0LvQtdC5KCkKewogICAgdmFyINGPID0gdGhpczsKCiAgICB0aGlzLtGB0L7Qt9C00LDRgtGM0JjQvdGC0LXRgNGE0LXQudGBKCk7CiAgICB0aGlzLtC30LDQtNCw0YLRjNCS0LjQtCgpOwogICAgdGhpcy7QstGL0LHRgNCw0LvQuCA9IG5ldyDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMKCk7CiAgICB0aGlzLtCy0YvQsdGA0LDQu9C4LtC/0L7QtNC/0LjRgdCw0YLRjChmdW5jdGlvbigpewogICAgICAgINGPLtC+0YLQvtCx0YDQsNC30LjRgtGM0JLRi9Cx0L7RgCgpOwogICAgfSk7Cn0K0KHQv9C40YHQvtC60JzQvtC00YPQu9C10LkucHJvdG90eXBlLtGB0L7Qt9C00LDRgtGM0JjQvdGC0LXRgNGE0LXQudGBID0gZnVuY3Rpb24oKQp7CiAgICAvLyDQn9C+0LzQtdGJ0LDQtdC8INGC0LDQsdC70LjRhtGDINCyIGRpdiDQtNC70Y8g0YDQtdCw0LvQuNC30LDRhtC40Lgg0L/RgNC+0LzQvtGC0LrQuC4KICAgIHRoaXMu0LjRhCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgdGhpcy7RgtCw0LHQu9C40YbQsCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIik7CiAgICB0aGlzLtC40YQuYXBwZW5kQ2hpbGQodGhpcy7RgtCw0LHQu9C40YbQsCk7Cn07CtCh0L/QuNGB0L7QutCc0L7QtNGD0LvQtdC5LnByb3RvdHlwZS7Qt9Cw0LTQsNGC0YzQktC40LQgPSBmdW5jdGlvbigpCnsKICAgIHRoaXMu0LjRhC5zdHlsZS5jc3NUZXh0ID0KYApvdmVyZmxvdzogYXV0bzsKaGVpZ2h0OiAxOC41ZW07CmJvcmRlcjogMXB4IHNvbGlkICNkZGQ7Ci8qCnBhZGRpbmc6IDAuNWVtOwptYXJnaW46IDAuNWVtOwoqLwpgOwogICAgdGhpcy7RgtCw0LHQu9C40YbQsC5zdHlsZS5jc3NUZXh0ID0KYApjb2xvcjogIzY2NjY2NjsKZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CmN1cnNvcjogZGVmYXVsdDsKYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKYDsKfTsK0KHQv9C40YHQvtC60JzQvtC00YPQu9C10LkucHJvdG90eXBlLtC+0YfQuNGB0YLQuNGC0YwgPSBmdW5jdGlvbigpCnsKICAgIHdoaWxlICh0aGlzLtGC0LDQsdC70LjRhtCwLnJvd3MubGVuZ3RoKQogICAgewogICAgICAgIHRoaXMu0YLQsNCx0LvQuNGG0LAuZGVsZXRlUm93KDApOwogICAgfTsKfTsK0KHQv9C40YHQvtC60JzQvtC00YPQu9C10LkucHJvdG90eXBlLtC00L7QsdCw0LLQuNGC0YzQrdC70LXQvNC10L3RgiA9IGZ1bmN0aW9uKNGB0YLQsNGC0YPRgSwg0LjQvNGPKQp7CiAgICB2YXIg0YHRgtCw0YLRg9GBSFRNTCA9ICIiOwogICAgaWYgKNGB0YLQsNGC0YPRgSkKICAgIHsKICAgICAgICDRgdGC0LDRgtGD0YFIVE1MID0gImNoZWNrZWQiOwogICAgfQoKICAgIHZhciDRgNGP0LQgPSB0aGlzLtGC0LDQsdC70LjRhtCwLmluc2VydFJvdygpOwogICAgdmFyINGP0YfQtdC50LrQsCA9IDA7CgogICAgdmFyINC90L7QvNC10YAgPSDRgNGP0LQuaW5zZXJ0Q2VsbCjRj9GH0LXQudC60LArKyk7CiAgICDQvdC+0LzQtdGALmlubmVySFRNTCA9IHRoaXMu0YLQsNCx0LvQuNGG0LAucm93cy5sZW5ndGggLSAxOwogICAg0L3QvtC80LXRgC5zdHlsZS5jc3NUZXh0ID0gInBhZGRpbmc6IDAuNWVtOyI7CgogICAgdmFyINCy0LrQuyA9INGA0Y/QtC5pbnNlcnRDZWxsKNGP0YfQtdC50LrQsCsrKTsKICAgINCy0LrQuy5pbm5lckhUTUwgPSBgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBkaXNhYmxlZCBgICsg0YHRgtCw0YLRg9GBSFRNTCArIGA+PC9pbnB1dD5gOwogICAgCiAgICB2YXIg0L3QsNC30LLQsNC90LjQtSA9INGA0Y/QtC5pbnNlcnRDZWxsKNGP0YfQtdC50LrQsCsrKTsKICAgINC90LDQt9Cy0LDQvdC40LUuaW5uZXJIVE1MID0g0LjQvNGPOwogICAg0L3QsNC30LLQsNC90LjQtS5zdHlsZS5jc3NUZXh0ID0gInBhZGRpbmc6IDAuNWVtOyB3aWR0aDogMTAwJTsiOwp9OwrQodC/0LjRgdC+0LrQnNC+0LTRg9C70LXQuS5wcm90b3R5cGUu0L7RgtC+0LHRgNCw0LfQuNGC0YzQodC/0LjRgdC+0LogPSBmdW5jdGlvbijRgdC/0LjRgdC+0LopCnsKICAgIHRoaXMu0L7Rh9C40YHRgtC40YLRjCgpOwogICAgZm9yICh2YXIg0L3QvtC80LXRgCBpbiDRgdC/0LjRgdC+0LopCiAgICB7CiAgICAgICAgdmFyINGN0LvQtdC80LXQvdGCID0g0YHQv9C40YHQvtC6W9C90L7QvNC10YBdOwogICAgICAgIHZhciDRgdGC0LDRgtGD0YEgPSDRjdC70LXQvNC10L3RglswXTsKICAgICAgICB2YXIg0LjQvNGPID0g0Y3Qu9C10LzQtdC90YJbMV07CiAgICAgICAgdGhpcy7QtNC+0LHQsNCy0LjRgtGM0K3Qu9C10LzQtdC90YIo0YHRgtCw0YLRg9GBLCDQuNC80Y8pOwogICAgfQp9OwrQodC/0LjRgdC+0LrQnNC+0LTRg9C70LXQuS5wcm90b3R5cGUu0YPQu9Cw0LLQu9C40LLQsNGC0YzQktGL0LHQvtGA0K3Qu9C10LzQtdC90YLQsCA9IGZ1bmN0aW9uKNC90L7QvNC10YApCnsKICAgIHZhciDRjyA9IHRoaXM7CiAgICAKICAgIHZhciDRgNGP0LQgPSB0aGlzLtGC0LDQsdC70LjRhtCwLnJvd3Nb0L3QvtC80LXRgF0KICAgINGA0Y/QtC5vbmNsaWNrID0gZnVuY3Rpb24oKQogICAgewogICAgICAgINGPLtCy0YvQsdC+0YDQoNCw0L3QtdC1ID0g0Y8u0LLRi9Cx0L7RgDsKICAgICAgICDRjy7QstGL0LHQvtGAID0g0L3QvtC80LXRgDsKICAgICAgICDRjy7QstGL0LHRgNCw0LvQuC7Rg9Cy0LXQtNC+0LzQuNGC0YwoKTsKICAgIH07Cn07CtCh0L/QuNGB0L7QutCc0L7QtNGD0LvQtdC5LnByb3RvdHlwZS7Rg9C70LDQstC70LjQstCw0YLRjNCS0YvQsdC+0YAgPSBmdW5jdGlvbigpCnsKICAgIHRoaXMu0LLRi9Cx0L7RgNCg0LDQvdC10LUgPSBudWxsOwogICAgdGhpcy7QstGL0LHQvtGAID0gbnVsbDsKICAgIGZvciAodmFyINC90L7QvNC10YAgPSAwOyDQvdC+0LzQtdGAIDwgdGhpcy7RgtCw0LHQu9C40YbQsC5yb3dzLmxlbmd0aDsgKyvQvdC+0LzQtdGAKQogICAgewogICAgICAgIHRoaXMu0YPQu9Cw0LLQu9C40LLQsNGC0YzQktGL0LHQvtGA0K3Qu9C10LzQtdC90YLQsCjQvdC+0LLine truncated
|
||||
{"status":true}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"функции_1.0.0",
|
||||
"LyoKICoKICog0J/QvtC70YPRh9C40YLRjCDQvNC+0LTRg9C70Ywg0L/QviDQuNC80LXQvdC4CiAqCiAqLwpmdW5jdGlvbiDQvNC+0LTRg9C70Ywo0LjQvNGPKQp7CiAgICBmb3IgKHZhciDQvdC+0LzQtdGAIGluINC80YPRgNC+0Lwu0LzQvtC00YPQu9C4KQogICAgewogICAgICAgIHZhciDQvCA9INC80YPRgNC+0Lwu0LzQvtC00YPQu9C4W9C90L7QvNC10YBdOwogICAgICAgIGlmICjQvFswXSA9PSDQuNC80Y8pCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4g0Lw7CiAgICAgICAgfQogICAgfQogICAgCiAgICByZXR1cm4gbnVsbDsKfQoKLyoKICoKICog0JfQsNCz0YDRg9C30LjRgtGMINGB0YLQvtGA0L7QvdC90LjQuSDRgdC60YDQuNC/0YIg0LIg0YLRjdCzIHNjcmlwdAogKgogKi8KZnVuY3Rpb24g0LfQsNCz0YDRg9C30LjRgtGM0KHQutGA0LjQv9GCKNC60L7QtCkKewogICAgdmFyINGB0LrRgNC40L/RgiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwogICAg0YHQutGA0LjQv9GCLmlubmVySFRNTCA9INC60L7QtDsKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo0YHQutGA0LjQv9GCKTsKfQoKLyoKICoKICog0KPQstC10LTQvtC80LjRgtGMINC+0LEg0L7QsdGL0YfQvdC+0Lwg0L/Rg9GB0LrQtQogKgogKi8K0LzRg9GA0L7QvC7QvtCx0YvRh9C90YvQudCf0YPRgdC6ID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsK0LzRg9GA0L7QvC7Qv9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0YwoZnVuY3Rpb24oKXsKICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoICE9ICI/MCIpCiAgICB7CiAgICAgICAg0LzRg9GA0L7QvC7QvtCx0YvRh9C90YvQudCf0YPRgdC6LtGD0LLQtdC00L7QvNC40YLRjCgpOwogICAgfQp9KTsKCi8qCiAqCiAqINCh0L7Qt9C00LDRgtGMINGN0LrRgNCw0L0g0LjQvdGC0LXRgNGE0LXQudGB0LAKICoKICovCmZ1bmN0aW9uINGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSjQuNC80Y8pCnsKICAgIHZhciDRjdC60YDQsNC9ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICDRjdC60YDQsNC9LmlkID0g0LjQvNGPOwogICAg0Y3QutGA0LDQvS5zdHlsZS5jc3NUZXh0ID0KYApwb3NpdGlvbjogZml4ZWQ7CmxlZnQ6IDA7CnRvcDogMDsKcmlnaHQ6IDA7CmJvdHRvbTogMDsKcG9pbnRlci1ldmVudHM6IGFsbDsKYDsKICAgIHJldHVybiDRjdC60YDQsNC9Owp9CgovKgogKgogKiDQlNC+0LbQtNCw0YLRjNGB0Y8g0YPQstC10LTQvtC80LvQtdC90LjRjyDQvtGCINC90LXRgdC60L7Qu9GM0LrQuNGFINGD0LLQtdC00L7QvNC40YLQtdC70LXQuQogKgogKi8KZnVuY3Rpb24g0LTQvtC20LTQsNGC0YzRgdGPKNGD0LLQtdC00L7QvNC40YLQtdC70LgsINGE0YPQvdC60YbQuNGPKQp7CiAgICB2YXIg0YHRh9GR0YLRh9C40LogPSAwOwogICAgZnVuY3Rpb24g0LLRi9C/0L7Qu9C90LjRgtGMKCkKICAgIHsKICAgICAgICBpZiAoKyvRgdGH0ZHRgtGH0LjQuiA9PSDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4Lmxlbmd0aCkKICAgICAgICB7CiAgICAgICAgICAgINGE0YPQvdC60YbQuNGPKCk7CiAgICAgICAgfQogICAgfQogICAgZm9yICh2YXIg0L3QvtC80LXRgCBpbiDRg9Cy0LXQtNC+0LzQuNGC0LXQu9C4KQogICAgewogICAgICAgIHZhciDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMID0g0YPQstC10LTQvtC80LjRgtC10LvQuFvQvdC+0LzQtdGAXTsKICAgICAgICDRg9Cy0LXQtNC+0LzQuNGC0LXQu9GMLtC/0L7QtNC/0LjRgdCw0YLRjCjQstGL0L/QvtC70L3QuNGC0YwpOwogICAgfQp9CgovKgogKgogKiDQmNC80Y8g0LjRgdC/0L7Qu9C90Y/QtdC80L7Qs9C+INC/0YDRj9C80L4g0YHQtdC50YfQsNGBINGE0LDQudC70LAgSFRNTAogKgogKi8KZnVuY3Rpb24g0LjQvNGP0KTQsNC50LvQsCgpCnsKICAgIHZhciDQv9GD0YLRjCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKICAgIHZhciDQuNC80Y8gPSDQv9GD0YLRjC5zcGxpdCgiLyIpLnBvcCgpOwogICAgcmV0dXJuIGRlY29kZVVSSSjQuNC80Y8pOwp9CgovKgogKgogKiDQoNCw0LfQvtCx0YDQsNGC0Ywg0LDRgNCz0YPQvNC10L3RgtGLINC/0YDQuCDQvtCx0YvRh9C90L7QvCDQv9GD0YHQutC1CiAqCiAqLwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRiyA9IHt9OwrQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRi9CY0LfQvNC10L3QuNC70LggPSBuZXcg0KPQstC10LTQvtC80LjRgtC10LvRjCgpOwpmdW5jdGlvbiDRgNCw0LfQvtCx0YDQsNGC0YzQkNGA0LPRg9C80LXQvdGC0YsoKQp7CiAgICB2YXIg0LfQsNC/0YDQvtGBID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5zdWJzdHJpbmcoMSk7CiAgICB2YXIg0LDRgNCz0LggPSDQt9Cw0L/RgNC+0YEuc3BsaXQoIiYiKTsKICAgIGZvciAodmFyINC90L7QvNC10YAgaW4g0LDRgNCz0LgpCiAgICB7CiAgICAgICAgdmFyINCw0YDQsyA9INCw0YDQs9C4W9C90L7QvNC10YBdOwogICAgICAgIHZhciDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPSDQsNGA0LMuaW5kZXhPZigiPSIpOwogICAgICAgIC8vINCb0LjRiNGMINC60LvRjtGHLgogICAgICAgIGlmICjQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LAgPT0gLTEpCiAgICAgICAgewogICAgICAgICAgICB2YXIg0LrQu9GO0YcgPSBkZWNvZGVVUklDb21wb25lbnQo0LDRgNCzKTsKICAgICAgICAgICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0Ytb0LrQu9GO0YddID0gbnVsbDsKICAgICAgICB9CiAgICAgICAgLy8g0JrQu9GO0Ycg0YHQviDQt9C90LDRh9C10L3QuNC10LwuCiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgdmFyINGB0YvRgNC+0LnQmtC70Y7RhyA9INCw0YDQsy5zbGljZSgwLCDQv9C+0LfQuNGG0LjRj9CX0L3QsNC60LApOwogICAgICAgICAgICB2YXIg0YHRi9GA0L7QtdCX0L3QsNGH0LXQvdC40LUgPSDQsNGA0LMuc2xpY2Uo0L/QvtC30LjRhtC40Y/Ql9C90LDQutCwICsgMSk7CiAgICAgICAgICAgIHZhciDQutC70Y7RhyA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC50JrQu9GO0YcpOwogICAgICAgICAgICB2YXIg0LfQvdCw0YfQtdC90LjQtSA9IGRlY29kZVVSSUNvbXBvbmVudCjRgdGL0YDQvtC10JfQvdCw0YfQtdC90LjQtSk7CiAgICAgICAgICAgINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLW9C60LvRjtGHXSA9INC30L3QsNGH0LXQvdC40LU7CiAgICAgICAgfQogICAgfQogICAg0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4LtGD0LLQtdC00L7QvNC40YLRjCgpOwp9CtC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0Ywo0YDQsNC30L7QsdGA0LDRgtGM0JDRgNCz0YPQvNC10L3RgtGLKTsKCi8qCiAqCiAqINCo0LjRhNGA0L7QstCw0L3QuNC1INGB0YLRgNC+0LrQuCDQsiDRhNC+0YDQvNCw0YLQtSB6aXAgKyBiYXNlNjQKICoKICovCtC80YPRgNC+0LwuemJ0b2EgPSBmdW5jdGlvbijRgdGC0YDQvtC60LApCnsKICAgIHZhciDQsdCw0LnRgtGLID0gbmV3IChUZXh0RW5jb2RlciB8fCBUZXh0RW5jb2RlckxpdGUpKCJ1dGYtOCIpLmVuY29kZSjRgdGC0YDQvtC60LApOwogICAgdmFyINGB0LbQsNGC0LjQtVppcCA9IHdpbmRvdy5wYWtvLmRlZmxhdGUo0LHQsNC50YLRiywge3RvOiAnc3RyaW5nJ30pOwogICAgcmV0dXJuINC80YPRgNC+0LwuYnRvYSjRgdC20LDRgtC40LVaaXApOwp9Ci8qCiAqCiAqINCU0LXRiNC40YTRgNC+0LLQsNC90LLine truncated
|
||||
{"status":true}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"pako.min.js_1.0.10",
|
||||
"LyohIHBha28gMS4wLjEwIHwgaHR0cHM6Ly9naXRodWIuY29tL25vZGVjYS9wYWtvIHwgTUlULCBaTGliICovCiFmdW5jdGlvbih0KXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPXQoKTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLHQpO2Vsc2V7KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6dGhpcykucGFrbz10KCl9fShmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiByKHMsbyxsKXtmdW5jdGlvbiBoKGUsdCl7aWYoIW9bZV0pe2lmKCFzW2VdKXt2YXIgYT0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighdCYmYSlyZXR1cm4gYShlLCEwKTtpZihkKXJldHVybiBkKGUsITApO3ZhciBpPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2UrIiciKTt0aHJvdyBpLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGl9dmFyIG49b1tlXT17ZXhwb3J0czp7fX07c1tlXVswXS5jYWxsKG4uZXhwb3J0cyxmdW5jdGlvbih0KXtyZXR1cm4gaChzW2VdWzFdW3RdfHx0KX0sbixuLmV4cG9ydHMscixzLG8sbCl9cmV0dXJuIG9bZV0uZXhwb3J0c31mb3IodmFyIGQ9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsdD0wO3Q8bC5sZW5ndGg7dCsrKWgobFt0XSk7cmV0dXJuIGh9KHsxOltmdW5jdGlvbih0LGUsYSl7InVzZSBzdHJpY3QiO3ZhciBzPXQoIi4vemxpYi9kZWZsYXRlIiksbz10KCIuL3V0aWxzL2NvbW1vbiIpLGw9dCgiLi91dGlscy9zdHJpbmdzIiksbj10KCIuL3psaWIvbWVzc2FnZXMiKSxyPXQoIi4vemxpYi96c3RyZWFtIiksaD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGQ9MCxmPS0xLF89MCx1PTg7ZnVuY3Rpb24gYyh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBjKSlyZXR1cm4gbmV3IGModCk7dGhpcy5vcHRpb25zPW8uYXNzaWduKHtsZXZlbDpmLG1ldGhvZDp1LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6Xyx0bzoiIn0sdHx8e30pO3ZhciBlPXRoaXMub3B0aW9ucztlLnJhdyYmMDxlLndpbmRvd0JpdHM/ZS53aW5kb3dCaXRzPS1lLndpbmRvd0JpdHM6ZS5nemlwJiYwPGUud2luZG93Qml0cyYmZS53aW5kb3dCaXRzPDE2JiYoZS53aW5kb3dCaXRzKz0xNiksdGhpcy5lcnI9MCx0aGlzLm1zZz0iIix0aGlzLmVuZGVkPSExLHRoaXMuY2h1bmtzPVtdLHRoaXMuc3RybT1uZXcgcix0aGlzLnN0cm0uYXZhaWxfb3V0PTA7dmFyIGE9cy5kZWZsYXRlSW5pdDIodGhpcy5zdHJtLGUubGV2ZWwsZS5tZXRob2QsZS53aW5kb3dCaXRzLGUubWVtTGV2ZWwsZS5zdHJhdGVneSk7aWYoYSE9PWQpdGhyb3cgbmV3IEVycm9yKG5bYV0pO2lmKGUuaGVhZGVyJiZzLmRlZmxhdGVTZXRIZWFkZXIodGhpcy5zdHJtLGUuaGVhZGVyKSxlLmRpY3Rpb25hcnkpe3ZhciBpO2lmKGk9InN0cmluZyI9PXR5cGVvZiBlLmRpY3Rpb25hcnk/bC5zdHJpbmcyYnVmKGUuZGljdGlvbmFyeSk6IltvYmplY3QgQXJyYXlCdWZmZXJdIj09PWguY2FsbChlLmRpY3Rpb25hcnkpP25ldyBVaW50OEFycmF5KGUuZGljdGlvbmFyeSk6ZS5kaWN0aW9uYXJ5LChhPXMuZGVmbGF0ZVNldERpY3Rpb25hcnkodGhpcy5zdHJtLGkpKSE9PWQpdGhyb3cgbmV3IEVycm9yKG5bYV0pO3RoaXMuX2RpY3Rfc2V0PSEwfX1mdW5jdGlvbiBpKHQsZSl7dmFyIGE9bmV3IGMoZSk7aWYoYS5wdXNoKHQsITApLGEuZXJyKXRocm93IGEubXNnfHxuW2EuZXJyXTtyZXR1cm4gYS5yZXN1bHR9Yy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3ZhciBhLGksbj10aGlzLnN0cm0scj10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7aT1lPT09fn5lP2U6ITA9PT1lPzQ6MCwic3RyaW5nIj09dHlwZW9mIHQ/bi5pbnB1dD1sLnN0cmluZzJidWYodCk6IltvYmplY3QgQXJyYXlCdWZmZXJdIj09PWguY2FsbCh0KT9uLmlucHV0PW5ldyBVaW50OEFycmF5KHQpOm4uaW5wdXQ9dCxuLm5leHRfaW49MCxuLmF2YWlsX2luPW4uaW5wdXQubGVuZ3RoO2Rve2lmKDA9PT1uLmF2YWlsX291dCYmKG4ub3V0cHV0PW5ldyBvLkJ1Zjgociksbi5uZXh0X291dD0wLG4uYXZhaWxfb3V0PXIpLDEhPT0oYT1zLmRlZmxhdGUobixpKSkmJmEhPT1kKXJldHVybiB0aGlzLm9uRW5kKGEpLCEodGhpcy5lbmRlZD0hMCk7MCE9PW4uYXZhaWxfb3V0JiYoMCE9PW4uYXZhaWxfaW58fDQhPT1pJiYyIT09aSl8fCgic3RyaW5nIj09PXRoaXMub3B0aW9ucy50bz90aGlzLm9uRGF0YShsLmJ1ZjJiaW5zdHJpbmcoby5zaHJpbmtCdWYobi5vdXRwdXQsbi5uZXh0X291dCkpKTp0aGlzLm9uRGF0YShvLnNocmlua0J1ZihuLm91dHB1dCxuLm5leHRfb3V0KSkpfXdoaWxlKCgwPG4uYXZhaWxfaW58fDA9PT1uLmF2YWlsX291dCkmJjEhPT1hKTtyZXR1cm4gND09PWk/KGE9cy5kZWZsYXRlRW5kKHRoaXMuc3RybSksdGhpcy5vbkVuZChhKSx0aGlzLmVuZGVkPSEwLGE9PT1kKToyIT09aXx8KHRoaXMub25FbmQoZCksIShuLmF2YWlsX291dD0wKSl9LGMucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbih0KXt0aGlzLmNodW5rcy5wdXNoKHQpfSxjLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbih0KXt0PT09ZCYmKCJzdHJpbmciPT09dGhpcy5vcHRpb25zLnRvP3RoaXMucmVzdWx0PXRoaXMuY2h1bmtzLmpvaW4oIiIpOnRoaXMucmVzdWx0PW8uZmxhdHRlbkNodW5rcyh0aGlzLmNodW5rcykpLHRoaXMuY2h1bmtzPVtdLHRoaXMuZXJyPXQsdGhpcy5tc2c9dGhpcy5zdHJtLm1zZ30sYS5EZWZsYXRlPWMsYS5kZWZsYXRlPWksYS5kZWZsYXRlUmF3PWZ1bmN0aW9uKHQsZSl7cmV0dXJuKGU9ZXx8e30pLnJhdz0hMCxpKHQsZSl9LGEuZ3ppcD1mdW5jdGlvbih0LGUpe3JldHVybihlPWV8fHt9KS5nemlwPSEwLGkodCxlKX19LHsiLi91dGlscy9jb21tb24iOjMsIi4vdXRpbHMvc3RyaW5ncyI6NCwiLi96bGliL2RlZmxhdGUiOjgsIi4vemxpYi9tZXNzYWdlcyI6MTMsIi4vemxpYi96c3RyZWFtIjoxNX1dLDI6W2Z1bmN0aW9uKHQsZSxhKXsidXNlIHN0cmljdCI7dmFyIGY9dCgiLi96bGliL2luZmxhdGUiKSxfPXQoIi4vdXRpbHMvY29tbW9uIiksdT10KCIuL3V0aWxzL3N0cmluZ3MiKSxjPXQoIi4vemxpYi9jb25zdGFudHMiKSxpPXQoIi4vemxpYi9tZXNzYWdlcyIpLG49dCgiLi96bGliL3pzdHJlYW0iKSxyPXQoIi4vemxpYi9nemhlYWRlciIpLGI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBzKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHMpKXJldHVybiBuZXcgcyh0KTt0aGlzLm9wdGlvbnM9Xy5hc3NpZ24oe2NodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjAsdG86IiJ9LHR8fHt9KTt2YXIgZT10aGlzLm9wdGlvbnM7ZS5yYXcmJjA8PWUud2luZG93Qml0cyYmZS53aW5kb3dCaXRzPDE2JiYoZS53aW5kb3dCaXRzPS1lLndpbmRvd0JpdHMsMD09PWUud2luZG93Qml0cyYmKGUud2luZG93Qml0cz0tMTUpKSwhKDA8PWUud2luZG93Qml0cyYmZS53aW5kb3dCaXRzPDE2KXx8dCYmdC53aW5kb3dCaXRzfHwoZS53aW5kb3dCaXRzKz0zMiksMTU8ZS53aW5kb3dCaXRzJiZlLndpbmRvd0JpdHM8NDgmJjA9PSgxNSZlLndpbmRvd0JpdHMpJiYoZS53aW5kb3dCaXRzfD0xNSksdGhpcy5lcnI9MCx0aGlzLm1zZz0iIiLine truncated
|
||||
{"status":false}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"pako_1.0.10",
|
||||
"ZnVuY3Rpb24g0YPRgdGC0LDQvdC+0LLQuNGC0YxQYWtvKCkKewogICAgdmFyIHBha29KUyA9INC80L7QtNGD0LvRjCgicGFrby5taW4uanNfMS4wLjEwIilbMV07CiAgICBldmFsKNC80YPRgNC+0LwuYXRvYihwYWtvSlMpKTsKfQoK0YPRgdGC0LDQvdC+0LLQuNGC0YxQYWtvKCk7",
|
||||
{"status":true}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"uikit.min.css_3.2.0",
|
||||
"LyohIFVJa2l0IDMuMi4wIHwgaHR0cDovL3d3dy5nZXR1aWtpdC5jb20gfCAoYykgMjAxNCAtIDIwMTkgWU9PdGhlbWUgfCBNSVQgTGljZW5zZSAqL2h0bWx7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzY2Nn1ib2R5e21hcmdpbjowfWE6YWN0aXZlLGE6aG92ZXJ7b3V0bGluZTowfS51ay1saW5rLGF7Y29sb3I6IzFlODdmMDt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmssLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLC51ay1saW5rOmhvdmVyLGE6aG92ZXJ7Y29sb3I6IzBmNmVjZDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWFiYnJbdGl0bGVde3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkOy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0eWxlOmRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Om5vdChwcmUpPmNvZGUsOm5vdChwcmUpPmtiZCw6bm90KHByZSk+c2FtcHtmb250LWZhbWlseTpDb25zb2xhcyxtb25hY28sbW9ub3NwYWNlO2ZvbnQtc2l6ZTouODc1cmVtO2NvbG9yOiNmMDUwNmU7d2hpdGUtc3BhY2U6bm93cmFwO3BhZGRpbmc6MnB4IDZweDtiYWNrZ3JvdW5kOiNmOGY4Zjh9ZW17Y29sb3I6I2YwNTA2ZX1pbnN7YmFja2dyb3VuZDojZmZkO2NvbG9yOiM2NjY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9bWFya3tiYWNrZ3JvdW5kOiNmZmQ7Y29sb3I6IzY2Nn1xe2ZvbnQtc3R5bGU6aXRhbGljfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vwe3RvcDotLjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1hdWRpbyxjYW52YXMsaWZyYW1lLGltZyxzdmcsdmlkZW97dmVydGljYWwtYWxpZ246bWlkZGxlfWNhbnZhcyxpbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG87Ym94LXNpemluZzpib3JkZXItYm94fUBzdXBwb3J0cyAoZGlzcGxheTpibG9jayl7c3Zne21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveH19c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWltZzpub3QoW3NyY10pe21pbi13aWR0aDoxcHg7dmlzaWJpbGl0eTpoaWRkZW59aWZyYW1le2JvcmRlcjowfWFkZHJlc3MsZGwsZmllbGRzZXQsZmlndXJlLG9sLHAscHJlLHVse21hcmdpbjowIDAgMjBweCAwfSorYWRkcmVzcywqK2RsLCorZmllbGRzZXQsKitmaWd1cmUsKitvbCwqK3AsKitwcmUsKit1bHttYXJnaW4tdG9wOjIwcHh9LnVrLWgxLC51ay1oMiwudWstaDMsLnVrLWg0LC51ay1oNSwudWstaDYsLnVrLWhlYWRpbmctMnhsYXJnZSwudWstaGVhZGluZy1sYXJnZSwudWstaGVhZGluZy1tZWRpdW0sLnVrLWhlYWRpbmctc21hbGwsLnVrLWhlYWRpbmcteGxhcmdlLGgxLGgyLGgzLGg0LGg1LGg2e21hcmdpbjowIDAgMjBweCAwO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsIk5vdG8gU2FucyIsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojMzMzO3RleHQtdHJhbnNmb3JtOm5vbmV9KisudWstaDEsKisudWstaDIsKisudWstaDMsKisudWstaDQsKisudWstaDUsKisudWstaDYsKisudWstaGVhZGluZy0yeGxhcmdlLCorLnVrLWhlYWRpbmctbGFyZ2UsKisudWstaGVhZGluZy1tZWRpdW0sKisudWstaGVhZGluZy1zbWFsbCwqKy51ay1oZWFkaW5nLXhsYXJnZSwqK2gxLCoraDIsKitoMywqK2g0LCoraDUsKitoNnttYXJnaW4tdG9wOjQwcHh9LnVrLWgxLGgxe2ZvbnQtc2l6ZToyLjIzMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMn0udWstaDIsaDJ7Zm9udC1zaXplOjEuN3JlbTtsaW5lLWhlaWdodDoxLjN9LnVrLWgzLGgze2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MS40fS51ay1oNCxoNHtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjR9LnVrLWg1LGg1e2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNH0udWstaDYsaDZ7Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS40fUBtZWRpYSAobWluLXdpZHRoOjk2MHB4KXsudWstaDEsaDF7Zm9udC1zaXplOjIuNjI1cmVtfS51ay1oMixoMntmb250LXNpemU6MnJlbX19b2wsdWx7cGFkZGluZy1sZWZ0OjMwcHh9b2w+bGk+b2wsb2w+bGk+dWwsdWw+bGk+b2wsdWw+bGk+dWx7bWFyZ2luOjB9ZHR7Zm9udC13ZWlnaHQ6NzAwfWRke21hcmdpbi1sZWZ0OjB9LnVrLWhyLGhye292ZXJmbG93OnZpc2libGU7dGV4dC1hbGlnbjppbmhlcml0O21hcmdpbjowIDAgMjBweCAwO2JvcmRlcjowO2JvcmRlci10b3A6MXB4IHNvbGlkICNlNWU1ZTV9KisudWstaHIsKitocnttYXJnaW4tdG9wOjIwcHh9YWRkcmVzc3tmb250LXN0eWxlOm5vcm1hbH1ibG9ja3F1b3Rle21hcmdpbjowIDAgMjBweCAwO2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNTtmb250LXN0eWxlOml0YWxpYztjb2xvcjojMzMzfSorYmxvY2txdW90ZXttYXJnaW4tdG9wOjIwcHh9YmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9YmxvY2txdW90ZSBmb290ZXJ7bWFyZ2luLXRvcDoxMHB4O2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNjY2fWJsb2NrcXVvdGUgZm9vdGVyOjpiZWZvcmV7Y29udGVudDoi0YLQkNCkICJ9cHJle2ZvbnQ6Ljg3NXJlbS8xLjUgQ29uc29sYXMsbW9uYWNvLG1vbm9zcGFjZTtjb2xvcjojNjY2Oy1tb3otdGFiLXNpemU6NDt0YWItc2l6ZTo0O292ZXJmbG93OmF1dG87cGFkZGluZzoxMHB4O2JvcmRlcjoxcHggc29saWQgI2U1ZTVlNTtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOiNmZmZ9cHJlIGNvZGV7Zm9udC1mYW1pbHk6Q29uc29sYXMsbW9uYWNvLG1vbm9zcGFjZX06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOiMzOWY7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzpub25lfWRldGFpbHMsbWFpbntkaXNwbGF5OmJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19dGVtcGxhdGV7ZGlzcGxheTpub25lfS51ay1icmVha3BvaW50LXM6OmJlZm9yZXtjb250ZW50Oic2NDBweCd9LnVrLWJyZWFrcG9pbnQtbTo6YmVmb3Jle2NvbnRlbnQ6Jzk2MHB4J30udWstYnJlYWtwb2ludC1sOjpiZWZvcmV7Y29udGVudDonMTIwMHB4J30udWstYnJlYWtwb2ludC14bDo6YmVmb3Jle2NvbnRlbnQ6JzE2MDBweCd9OnJvb3R7LS11ay1icmVha3BvaW50LXM6NjQwcHg7LS11ay1icmVha3BvaW50LW06OTYwcHg7LS11ay1icmVha3BvaW50LWw6MTIwMHB4Oy0tdWstYnJlYWtwb2ludC14bDoxNjAwcHh9LnVrLWxpbmstbXV0ZWQgYSxhLnVrLWxpbmstbXV0ZWR7Y29sb3I6Izk5OX0udWstbGluay1tdXRlZCBhOmhvdmVyLC51ay1saWLine truncated
|
||||
{"status":false}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"uikit.js_3.2.0",
|
||||
"LyohIFVJa2l0IDMuMi4wIHwgaHR0cDovL3d3dy5nZXR1aWtpdC5jb20gfCAoYykgMjAxNCAtIDIwMTkgWU9PdGhlbWUgfCBNSVQgTGljZW5zZSAqLwoKKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKICAgIHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyA/IG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpIDoKICAgIHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZSgndWlraXQnLCBmYWN0b3J5KSA6CiAgICAoZ2xvYmFsID0gZ2xvYmFsIHx8IHNlbGYsIGdsb2JhbC5VSWtpdCA9IGZhY3RvcnkoKSk7Cn0odGhpcywgZnVuY3Rpb24gKCkgeyAndXNlIHN0cmljdCc7CgogICAgdmFyIG9ialByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7CiAgICB2YXIgaGFzT3duUHJvcGVydHkgPSBvYmpQcm90b3R5cGUuaGFzT3duUHJvcGVydHk7CgogICAgZnVuY3Rpb24gaGFzT3duKG9iaiwga2V5KSB7CiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpOwogICAgfQoKICAgIHZhciBoeXBoZW5hdGVDYWNoZSA9IHt9OwogICAgdmFyIGh5cGhlbmF0ZVJlID0gLyhbYS16XGRdKShbQS1aXSkvZzsKCiAgICBmdW5jdGlvbiBoeXBoZW5hdGUoc3RyKSB7CgogICAgICAgIGlmICghKHN0ciBpbiBoeXBoZW5hdGVDYWNoZSkpIHsKICAgICAgICAgICAgaHlwaGVuYXRlQ2FjaGVbc3RyXSA9IHN0cgogICAgICAgICAgICAgICAgLnJlcGxhY2UoaHlwaGVuYXRlUmUsICckMS0kMicpCiAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBoeXBoZW5hdGVDYWNoZVtzdHJdOwogICAgfQoKICAgIHZhciBjYW1lbGl6ZVJlID0gLy0oXHcpL2c7CgogICAgZnVuY3Rpb24gY2FtZWxpemUoc3RyKSB7CiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKGNhbWVsaXplUmUsIHRvVXBwZXIpOwogICAgfQoKICAgIGZ1bmN0aW9uIHRvVXBwZXIoXywgYykgewogICAgICAgIHJldHVybiBjID8gYy50b1VwcGVyQ2FzZSgpIDogJyc7CiAgICB9CgogICAgZnVuY3Rpb24gdWNmaXJzdChzdHIpIHsKICAgICAgICByZXR1cm4gc3RyLmxlbmd0aCA/IHRvVXBwZXIobnVsbCwgc3RyLmNoYXJBdCgwKSkgKyBzdHIuc2xpY2UoMSkgOiAnJzsKICAgIH0KCiAgICB2YXIgc3RyUHJvdG90eXBlID0gU3RyaW5nLnByb3RvdHlwZTsKICAgIHZhciBzdGFydHNXaXRoRm4gPSBzdHJQcm90b3R5cGUuc3RhcnRzV2l0aCB8fCBmdW5jdGlvbiAoc2VhcmNoKSB7IHJldHVybiB0aGlzLmxhc3RJbmRleE9mKHNlYXJjaCwgMCkgPT09IDA7IH07CgogICAgZnVuY3Rpb24gc3RhcnRzV2l0aChzdHIsIHNlYXJjaCkgewogICAgICAgIHJldHVybiBzdGFydHNXaXRoRm4uY2FsbChzdHIsIHNlYXJjaCk7CiAgICB9CgogICAgdmFyIGVuZHNXaXRoRm4gPSBzdHJQcm90b3R5cGUuZW5kc1dpdGggfHwgZnVuY3Rpb24gKHNlYXJjaCkgeyByZXR1cm4gdGhpcy5zdWJzdHIoLXNlYXJjaC5sZW5ndGgpID09PSBzZWFyY2g7IH07CgogICAgZnVuY3Rpb24gZW5kc1dpdGgoc3RyLCBzZWFyY2gpIHsKICAgICAgICByZXR1cm4gZW5kc1dpdGhGbi5jYWxsKHN0ciwgc2VhcmNoKTsKICAgIH0KCiAgICB2YXIgYXJyUHJvdG90eXBlID0gQXJyYXkucHJvdG90eXBlOwoKICAgIHZhciBpbmNsdWRlc0ZuID0gZnVuY3Rpb24gKHNlYXJjaCwgaSkgeyByZXR1cm4gfnRoaXMuaW5kZXhPZihzZWFyY2gsIGkpOyB9OwogICAgdmFyIGluY2x1ZGVzU3RyID0gc3RyUHJvdG90eXBlLmluY2x1ZGVzIHx8IGluY2x1ZGVzRm47CiAgICB2YXIgaW5jbHVkZXNBcnJheSA9IGFyclByb3RvdHlwZS5pbmNsdWRlcyB8fCBpbmNsdWRlc0ZuOwoKICAgIGZ1bmN0aW9uIGluY2x1ZGVzKG9iaiwgc2VhcmNoKSB7CiAgICAgICAgcmV0dXJuIG9iaiAmJiAoaXNTdHJpbmcob2JqKSA/IGluY2x1ZGVzU3RyIDogaW5jbHVkZXNBcnJheSkuY2FsbChvYmosIHNlYXJjaCk7CiAgICB9CgogICAgdmFyIGZpbmRJbmRleEZuID0gYXJyUHJvdG90eXBlLmZpbmRJbmRleCB8fCBmdW5jdGlvbiAocHJlZGljYXRlKSB7CiAgICAgICAgdmFyIGFyZ3VtZW50cyQxID0gYXJndW1lbnRzOwoKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKHByZWRpY2F0ZS5jYWxsKGFyZ3VtZW50cyQxWzFdLCB0aGlzW2ldLCBpLCB0aGlzKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIC0xOwogICAgfTsKCiAgICBmdW5jdGlvbiBmaW5kSW5kZXgoYXJyYXksIHByZWRpY2F0ZSkgewogICAgICAgIHJldHVybiBmaW5kSW5kZXhGbi5jYWxsKGFycmF5LCBwcmVkaWNhdGUpOwogICAgfQoKICAgIHZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTsKCiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKG9iaikgewogICAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzT2JqZWN0KG9iaikgewogICAgICAgIHJldHVybiBvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCc7CiAgICB9CgogICAgZnVuY3Rpb24gaXNQbGFpbk9iamVjdChvYmopIHsKICAgICAgICByZXR1cm4gaXNPYmplY3Qob2JqKSAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gb2JqUHJvdG90eXBlOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzV2luZG93KG9iaikgewogICAgICAgIHJldHVybiBpc09iamVjdChvYmopICYmIG9iaiA9PT0gb2JqLndpbmRvdzsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0RvY3VtZW50KG9iaikgewogICAgICAgIHJldHVybiBpc09iamVjdChvYmopICYmIG9iai5ub2RlVHlwZSA9PT0gOTsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0pRdWVyeShvYmopIHsKICAgICAgICByZXR1cm4gaXNPYmplY3Qob2JqKSAmJiAhIW9iai5qcXVlcnk7CiAgICB9CgogICAgZnVuY3Rpb24gaXNOb2RlKG9iaikgewogICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOb2RlIHx8IGlzT2JqZWN0KG9iaikgJiYgb2JqLm5vZGVUeXBlID49IDE7CiAgICB9CgogICAgdmFyIHRvU3RyaW5nID0gb2JqUHJvdG90eXBlLnRvU3RyaW5nOwogICAgZnVuY3Rpb24gaXNOb2RlQ29sbGVjdGlvbihvYmopIHsKICAgICAgICByZXR1cm4gdG9TdHJpbmcuY2FsbChvYmopLm1hdGNoKC9eXFtvYmplY3QgKE5vZGVMaXN0fEhUTUxDb2xsZWN0aW9uKVxdJC8pOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZSkgewogICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJzsKICAgIH0KCiAgICBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZSkgewogICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcic7CiAgICB9CgogICAgZnVuY3Rpb24gaXNOdW1lcmljKHZhbHVlKSB7CiAgICAgICAgcmV0dXJuIGlzTnVtYmVyKHZhbHVlKSB8fCBpc1N0cmluZyh2YWx1ZSkgJiYgIWlzTmFOKHZhbHVlIC0gcGFyc2VGbG9hdCh2YWx1ZSkpOwogICAgfQoKICAgIGZ1bmN0aW9uIGlzRW1wdHkob2JqKSB7CiAgICAgICAgcmV0dXJuICEoaXNBcnJheShvYmopCiAgICAgICAgICAgID8gb2JqLmxlbmd0aAogICAgICAgICAgICA6IGlzT2Line truncated
|
||||
{"status":false}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"uikit-icons.js_3.2.0",
|
||||
"LyohIFVJa2l0IDMuMi4wIHwgaHR0cDovL3d3dy5nZXR1aWtpdC5jb20gfCAoYykgMjAxNCAtIDIwMTkgWU9PdGhlbWUgfCBNSVQgTGljZW5zZSAqLwoKKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKICAgIHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyA/IG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpIDoKICAgIHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCA/IGRlZmluZSgndWlraXRpY29ucycsIGZhY3RvcnkpIDoKICAgIChnbG9iYWwgPSBnbG9iYWwgfHwgc2VsZiwgZ2xvYmFsLlVJa2l0SWNvbnMgPSBmYWN0b3J5KCkpOwp9KHRoaXMsIGZ1bmN0aW9uICgpIHsgJ3VzZSBzdHJpY3QnOwoKICAgIGZ1bmN0aW9uIHBsdWdpbihVSWtpdCkgewoKICAgICAgICBpZiAocGx1Z2luLmluc3RhbGxlZCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBVSWtpdC5pY29uLmFkZCh7CiAgICAgICAgIjUwMHB4IjogIjxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTkuNjI0LDExLjg2NmMtMC4xNDEsMC4xMzIsMC40NzksMC42NTgsMC42NjIsMC40MThjMC4wNTEtMC4wNDYsMC42MDctMC42MSwwLjY2Mi0wLjY2NGMwLDAsMC43MzgsMC43MTksMC44MTQsMC43MTkgYzAuMSwwLDAuMjA3LTAuMDU1LDAuMzIyLTAuMTdjMC4yNy0wLjI2OSwwLjEzNS0wLjQxNiwwLjA2Ni0wLjQ5NWwtMC42MzEtMC42MTZsMC42NTgtMC42NjhjMC4xNDYtMC4xNTYsMC4wMjEtMC4zMTQtMC4xLTAuNDQ5IGMtMC4xODItMC4xOC0wLjM1OS0wLjIyNi0wLjQ3MS0wLjEyNWwtMC42NTYsMC42NTRsLTAuNjU0LTAuNjU0Yy0wLjAzMy0wLjAzNC0wLjA4LTAuMDQ1LTAuMTI0LTAuMDQ1IGMtMC4wNzksMC0wLjE5MSwwLjA2OC0wLjMwNywwLjE4MWMtMC4yMDIsMC4yMDItMC4yNDcsMC4zNTEtMC4xMzMsMC40NjJsMC42NjUsMC42NjVMOS42MjQsMTEuODY2elwiLz48cGF0aCBkPVwiTTExLjA2NiwyLjg4NGMtMS4wNjEsMC0yLjE4NSwwLjI0OC0zLjAxMSwwLjYwNGMtMC4wODcsMC4wMzQtMC4xNDEsMC4xMDYtMC4xNSwwLjIwNUM3Ljg5MywzLjc4NCw3LjkxOSwzLjkwOSw3Ljk4Miw0LjA2NiBjMC4wNSwwLjEzNiwwLjE4NywwLjQ3NCwwLjQ1MiwwLjM3MmMwLjg0NC0wLjMyNiwxLjc3OS0wLjUwNywyLjYzMy0wLjUwN2MwLjk2MywwLDEuOSwwLjE5MSwyLjc4MSwwLjU2NCBjMC42OTUsMC4yOTIsMS4zNTcsMC43MTksMi4wNzgsMS4zNGMwLjA1MSwwLjA0NCwwLjEwNSwwLjA2OCwwLjE2NCwwLjA2OGMwLjE0MywwLDAuMjczLTAuMTM3LDAuMzg5LTAuMjcxIGMwLjE5MS0wLjIxNCwwLjMyNC0wLjM5NSwwLjEzNS0wLjU3NWMtMC42ODYtMC42NTQtMS40MzYtMS4xMzgtMi4zNjMtMS41MzNDMTMuMjQsMy4wOTcsMTIuMTY4LDIuODg0LDExLjA2NiwyLjg4NHpcIi8+PHBhdGggZD1cIk0xNi40MywxNS43NDdjLTAuMDkyLTAuMDI4LTAuMjQyLDAuMDUtMC4zMDksMC4xMTlsMCwwYy0wLjY1MiwwLjY1Mi0xLjQyLDEuMTY5LTIuMjY4LDEuNTIxIGMtMC44NzcsMC4zNzEtMS44MTQsMC41NTEtMi43NzksMC41NTFjLTAuOTYxLDAtMS44OTYtMC4xODktMi43NzUtMC41NjRjLTAuODQ4LTAuMzYtMS42MTItMC44NzktMi4yNjgtMS41MyBjLTAuNjgyLTAuNjg4LTEuMTk2LTEuNDU1LTEuNTI5LTIuMjY4Yy0wLjMyNS0wLjc5OS0wLjQ3MS0xLjY0My0wLjQ3MS0xLjY0M2MtMC4wNDUtMC4yNC0wLjI1OC0wLjI0OS0wLjU2Ny0wLjIwMyBjLTAuMTI4LDAuMDIxLTAuNTE5LDAuMDc5LTAuNDgzLDAuMzZ2MC4wMWMwLjEwNSwwLjY0NCwwLjI4OSwxLjI4NCwwLjU0NSwxLjg5NWMwLjQxNywwLjk2OSwxLjAwMiwxLjg0OSwxLjc1NiwyLjYwNCBjMC43NTcsMC43NTQsMS42MzYsMS4zNCwyLjYwNCwxLjc1N0M4LjkwMSwxOC43ODUsOS45NywxOSwxMS4wODgsMTljMS4xMDQsMCwyLjE4Ni0wLjIxNSwzLjE4OC0wLjY0NSBjMS44MzgtMC44OTYsMi42MDQtMS43NTcsMi42MDQtMS43NTdjMC4xODItMC4yMDQsMC4yMjctMC4zMTctMC4xLTAuNjQzQzE2Ljc3OSwxNS45NTYsMTYuNTI1LDE1Ljc3NCwxNi40MywxNS43NDd6XCIvPjxwYXRoIGQ9XCJNNS42MzMsMTMuMjg3YzAuMjkzLDAuNzEsMC43MjMsMS4zNDEsMS4yNjIsMS44ODJjMC41NCwwLjU0LDEuMTcyLDAuOTcxLDEuODgyLDEuMjY0YzAuNzMxLDAuMzAzLDEuNTA5LDAuNDYxLDIuMjk4LDAuNDYxIGMwLjgwMSwwLDEuNTc4LTAuMTU4LDIuMjk3LTAuNDYxYzAuNzExLTAuMjkzLDEuMzQ0LTAuNzI0LDEuODgzLTEuMjY0YzAuNTQzLTAuNTQxLDAuOTcxLTEuMTcyLDEuMjY0LTEuODgyIGMwLjMxNC0wLjcyMSwwLjQ2My0xLjUsMC40NjMtMi4yOThjMC0wLjc5LTAuMTQ4LTEuNTY5LTAuNDYzLTIuMjg5Yy0wLjI5My0wLjY5OS0wLjcyMS0xLjMyOS0xLjI2NC0xLjg4MSBjLTAuNTM5LTAuNTQxLTEuMTcyLTAuOTU5LTEuODY3LTEuMjYzYy0wLjcyMS0wLjMwMy0xLjUtMC40NjEtMi4yOTktMC40NjFjLTAuODAyLDAtMS42MTMsMC4xNTktMi4zMjIsMC40NjEgYy0wLjU3NywwLjI1LTEuNTQ0LDAuODY3LTIuMTE5LDEuNDU0djAuMDEyVjIuMTA4aDguMTZDMTUuMSwyLjEwNCwxNS4xLDEuNjksMTUuMSwxLjU1MkMxNS4xLDEuNDE3LDE1LjEsMSwxNC44MDksMUg1LjkxNSBDNS42NzYsMSw1LjUyNywxLjE5Miw1LjUyNywxLjM4NHY2Ljg0YzAsMC4yMTQsMC4yNzMsMC4zNzIsMC41MjksMC40MjhjMC41LDAuMTA1LDAuNjE0LTAuMDU2LDAuNzM3LTAuMjI0bDAsMCBjMC4xOC0wLjI3MywwLjc3Ni0wLjg4NCwwLjc4Ny0wLjg5NGMwLjkwMS0wLjkwNSwyLjExNy0xLjQwOCwzLjQxNi0xLjQwOGMxLjI4NSwwLDIuNSwwLjUwMSwzLjQxMiwxLjQwOCBjMC45MTQsMC45MTQsMS40MDgsMi4xMjIsMS40MDgsMy40MDVjMCwxLjI4OC0wLjUwOCwyLjQ5Ni0xLjQwOCwzLjQwNWMtMC45LDAuODk2LTIuMTUyLDEuNDA2LTMuNDM4LDEuNDA2IGMtMC44NzcsMC0xLjcxMS0wLjIyOS0yLjQzMy0wLjY3MXYtNC4xNThjMC0wLjU1MywwLjIzNy0xLjE1MSwwLjY0My0xLjYxNGMwLjQ2Mi0wLjUxOSwxLjA5NC0wLjc5OSwxLjc4Mi0wLjc5OSBjMC42NjQsMCwxLjI5MywwLjI1MywxLjc1OCwwLjcxNWMwLjQ1OSwwLjQ1OSwwLjcwOSwxLjA3MSwwLjcwOSwxLjcyM2MwLDEuMzg1LTEuMDk0LDIuNDY4LTIuNDg4LDIuNDY4IGMtMC4yNzMsMC0wLjc2OS0wLjEyMS0wLjc4MS0wLjEyNWMtMC4yODEtMC4wODctMC40MDUsMC4zMDYtMC40MzgsMC40MzZjLTAuMTU5LDAuNDk2LDAuMDc5LDAuNTg1LDAuMTIzLDAuNjA3IGMwLjQ1MiwwLjEzNywwLjc0MywwLjE1NywxLjEyOSwwLjE1N2MxLjk3MywwLDMuNTcyLTEuNiwzLjU3Mi0zLjU3YzAtMS45NjQtMS42LTMuNTUyLTMuNTcyLTMuNTUyYy0wLjk3LDAtMS44NzIsMC4zNi0yLjU0NiwxLjAzOCBjLTAuNjU2LDAuNjMxLTEuMDI3LDEuNDg3LTEuMDI3LDIuMzIydjMuNDM4di0wLjAxMWMtMC4zNzItMC40Mi0wLjczMi0xLjA0MS0wLjk4MS0xLjY4MmMtMC4xMDItMC4yNDgtMC4zMTUtMC4yMDItMC42MDctMC4xMTMgYy0wLjEzNSwwLjAzNS0wLjUxOSwwLjE1Ny0wLjQ0LDAuNDM5QzUuMzcyLDEyLjc5OSw1LjU3NywxMy4xNjQsNS42MzMsMTMuMjg3elwiLz48L3N2Zz4iLAogICAgICAgICJhbGJ1bSI6ICI8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHLine truncated
|
||||
{"status":false}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"uikit_3.2.0",
|
||||
"ZnVuY3Rpb24g0YPRgdGC0LDQvdC+0LLQuNGC0YxVSUtpdCgpCnsKICAgIHZhciB1aWtpdENTUyA9INC80L7QtNGD0LvRjCgidWlraXQubWluLmNzc18zLjIuMCIpWzFdOwogICAgdmFyIHVpa2l0SlMgPSDQvNC+0LTRg9C70YwoInVpa2l0LmpzXzMuMi4wIilbMV07CiAgICB2YXIgdWlraXRJY29uc0pTID0g0LzQvtC00YPQu9GMKCJ1aWtpdC1pY29ucy5qc18zLjIuMCIpWzFdOwoKICAgIHZhciDQstC40LQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCjQstC40LQpOwogICAg0LLQuNC0LmlubmVySFRNTCA9INC80YPRgNC+0LwuYXRvYih1aWtpdENTUyk7CiAgICDQt9Cw0LPRgNGD0LfQuNGC0YzQodC60YDQuNC/0YIo0LzRg9GA0L7QvC5hdG9iKHVpa2l0SlMpKTsKICAgINC30LDQs9GA0YPQt9C40YLRjNCh0LrRgNC40L/RgijQvNGD0YDQvtC8LmF0b2IodWlraXRJY29uc0pTKSk7Cn0KCtC80YPRgNC+0Lwu0L7QsdGL0YfQvdGL0LnQn9GD0YHQui7Qv9C+0LTQv9C40YHQsNGC0Ywo0YPRgdGC0LDQvdC+0LLQuNGC0YxVSUtpdCk7",
|
||||
{"status":true}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"муром.оповещения_1.0.0",
|
||||
"LyoKICoKICog0J/QtdGA0LXQvdCw0L/RgNCw0LLQu9C10L3QuNC1INGD0LLQtdC00L7QvNC70LXQvdC40Lkg0LjQtyBDKysg0LIgSlMKICoKICovCtC80YPRgNC+0Lwu0LzQuNGA0JPQvtGC0L7QsiA9IG5ldyDQo9Cy0LXQtNC+0LzQuNGC0LXQu9GMKCk7CgpmdW5jdGlvbiBNaXIoKSB7IH0Kd2luZG93Lm1pciA9IG5ldyBNaXIoKTsKTWlyLnByb3RvdHlwZS5nb3RvdiA9IGZ1bmN0aW9uKCkKewogICAg0LzRg9GA0L7QvC7QvNC40YDQk9C+0YLQvtCyLtGD0LLQtdC00L7QvNC40YLRjCgpOwp9Ck1pci5wcm90b3R5cGUuaXpyZWsgPSBmdW5jdGlvbihrZXkpCnsKICAgIGlmIChrZXkgPT0gIm1vdXNlLnBvc2l0aW9uIikKICAgIHsKICAgICAgICBtdXJvbS5tb3VzZS5wb3NpdGlvbkNoYW5nZWQucmVwb3J0KCk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKGtleSA9PSAibW91c2UucHJlc3NlZEJ1dHRvbnMiKQogICAgewogICAgICAgIG11cm9tLm1vdXNlLnByZXNzZWRCdXR0b25zQ2hhbmdlZC5yZXBvcnQoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBpZiAoa2V5ID09ICJ3aW5kb3cuc2l6ZSIpCiAgICB7CiAgICAgICAgbXVyb20ud2luZG93LnNpemVDaGFuZ2VkLnJlcG9ydCgpOwogICAgICAgIHJldHVybjsKICAgIH0KfQ==",
|
||||
{}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"муром.апи_1.0.0",
|
||||
"Ly8KLy8g0KTQo9Cd0JrQptCY0JgKLy8gRlVOQ1RJT05TCi8vCgovKgogKgogKiDQn9C+0LvRg9GH0LXQvdC40LUg0YLQtdC60YHRgtC+0LLRi9GFINC00LDQvdC90YvRhSDQv9C+IEhUVFAoUykKICogR2V0dGluZyB0ZXh0dWFsIGRhdGEgb3ZlciBIVFRQKFMpCiAqCiAqLwptdXJvbS5nZXQgPSBmdW5jdGlvbih1cmwsIHN1Y2Nlc3NDYWxsYmFjaywgZmFpbHVyZUNhbGxiYWNrKQp7CiAgICB2YXIgcmVxID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKQogICAgewogICAgICAgIGlmICh0aGlzLnJlYWR5U3RhdGUgPT0gNCkKICAgICAgICB7CiAgICAgICAgICAgIGlmICh0aGlzLnN0YXR1cyA9PSAyMDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN1Y2Nlc3NDYWxsYmFjayh0aGlzLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoZmFpbHVyZUNhbGxiYWNrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmYWlsdXJlQ2FsbGJhY2sodGhpcy5zdGF0dXMpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJlcS5vcGVuKCJHRVQiLCB1cmwpOwogICAgcmVxLnNlbmQoKTsKfQrQvNGD0YDQvtC8LtC/0L7Qu9GD0YfQuNGC0YwgPSBmdW5jdGlvbijQsNC00YDQtdGBLCDQvtGC0LrQu9C40LrQo9GB0L/QtdGF0LAsINC+0YLQutC70LjQutCf0YDQvtCy0LDQu9CwKQp7CiAgICBtdXJvbS5nZXQo0LDQtNGA0LXRgSwg0L7RgtC60LvQuNC60KPRgdC/0LXRhdCwLCDQvtGC0LrQu9C40LrQn9GA0L7QstCw0LvQsCk7Cn07CgovKgogKgogKiDQn9C+0LvRg9GH0LXQvdC40LUg0LTQstC+0LjRh9C90YvRhSAo0LHQuNC90LDRgNC90YvRhSkg0LTQsNC90L3Ri9GFINC/0L4gSFRUUChTKQogKiBHZXR0aW5nIGJpbmFyeSBkYXRhIG92ZXIgSFRUUChTKQogKgogKi8KbXVyb20uZ2V0YiA9IGZ1bmN0aW9uKHVybCwgc3VjY2Vzc0NhbGxiYWNrLCBmYWlsdXJlQ2FsbGJhY2spCnsKICAgIHZhciByZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKICAgIHJlcS5yZXNwb25zZVR5cGUgPSAiYXJyYXlidWZmZXIiOwogICAgcmVxLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICBpZiAodGhpcy5yZWFkeVN0YXRlID09IDQpCiAgICAgICAgewogICAgICAgICAgICBpZiAodGhpcy5zdGF0dXMgPT0gMjAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdWNjZXNzQ2FsbGJhY2sodGhpcy5yZXNwb25zZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAoZmFpbHVyZUNhbGxiYWNrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmYWlsdXJlQ2FsbGJhY2sodGhpcy5zdGF0dXMpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHJlcS5vcGVuKCJHRVQiLCB1cmwpOwogICAgcmVxLnNlbmQoKTsKfQrQvNGD0YDQvtC8LtC/0L7Qu9GD0YfQuNGC0YzQsSA9IGZ1bmN0aW9uKNCw0LTRgNC10YEsINC+0YLQutC70LjQutCj0YHQv9C10YXQsCwg0L7RgtC60LvQuNC60J/RgNC+0LLQsNC70LApCnsKICAgIG11cm9tLmdldGIo0LDQtNGA0LXRgSwg0L7RgtC60LvQuNC60KPRgdC/0LXRhdCwLCDQvtGC0LrQu9C40LrQn9GA0L7QstCw0LvQsCk7Cn07CgovKgogKgogKiDQn9C+0LvRg9GH0LXQvdC40LUg0YLQtdC60YHRgtC+0LLRi9GFINC4INC00LLQvtC40YfQvdGL0YUg0LTQsNC90L3Ri9GFINC/0L4g0L3QtdGB0LrQvtC70YzQutC40Lwg0LDQtNGA0LXRgdCw0Lwg0YHRgNCw0LfRgwogKiBHZXR0aW5nIHRleHR1YWwgYW5kIGJpbmFyeSBkYXRhIHVzaW5nIHNldmVyYWwgVVJMcyBhdCBvbmNlCiAqCiAqLwptdXJvbS5nZXRNYW55ID0gZnVuY3Rpb24oaXRlbXMsIGNvbXBsZXRpb25DYWxsYmFjaykKewogICAgdmFyIHNlbGYgPSB0aGlzOwogICAgdmFyIHJlc3VsdHMgPSB7fTsKCiAgICB2YXIgY291bnQgPSAwOwogICAgZnVuY3Rpb24gcmVwb3J0Q29tcGxldGlvbigpCiAgICB7CiAgICAgICAgaWYgKCsrY291bnQgPT0gaXRlbXMubGVuZ3RoKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGNvbXBsZXRpb25DYWxsYmFjaykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY29tcGxldGlvbkNhbGxiYWNrKHJlc3VsdHMpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgCiAgICBmb3IgKHZhciBpZCBpbiBpdGVtcykKICAgIHsKICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaWRdOwogICAgICAgIGNvbnN0IHVybCA9IGl0ZW1bMF07CiAgICAgICAgY29uc3QgbmFtZSA9IGl0ZW1bMV07CiAgICAgICAgdmFyIGlzQmluYXJ5ID0gKGl0ZW1bMl0gPT0gImIiKTsKICAgICAgICAKICAgICAgICBmdW5jdGlvbiBzdWNjZXNzKGNvbnRlbnRzKQogICAgICAgIHsKICAgICAgICAgICAgcmVzdWx0c1tuYW1lXSA9IGNvbnRlbnRzOwogICAgICAgICAgICByZXBvcnRDb21wbGV0aW9uKCkKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gZmFpbHVyZShzdGF0dXMpCiAgICAgICAgewogICAgICAgICAgICBMT0coCiAgICAgICAgICAgICAgICBmb3JtYXRTdHJpbmcoCiAgICAgICAgICAgICAgICAgICAgIkVSUk9SIENvdWxkIG5vdCBkb3dubG9hZCBVUkw6ICd7MH0nIHN0YXR1czogJ3sxfSciLAogICAgICAgICAgICAgICAgICAgIHVybCwKICAgICAgICAgICAgICAgICAgICBzdGF0dXMKICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmVwb3J0Q29tcGxldGlvbigpCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmIChpc0JpbmFyeSkKICAgICAgICB7CiAgICAgICAgICAgIG11cm9tLmdldGIodXJsLCBzdWNjZXNzLCBmYWlsdXJlKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgbXVyb20uZ2V0KHVybCwgc3VjY2VzcywgZmFpbHVyZSk7CiAgICAgICAgfQogICAgfQp9OwrQvNGD0YDQvtC8LtC/0L7Qu9GD0YfQuNGC0YzQnNC90L7Qs9C+ID0gZnVuY3Rpb24o0Y3Qu9C10LzQtdC90YLRiywg0L7RgtC60LvQuNC60JfQsNCy0LXRgNGI0LXQvdC40Y8pCnsKICAgIG11cm9tLmdldE1hbnko0Y3Qu9C10LzQtdC90YLRiywg0L7RgtC60LvQuNC60JfQsNCy0LXRgNGI0LXQvdC40Y8pOwp9OwoKLy8KLy8g0JrQkNCc0JXQoNCQCi8vIENBTUVSQQovLwoKbXVyb20uY2FtZXJhID0ge307CtC80YPRgNC+0Lwu0LrQsNC80LXRgNCwID0ge307CgovKgogKgogKiDQptCy0LXRgiDQvtGH0LjRgdGC0LrQuCDQutCw0LzQtdGA0YsKICogQ2FtZXJhIGNsZWFyIGNvbG9yCiAqCiAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkobXVyb20uY2FtZXJhLCAiY2xlYXJDb2xvciIsIHsKICAgIGdldDogZnVuY3Rpb24oKQogICAgewogICAgICAgIHZhciB2aW4gPSBuZXcgTW9kdWxlLlN0cmluZ0xpc3QoKTsKICAgICAgICBjb25zdCB2b3V0ID0gTW9kdWxlLm1pckNhbGwoImNhbWVyYS5jbGVhckNvbG9yIiwgdmluKTsKICAgICAgICByZXR1cm4gWwogICAgICAgICAgICBwYXJzZUZsb2F0KHZvdXQuZ2V0KDApKSwKICAgICAgICAgICAgcGFyc2VGbG9hdCh2b3V0LmdldCgxKSksCiAgICAgICAgICAgIHBhcnNlRmxvYXQodm91dC5nZXQoMikpLAogICAgICAgIF07CiAgICB9LAogICAgc2V0OiBmdW5jdGlvbih2YWx1ZXMpCiAgICB7CiAgICAgICAgdmFyIHZpbiA9IG5ldyBNb2R1bGUuU3RyaW5nTGlzdCgpOwogICAgICAgIGZvciAodmFyIGlkID0gMDsgaWQgPCB2YWx1ZXMubGLine truncated
|
||||
{"status":true}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"emscripten.Module",
|
||||
"dmFyIE1vZHVsZSA9IHsKICAgIHByZVJ1bjogW10sCiAgICBwb3N0UnVuOiBbXSwKICAgIHByaW50OiBmdW5jdGlvbih0ZXh0KSB7CiAgICAgICAgY29uc29sZS5sb2codGV4dCk7CiAgICB9LAogICAgcHJpbnRFcnI6IGZ1bmN0aW9uKHRleHQpIHsKICAgICAgICBjb25zb2xlLmVycm9yKHRleHQpOwogICAgfSwKICAgIGNhbnZhczogKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7CiAgICAgICAgLy8gQXMgYSBkZWZhdWx0IGluaXRpYWwgYmVoYXZpb3IsIHBvcCB1cCBhbiBhbGVydCB3aGVuIHdlYmdsIGNvbnRleHQgaXMgbG9zdC4gVG8gbWFrZSB5b3VyCiAgICAgICAgLy8gYXBwbGljYXRpb24gcm9idXN0LCB5b3UgbWF5IHdhbnQgdG8gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvciBiZWZvcmUgc2hpcHBpbmchCiAgICAgICAgLy8gU2VlIGh0dHA6Ly93d3cua2hyb25vcy5vcmcvcmVnaXN0cnkvd2ViZ2wvc3BlY3MvbGF0ZXN0LzEuMC8jNS4xNS4yCiAgICAgICAgLy8gVE9ETyBVc2UgVUlLaXQgdG8gZGlzcGxheSBhbGVydC4KICAgICAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigKICAgICAgICAgICAgIndlYmdsY29udGV4dGxvc3QiLAogICAgICAgICAgICBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBhbGVydCgnV2ViR0wgY29udGV4dCBoYXMgYmVlbiBsb3N0LiBQbGVhc2UsIHJlbG9hZCB0aGUgcGFnZS4nKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZmFsc2UKICAgICAgICApOwogICAgICAgIHJldHVybiBjYW52YXM7CiAgICB9KSgpLAogICAgc2V0U3RhdHVzOiBmdW5jdGlvbih0ZXh0KSB7CiAgICAgICAgTW9kdWxlLnByaW50KCJTVEFUVVM6ICciICsgdGV4dCArICInIik7CiAgICB9LAogICAgdG90YWxEZXBlbmRlbmNpZXM6IDAsCiAgICBtb25pdG9yUnVuRGVwZW5kZW5jaWVzOiBmdW5jdGlvbihsZWZ0KSB7CiAgICAgICAgdGhpcy50b3RhbERlcGVuZGVuY2llcyA9IE1hdGgubWF4KHRoaXMudG90YWxEZXBlbmRlbmNpZXMsIGxlZnQpOwogICAgICAgIE1vZHVsZS5zZXRTdGF0dXMobGVmdCA/ICdQcmVwYXJpbmcuLi4gKCcgKyAodGhpcy50b3RhbERlcGVuZGVuY2llcy1sZWZ0KSArICcvJyArIHRoaXMudG90YWxEZXBlbmRlbmNpZXMgKyAnKScgOiAnQWxsIGRvd25sb2FkcyBjb21wbGV0ZS4nKTsKICAgIH0KfTsKTW9kdWxlLnNldFN0YXR1cygnRG93bmxvYWRpbmcuLi4nKTsKd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihldmVudCkgewogICAgTW9kdWxlLnNldFN0YXR1cygnRXhjZXB0aW9uIHRocm93biwgc2VlIEphdmFTY3JpcHQgY29uc29sZScpOwp9Ow==",
|
||||
{"status":false}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"мотор-05",
|
||||
"dmFyIE1vZHVsZT10eXBlb2YgTW9kdWxlIT09InVuZGVmaW5lZCI/TW9kdWxlOnt9O3ZhciBtb2R1bGVPdmVycmlkZXM9e307dmFyIGtleTtmb3Ioa2V5IGluIE1vZHVsZSl7aWYoTW9kdWxlLmhhc093blByb3BlcnR5KGtleSkpe21vZHVsZU92ZXJyaWRlc1trZXldPU1vZHVsZVtrZXldfX1Nb2R1bGVbImFyZ3VtZW50cyJdPVtdO01vZHVsZVsidGhpc1Byb2dyYW0iXT0iLi90aGlzLnByb2dyYW0iO01vZHVsZVsicXVpdCJdPShmdW5jdGlvbihzdGF0dXMsdG9UaHJvdyl7dGhyb3cgdG9UaHJvd30pO01vZHVsZVsicHJlUnVuIl09W107TW9kdWxlWyJwb3N0UnVuIl09W107dmFyIEVOVklST05NRU5UX0lTX1dFQj1mYWxzZTt2YXIgRU5WSVJPTk1FTlRfSVNfV09SS0VSPWZhbHNlO3ZhciBFTlZJUk9OTUVOVF9JU19OT0RFPWZhbHNlO3ZhciBFTlZJUk9OTUVOVF9JU19TSEVMTD1mYWxzZTtFTlZJUk9OTUVOVF9JU19XRUI9dHlwZW9mIHdpbmRvdz09PSJvYmplY3QiO0VOVklST05NRU5UX0lTX1dPUktFUj10eXBlb2YgaW1wb3J0U2NyaXB0cz09PSJmdW5jdGlvbiI7RU5WSVJPTk1FTlRfSVNfTk9ERT10eXBlb2YgcHJvY2Vzcz09PSJvYmplY3QiJiZ0eXBlb2YgcmVxdWlyZT09PSJmdW5jdGlvbiImJiFFTlZJUk9OTUVOVF9JU19XRUImJiFFTlZJUk9OTUVOVF9JU19XT1JLRVI7RU5WSVJPTk1FTlRfSVNfU0hFTEw9IUVOVklST05NRU5UX0lTX1dFQiYmIUVOVklST05NRU5UX0lTX05PREUmJiFFTlZJUk9OTUVOVF9JU19XT1JLRVI7dmFyIHNjcmlwdERpcmVjdG9yeT0iIjtmdW5jdGlvbiBsb2NhdGVGaWxlKHBhdGgpe2lmKE1vZHVsZVsibG9jYXRlRmlsZSJdKXtyZXR1cm4gTW9kdWxlWyJsb2NhdGVGaWxlIl0ocGF0aCxzY3JpcHREaXJlY3RvcnkpfWVsc2V7cmV0dXJuIHNjcmlwdERpcmVjdG9yeStwYXRofX1pZihFTlZJUk9OTUVOVF9JU19OT0RFKXtzY3JpcHREaXJlY3Rvcnk9X19kaXJuYW1lKyIvIjt2YXIgbm9kZUZTO3ZhciBub2RlUGF0aDtNb2R1bGVbInJlYWQiXT1mdW5jdGlvbiBzaGVsbF9yZWFkKGZpbGVuYW1lLGJpbmFyeSl7dmFyIHJldDtyZXQ9dHJ5UGFyc2VBc0RhdGFVUkkoZmlsZW5hbWUpO2lmKCFyZXQpe2lmKCFub2RlRlMpbm9kZUZTPXJlcXVpcmUoImZzIik7aWYoIW5vZGVQYXRoKW5vZGVQYXRoPXJlcXVpcmUoInBhdGgiKTtmaWxlbmFtZT1ub2RlUGF0aFsibm9ybWFsaXplIl0oZmlsZW5hbWUpO3JldD1ub2RlRlNbInJlYWRGaWxlU3luYyJdKGZpbGVuYW1lKX1yZXR1cm4gYmluYXJ5P3JldDpyZXQudG9TdHJpbmcoKX07TW9kdWxlWyJyZWFkQmluYXJ5Il09ZnVuY3Rpb24gcmVhZEJpbmFyeShmaWxlbmFtZSl7dmFyIHJldD1Nb2R1bGVbInJlYWQiXShmaWxlbmFtZSx0cnVlKTtpZighcmV0LmJ1ZmZlcil7cmV0PW5ldyBVaW50OEFycmF5KHJldCl9YXNzZXJ0KHJldC5idWZmZXIpO3JldHVybiByZXR9O2lmKHByb2Nlc3NbImFyZ3YiXS5sZW5ndGg+MSl7TW9kdWxlWyJ0aGlzUHJvZ3JhbSJdPXByb2Nlc3NbImFyZ3YiXVsxXS5yZXBsYWNlKC9cXC9nLCIvIil9TW9kdWxlWyJhcmd1bWVudHMiXT1wcm9jZXNzWyJhcmd2Il0uc2xpY2UoMik7aWYodHlwZW9mIG1vZHVsZSE9PSJ1bmRlZmluZWQiKXttb2R1bGVbImV4cG9ydHMiXT1Nb2R1bGV9cHJvY2Vzc1sib24iXSgidW5jYXVnaHRFeGNlcHRpb24iLChmdW5jdGlvbihleCl7aWYoIShleCBpbnN0YW5jZW9mIEV4aXRTdGF0dXMpKXt0aHJvdyBleH19KSk7cHJvY2Vzc1sib24iXSgidW5oYW5kbGVkUmVqZWN0aW9uIiwoZnVuY3Rpb24ocmVhc29uLHApe3Byb2Nlc3NbImV4aXQiXSgxKX0pKTtNb2R1bGVbInF1aXQiXT0oZnVuY3Rpb24oc3RhdHVzKXtwcm9jZXNzWyJleGl0Il0oc3RhdHVzKX0pO01vZHVsZVsiaW5zcGVjdCJdPShmdW5jdGlvbigpe3JldHVybiJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9KX1lbHNlIGlmKEVOVklST05NRU5UX0lTX1NIRUxMKXtpZih0eXBlb2YgcmVhZCE9InVuZGVmaW5lZCIpe01vZHVsZVsicmVhZCJdPWZ1bmN0aW9uIHNoZWxsX3JlYWQoZil7dmFyIGRhdGE9dHJ5UGFyc2VBc0RhdGFVUkkoZik7aWYoZGF0YSl7cmV0dXJuIGludEFycmF5VG9TdHJpbmcoZGF0YSl9cmV0dXJuIHJlYWQoZil9fU1vZHVsZVsicmVhZEJpbmFyeSJdPWZ1bmN0aW9uIHJlYWRCaW5hcnkoZil7dmFyIGRhdGE7ZGF0YT10cnlQYXJzZUFzRGF0YVVSSShmKTtpZihkYXRhKXtyZXR1cm4gZGF0YX1pZih0eXBlb2YgcmVhZGJ1ZmZlcj09PSJmdW5jdGlvbiIpe3JldHVybiBuZXcgVWludDhBcnJheShyZWFkYnVmZmVyKGYpKX1kYXRhPXJlYWQoZiwiYmluYXJ5Iik7YXNzZXJ0KHR5cGVvZiBkYXRhPT09Im9iamVjdCIpO3JldHVybiBkYXRhfTtpZih0eXBlb2Ygc2NyaXB0QXJncyE9InVuZGVmaW5lZCIpe01vZHVsZVsiYXJndW1lbnRzIl09c2NyaXB0QXJnc31lbHNlIGlmKHR5cGVvZiBhcmd1bWVudHMhPSJ1bmRlZmluZWQiKXtNb2R1bGVbImFyZ3VtZW50cyJdPWFyZ3VtZW50c31pZih0eXBlb2YgcXVpdD09PSJmdW5jdGlvbiIpe01vZHVsZVsicXVpdCJdPShmdW5jdGlvbihzdGF0dXMpe3F1aXQoc3RhdHVzKX0pfX1lbHNlIGlmKEVOVklST05NRU5UX0lTX1dFQnx8RU5WSVJPTk1FTlRfSVNfV09SS0VSKXtpZihFTlZJUk9OTUVOVF9JU19XRUIpe3ZhciBjdXJyZW50U2NyaXB0PWRvY3VtZW50LmN1cnJlbnRTY3JpcHQ7aWYoY3VycmVudFNjcmlwdC5zcmMuaW5kZXhPZigiYmxvYjoiKSE9PTApe3NjcmlwdERpcmVjdG9yeT1jdXJyZW50U2NyaXB0LnNyYy5zcGxpdCgiLyIpLnNsaWNlKDAsLTEpLmpvaW4oIi8iKSsiLyJ9fWVsc2UgaWYoRU5WSVJPTk1FTlRfSVNfV09SS0VSKXtzY3JpcHREaXJlY3Rvcnk9c2VsZi5sb2NhdGlvbi5ocmVmLnNwbGl0KCIvIikuc2xpY2UoMCwtMSkuam9pbigiLyIpKyIvIn1Nb2R1bGVbInJlYWQiXT1mdW5jdGlvbiBzaGVsbF9yZWFkKHVybCl7dHJ5e3ZhciB4aHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3hoci5vcGVuKCJHRVQiLHVybCxmYWxzZSk7eGhyLnNlbmQobnVsbCk7cmV0dXJuIHhoci5yZXNwb25zZVRleHR9Y2F0Y2goZXJyKXt2YXIgZGF0YT10cnlQYXJzZUFzRGF0YVVSSSh1cmwpO2lmKGRhdGEpe3JldHVybiBpbnRBcnJheVRvU3RyaW5nKGRhdGEpfXRocm93IGVycn19O2lmKEVOVklST05NRU5UX0lTX1dPUktFUil7TW9kdWxlWyJyZWFkQmluYXJ5Il09ZnVuY3Rpb24gcmVhZEJpbmFyeSh1cmwpe3RyeXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1cmwsZmFsc2UpO3hoci5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIjt4aHIuc2VuZChudWxsKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoeGhyLnJlc3BvbnNlKX1jYXRjaChlcnIpe3ZhciBkYXRhPXRyeVBhcnNlQXNEYXRhVVJJKHVybCk7aWYoZGF0YSl7cmV0dXJuIGRhdGF9dGhyb3cgZXJyfX19TW9kdWxlWyJyZWFkQXN5bmMiXT1mdW5jdGlvbiByZWFkQXN5bmModXJsLG9ubG9hZCxvbmVycm9yKXt2YXIgeGhyPW5ldyBYTUxIdHRwUmVxdWVzdDt4aHIub3BlbigiR0VUIix1cmwsdHJ1ZSk7eGhyLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiO3hoci5vbmxvYWQ9ZnVuY3Rpb24geGhyX29ubG9hZCgpe2lmKHhoci5zdGF0dXM9PTIwMHx8eGhyLnN0YXR1cz09MCYmeGhyLnJlc3BvbnNlKXtvbmxvYWQoeGhyLnJlc3BvbnNlKTtyZXR1cm59dmFyIGRhdGE9dHJ5UGFyc2VBc0RhdGFVUkkodXJsKTtpZihkYXRhKXtvbmxvYWQoZGF0YS5idWZmZXIpO3JldHVybn1vbmVycm9yKCl9O3hoci5vbmVycm9yPW9uZXLine truncated
|
||||
{"status":false}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"режим",
|
||||
"Ly8KLy8g0J7Qn9Cg0JXQlNCV0JvQldCd0JjQlSDQoNCV0JbQmNCc0JAKLy8gTU9ERSBJREVOVElGSUNBVElPTgovLwoK0LzRg9GA0L7QvC7RgNC10LbQuNC80J/RgNC+0YHQvNC+0YLRgNCwID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsK0LzRg9GA0L7QvC7RgNC10LbQuNC80KDQtdC00LDQutGC0L7RgNCwID0gbmV3INCj0LLQtdC00L7QvNC40YLQtdC70YwoKTsKCmZ1bmN0aW9uINC+0L/RgNC10LTQtdC70LjRgtGM0KDQtdC20LjQvCgpCnsKICAgIC8vINCg0LXQttC40Lwg0LTQu9GPINCy0LXRgNGB0LjQuSAxLjAueCDQuCAxLjEueC4KICAgIGlmICgibW9kZSIgaW4g0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YspCiAgICB7CiAgICAgICAgdmFyINC30L3QsNGH0LXQvdC40LUgPSDQvNGD0YDQvtC8LtCw0YDQs9GD0LzQtdC90YLRi1sibW9kZSJdOwogICAgICAgIGlmICjQt9C90LDRh9C10L3QuNC1ID09ICJwcmV2aWV3IikKICAgICAgICB7CiAgICAgICAgICAgINC80YPRgNC+0Lwu0YDQtdC20LjQvNCf0YDQvtGB0LzQvtGC0YDQsC7Rg9Cy0LXQtNC+0LzQuNGC0YwoKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAg0LzRg9GA0L7QvC7RgNC10LbQuNC80KDQtdC00LDQutGC0L7RgNCwLtGD0LLQtdC00L7QvNC40YLRjCgpOwogICAgICAgIH0KICAgIH0KICAgIC8vINCg0LXQttC40Lwg0L/RgNC+0YHQvNC+0YLRgNCwINC00LvRjyDQstC10YDRgdC40LkgMS4yLnguCiAgICBlbHNlIGlmICgKICAgICAgICAoItC/0YDQvtGB0LzQvtGC0YAiIGluINC80YPRgNC+0Lwu0LDRgNCz0YPQvNC10L3RgtGLKSB8fAogICAgICAgICgicHJldmlldyIgaW4g0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YspCiAgICApIHsKICAgICAgICDQvNGD0YDQvtC8LtGA0LXQttC40LzQn9GA0L7RgdC80L7RgtGA0LAu0YPQstC10LTQvtC80LjRgtGMKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAg0LzRg9GA0L7QvC7RgNC10LbQuNC80KDQtdC00LDQutGC0L7RgNCwLtGD0LLQtdC00L7QvNC40YLRjCgpOwogICAgfQp9CgrQv9GA0Lgo0LzRg9GA0L7QvC7QsNGA0LPRg9C80LXQvdGC0YvQmNC30LzQtdC90LjQu9C4LCDQvtC/0YDQtdC00LXQu9C40YLRjNCg0LXQttC40LwpOwoKLy8KLy8g0KDQldCW0JjQnCDQoNCV0JTQkNCa0KLQntCg0JAKLy8gRURJVE9SIE1PREUKLy8KCmZ1bmN0aW9uINC30LDQv9GD0YHRgtC40YLRjNCa0L7QtCgpCnsKICAgIHZhciDQutC+0LQgPSDQvNGD0YDQvtC8LtGA0LXQtNCw0LrRgtC+0YAuc2Vzc2lvbi5nZXRWYWx1ZSgpOwogICAgdmFyINC60L7QtFo2NCA9INC80YPRgNC+0LwuemJ0b2Eo0LrQvtC0KTsKICAgIHZhciDQv9GD0YLRjCA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArICI/emlwYmFzZTY0PSIgKyDQutC+0LRaNjQ7CiAgICBoaXN0b3J5LnB1c2hTdGF0ZShudWxsLCAiIiwg0L/Rg9GC0YwpOwoKICAgIHZhciDQstGB0YLRgNC+0LnQutCwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoItCy0YHRgtGA0L7QudC60LAiKTsKICAgIHZhciDQsNC00YDQtdGBID0g0LjQvNGP0KTQsNC50LvQsCgpICsgIj/Qv9GA0L7RgdC80L7RgtGAIjsKICAgIGlmICjQutC+0LRaNjQpCiAgICB7CiAgICAgICAg0LDQtNGA0LXRgSArPSAiJnppcGJhc2U2ND0iICsg0LrQvtC0WjY0OwogICAgfQogICAg0LLRgdGC0YDQvtC50LrQsC5zcmMgPSDQsNC00YDQtdGBOwp9CgpmdW5jdGlvbiDQv9GA0L7RgdC80L7RgtGA0LXRgtGM0JjQs9GA0YMoKQp7CiAgICB2YXIg0LrQvtC0ID0g0LzRg9GA0L7QvC7RgNC10LTQsNC60YLQvtGALnNlc3Npb24uZ2V0VmFsdWUoKTsKICAgIHZhciDQutC+0LRaNjQgPSDQvNGD0YDQvtC8LnpidG9hKNC60L7QtCk7CiAgICB2YXIg0L/Rg9GC0YwgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyAiP9C/0YDQvtGB0LzQvtGC0YAmemlwYmFzZTY0PSIgKyDQutC+0LRaNjQ7CiAgICB3aW5kb3cub3BlbijQv9GD0YLRjCwgJ19ibGFuaycpOwp9CgpmdW5jdGlvbiDRgdC+0LfQtNCw0YLRjNCa0L3QvtC/0LrRg9CS0KbQtdC90YLRgNCw0LvRjNC90L7QudCe0LHQu9Cw0YHRgtC4KNC40LrQvtC90LrQsCwg0L/QvtC00YHQutCw0LfQutCwLCDQvtGC0LrQu9C40LopCnsKICAgIHZhciDQutC90L7Qv9C60LAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiAgICDQutC90L7Qv9C60LAuY2xhc3NMaXN0LmFkZCgidWstaWNvbi1idXR0b24iLCAidWstbWFyZ2luLWJvdHRvbSIpOwogICAg0LrQvdC+0L/QutCwLnNldEF0dHJpYnV0ZSgidWstaWNvbiIsINC40LrQvtC90LrQsCk7CiAgICDQutC90L7Qv9C60LAuc2V0QXR0cmlidXRlKCJ1ay10b29sdGlwIiwg0L/QvtC00YHQutCw0LfQutCwKTsKICAgINC60L3QvtC/0LrQsC5vbmNsaWNrID0g0L7RgtC60LvQuNC6OwogICAgdmFyINGG0L4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi0LPQu9Cw0LLQvdGL0Lkt0YbQtdC90YLRgNCw0LvRjNC90LDRjy3QvtCx0LvQsNGB0YLRjCIpOwogICAg0YbQvi5hcHBlbmRDaGlsZCjQutC90L7Qv9C60LApOwp9CgpmdW5jdGlvbiDRgdC+0LfQtNCw0YLRjNCt0LrRgNCw0L3QoNC10LTQsNC60YLQvtGA0LAoKQp7CiAgICB2YXIg0Y3QutGA0LDQvSA9INGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSgi0YDQtdC00LDQutGC0L7RgCIpOwogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCjRjdC60YDQsNC9KTsKICAgIHZhciDQstC40LQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCjQstC40LQpOwogICAgCiAgICAvLyDQodGC0YDRg9C60YLRg9GA0LAuCgogICAg0Y3QutGA0LDQvS5pbm5lckhUTUwgPQpgCjxkaXYgaWQ9ItCz0LvQsNCy0L3Ri9C5LdC70LXQstCw0Y8t0L7QsdC70LDRgdGC0YwiPgogICAgPGRpdiBpZD0i0LPQu9Cw0LLQvdGL0Lkt0YDQtdC00LDQutGC0L7RgCI+CiAgICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGlkPSLQs9C70LDQstC90YvQuS3RhtC10L3RgtGA0LDQu9GM0L3QsNGPLdC+0LHQu9Cw0YHRgtGMIj4KPC9kaXY+Cgo8ZGl2IGlkPSLQs9C70LDQstC90YvQuS3Qv9GA0LDQstCw0Y8t0L7QsdC70LDRgdGC0YwiPgogICAgPGlmcmFtZSBpZD0i0LLRgdGC0YDQvtC50LrQsCI+CiAgICAgICAgPHA+0J7QqNCY0JHQmtCQINCS0LDRiCDQstC10LEt0LHRgNCw0YPQt9C10YAg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIgaWZyYW1lPC9wPgogICAgICAgIDxwPkVSUk9SIFlvdXIgd2ViIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBpZnJhbWVzPC9wPgogICAgPC9pZnJhbWU+CjwvZGl2PgpgOwoKICAgIC8vINCS0LjQtC4KICAgIAogICAg0LLQuNC0LmlubmVySFRNTCA9CmAKI9Cz0LvQsNCy0L3Ri9C5LdC70LXQstCw0Y8t0L7QsdC70LDRgdGC0YwKewogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJlbSk7Cn0KI9Cz0LvQsNCy0L3Ri9C5LdGA0LXQtNCw0LrRgtC+0YAKewogICAgaGVpZ2h0OiAxMDAlOwp9Cgoj0LPQu9Cw0LLQvdGL0Lkt0YbQtdC90YLRgNCw0LvRjNC90LDRjy3QvtCx0LvQsNGB0YLRjAp7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiA1MCU7CiAgICB3aWR0aDogNGVtOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yZW0pOwogICAgdGV4dC1hbGLine truncated
|
||||
{"status":true}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"муром.редактор.шрифт-22",
|
||||
"ZnVuY3Rpb24g0LfQsNC00LDRgtGM0KDQsNC30LzQtdGA0KjRgNC40YTRgtCw0KDQtdC00LDQutGC0L7RgNGDKCkKewogICAgaWYgKNC80YPRgNC+0Lwu0YDQtdC00LDQutGC0L7RgCkKICAgIHsKICAgICAgICDQvNGD0YDQvtC8LtGA0LXQtNCw0LrRgtC+0YAuc2V0Rm9udFNpemUoIjIycHgiKTsKICAgIH0KfQoK0L/RgNC4KNC80YPRgNC+0Lwu0L/Rg9GB0LosINC30LDQtNCw0YLRjNCg0LDQt9C80LXRgNCo0YDQuNGE0YLQsNCg0LXQtNCw0LrRgtC+0YDRgyk7",
|
||||
{}
|
||||
],
|
||||
|
||||
|
||||
[
|
||||
"муром.заставка_2.0.1",
|
||||
"ZnVuY3Rpb24g0L/QvtC60LDQt9Cw0YLRjNCX0LDRgdGC0LDQstC60YMoKQp7CiAgICB2YXIg0Y3QutGA0LDQvSA9INGB0L7Qt9C00LDRgtGM0K3QutGA0LDQvSgi0LzRg9GA0L7QvC3Qt9Cw0YHRgtCw0LLQutCwIik7CiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKNGN0LrRgNCw0L0pOwogICAgdmFyINCy0LjQtCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7CiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKNCy0LjQtCk7CiAgICAKICAgIC8vINCh0YLRgNGD0LrRgtGD0YDQsC4KCiAgICDRjdC60YDQsNC9LmlubmVySFRNTCA9CmAKPGRpdiBpZD0i0LzRg9GA0L7QvC3Qt9Cw0YHRgtCw0LLQutCwLdGC0LXQu9C+Ij4KICAgIDxjZW50ZXI+CiAgICAgICAgPGgxIGlkPSLQvNGD0YDQvtC8LdC30LDRgdGC0LDQstC60LAt0LfQsNCz0L7Qu9C+0LLQvtC6Ij7QnNCj0KDQntCcPC9oMT4KICAgICAgICA8c3Ryb25nPjIuMC4xPC9zdHJvbmc+CiAgICAgICAgPHA+0KDQsNC30YDQsNCx0LDRgtGL0LLQsNC5INC70L7QutCw0LvRjNC90L4sINGA0LDQt9C00LDQstCw0Lkg0LPQu9C+0LHQsNC70YzQvdC+PC9wPgogICAgPC9jZW50ZXI+CjwvZGl2PgpgOwoKICAgIC8vINCS0LjQtC4KICAgIAogICAg0LLQuNC0LmlubmVySFRNTCA9CmAKI9C80YPRgNC+0Lwt0LfQsNGB0YLQsNCy0LrQsC3Qt9Cw0LPQvtC70L7QstC+0LoKewogICAgZm9udDogYm9sZCA0ZW0gc2VyaWY7Cn0KI9C80YPRgNC+0Lwt0LfQsNGB0YLQsNCy0LrQsC3RgtC10LvQvgp7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0b3A6IDUwJTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KI9C80YPRgNC+0Lwt0LfQsNGB0YLQsNCy0LrQsAp7CiAgICBvcGFjaXR5OiAxOwogICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICBhbmltYXRpb246IGZhZGVPdXQgMXMgZWFzZTsKICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwp9CkBrZXlmcmFtZXMgZmFkZU91dAp7CiAgICAwJQogICAgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICB9CiAgICA2MCUKICAgIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgfQogICAgMTAwJQogICAgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICB9Cn0KYDsKCiAgICAvLyDQo9C00LDQu9C10L3QuNC1INGN0LrRgNCw0L3QsC4KICAgIAogICAg0Y3QutGA0LDQvS5hZGRFdmVudExpc3RlbmVyKAogICAgICAgICJhbmltYXRpb25lbmQiLAogICAgICAgIGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQo0Y3QutGA0LDQvSk7CiAgICAgICAgfQogICAgKTsKCn0KCtC/0YDQuCjQvNGD0YDQvtC8LtGA0LXQttC40LzQoNC10LTQsNC60YLQvtGA0LAsINC/0L7QutCw0LfQsNGC0YzQl9Cw0YHRgtCw0LLQutGDKTs=",
|
||||
{}
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
Object.defineProperty(murom, "modules", {
|
||||
get: function()
|
||||
{
|
||||
return муром.модули;
|
||||
},
|
||||
set: function(значения)
|
||||
{
|
||||
муром.модули = значения;
|
||||
}
|
||||
});
|
||||
|
||||
var загрузочныйМодуль = муром.модули[0];
|
||||
var код = atob(загрузочныйМодуль[1]);
|
||||
eval(код);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user