From 671c490b4271418f5a2b208facbbc984aa995ad8 Mon Sep 17 00:00:00 2001 From: Islam Ibakaev Date: Mon, 11 Apr 2022 20:47:11 +0300 Subject: [PATCH] fix rejected cookie issue --- dist/js/bvi.js | 1485 +++++----- dist/js/bvi.js.map | 2 +- dist/js/bvi.min.js | 4 +- dist/js/bvi.min.js.map | 2 +- package-lock.json | 6174 +++++++++++++++++++++++++++++++++++++++- src/js/util/cookie.js | 4 +- 6 files changed, 6926 insertions(+), 745 deletions(-) diff --git a/dist/js/bvi.js b/dist/js/bvi.js index 6fbaf35..ac49f03 100644 --- a/dist/js/bvi.js +++ b/dist/js/bvi.js @@ -1,6 +1,6 @@ /*! * Button visually impaired - v1.0.0 https://bvi.isvek.ru - * Copyright 2014-2021 Oleg Korotenko . + * Copyright 2014-2022 Oleg Korotenko . * Licensed MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) */ (function (global, factory) { @@ -9,6 +9,764 @@ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.isvek = factory()); }(this, (function () { 'use strict'; + var runtime = {exports: {}}; + + /** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + (function (module) { + var runtime = (function (exports) { + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined$1; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + try { + // IE 8 has a broken Object.defineProperty that only works on DOM objects. + define({}, ""); + } catch (err) { + define = function(obj, key, value) { + return obj[key] = value; + }; + } + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + exports.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; + }); + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = GeneratorFunctionPrototype; + define(Gp, "constructor", GeneratorFunctionPrototype); + define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); + GeneratorFunction.displayName = define( + GeneratorFunctionPrototype, + toStringTagSymbol, + "GeneratorFunction" + ); + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + define(prototype, method, function(arg) { + return this._invoke(method, arg); + }); + }); + } + + exports.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + exports.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + exports.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }); + exports.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList), + PromiseImpl + ); + + return exports.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined$1) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + // Note: ["return"] must be used for ES3 parsing compatibility. + if (delegate.iterator["return"]) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined$1; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined$1; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + define(Gp, toStringTagSymbol, "Generator"); + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + define(Gp, iteratorSymbol, function() { + return this; + }); + + define(Gp, "toString", function() { + return "[object Generator]"; + }); + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined$1; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + exports.values = values; + + function doneResult() { + return { value: undefined$1, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined$1; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined$1; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined$1; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined$1; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined$1; + } + + return ContinueSentinel; + } + }; + + // Regardless of whether this script is executing as a CommonJS module + // or not, return the runtime object so that we can declare the variable + // regeneratorRuntime in the outer scope, which allows this module to be + // injected easily by `bin/regenerator --include-runtime script.js`. + return exports; + + }( + // If this script is executing as a CommonJS module, use module.exports + // as the regeneratorRuntime namespace. Otherwise create a new empty + // object. Either way, the resulting object will be used to initialize + // the regeneratorRuntime variable at the top of this file. + module.exports + )); + + try { + regeneratorRuntime = runtime; + } catch (accidentalStrictMode) { + // This module should not be running in strict mode, so the above + // assignment should always work unless something is misconfigured. Just + // in case runtime.js accidentally runs in strict mode, in modern engines + // we can explicitly access globalThis. In older engines we can escape + // strict mode using a global Function call. This could conceivably fail + // if a Content Security Policy forbids using Function, but in that case + // the proper solution is to fix the accidental strict mode problem. If + // you've misconfigured your bundler to force strict mode and applied a + // CSP to forbid Function, and you're not willing to fix either of those + // problems, please detail your unique predicament in a GitHub issue. + if (typeof globalThis === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } + } + }(runtime)); + function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); @@ -174,727 +932,6 @@ }; } - var runtime = {exports: {}}; - - (function (module) { - var runtime = function (exports) { - - var Op = Object.prototype; - var hasOwn = Op.hasOwnProperty; - var undefined$1; // More compressible than void 0. - - var $Symbol = typeof Symbol === "function" ? Symbol : {}; - var iteratorSymbol = $Symbol.iterator || "@@iterator"; - var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; - var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; - - function define(obj, key, value) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - return obj[key]; - } - - try { - // IE 8 has a broken Object.defineProperty that only works on DOM objects. - define({}, ""); - } catch (err) { - define = function define(obj, key, value) { - return obj[key] = value; - }; - } - - function wrap(innerFn, outerFn, self, tryLocsList) { - // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. - var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; - var generator = Object.create(protoGenerator.prototype); - var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next, - // .throw, and .return methods. - - generator._invoke = makeInvokeMethod(innerFn, self, context); - return generator; - } - - exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion - // record like context.tryEntries[i].completion. This interface could - // have been (and was previously) designed to take a closure to be - // invoked without arguments, but in all the cases we care about we - // already have an existing method we want to call, so there's no need - // to create a new function object. We can even get away with assuming - // the method takes exactly one argument, since that happens to be true - // in every case, so we don't have to touch the arguments object. The - // only additional allocation required is the completion record, which - // has a stable shape and so hopefully should be cheap to allocate. - - function tryCatch(fn, obj, arg) { - try { - return { - type: "normal", - arg: fn.call(obj, arg) - }; - } catch (err) { - return { - type: "throw", - arg: err - }; - } - } - - var GenStateSuspendedStart = "suspendedStart"; - var GenStateSuspendedYield = "suspendedYield"; - var GenStateExecuting = "executing"; - var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as - // breaking out of the dispatch switch statement. - - var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and - // .constructor.prototype properties for functions that return Generator - // objects. For full spec compliance, you may wish to configure your - // minifier not to mangle the names of these two functions. - - function Generator() {} - - function GeneratorFunction() {} - - function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that - // don't natively support it. - - - var IteratorPrototype = {}; - define(IteratorPrototype, iteratorSymbol, function () { - return this; - }); - var getProto = Object.getPrototypeOf; - var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); - - if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { - // This environment has a native %IteratorPrototype%; use it instead - // of the polyfill. - IteratorPrototype = NativeIteratorPrototype; - } - - var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); - GeneratorFunction.prototype = GeneratorFunctionPrototype; - define(Gp, "constructor", GeneratorFunctionPrototype); - define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); - GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the - // Iterator interface in terms of a single ._invoke method. - - function defineIteratorMethods(prototype) { - ["next", "throw", "return"].forEach(function (method) { - define(prototype, method, function (arg) { - return this._invoke(method, arg); - }); - }); - } - - exports.isGeneratorFunction = function (genFun) { - var ctor = typeof genFun === "function" && genFun.constructor; - return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can - // do is to check its .name property. - (ctor.displayName || ctor.name) === "GeneratorFunction" : false; - }; - - exports.mark = function (genFun) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); - } else { - genFun.__proto__ = GeneratorFunctionPrototype; - define(genFun, toStringTagSymbol, "GeneratorFunction"); - } - - genFun.prototype = Object.create(Gp); - return genFun; - }; // Within the body of any async function, `await x` is transformed to - // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test - // `hasOwn.call(value, "__await")` to determine if the yielded value is - // meant to be awaited. - - - exports.awrap = function (arg) { - return { - __await: arg - }; - }; - - function AsyncIterator(generator, PromiseImpl) { - function invoke(method, arg, resolve, reject) { - var record = tryCatch(generator[method], generator, arg); - - if (record.type === "throw") { - reject(record.arg); - } else { - var result = record.arg; - var value = result.value; - - if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { - return PromiseImpl.resolve(value.__await).then(function (value) { - invoke("next", value, resolve, reject); - }, function (err) { - invoke("throw", err, resolve, reject); - }); - } - - return PromiseImpl.resolve(value).then(function (unwrapped) { - // When a yielded Promise is resolved, its final value becomes - // the .value of the Promise<{value,done}> result for the - // current iteration. - result.value = unwrapped; - resolve(result); - }, function (error) { - // If a rejected Promise was yielded, throw the rejection back - // into the async generator function so it can be handled there. - return invoke("throw", error, resolve, reject); - }); - } - } - - var previousPromise; - - function enqueue(method, arg) { - function callInvokeWithMethodAndArg() { - return new PromiseImpl(function (resolve, reject) { - invoke(method, arg, resolve, reject); - }); - } - - return previousPromise = // If enqueue has been called before, then we want to wait until - // all previous Promises have been resolved before calling invoke, - // so that results are always delivered in the correct order. If - // enqueue has not been called before, then it is important to - // call invoke immediately, without waiting on a callback to fire, - // so that the async generator function has the opportunity to do - // any necessary setup in a predictable way. This predictability - // is why the Promise constructor synchronously invokes its - // executor callback, and why async functions synchronously - // execute code before the first await. Since we implement simple - // async functions in terms of async generators, it is especially - // important to get this right, even though it requires care. - previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later - // invocations of the iterator. - callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); - } // Define the unified helper method that is used to implement .next, - // .throw, and .return (see defineIteratorMethods). - - - this._invoke = enqueue; - } - - defineIteratorMethods(AsyncIterator.prototype); - define(AsyncIterator.prototype, asyncIteratorSymbol, function () { - return this; - }); - exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of - // AsyncIterator objects; they just return a Promise for the value of - // the final result produced by the iterator. - - exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { - if (PromiseImpl === void 0) PromiseImpl = Promise; - var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); - return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator. - : iter.next().then(function (result) { - return result.done ? result.value : iter.next(); - }); - }; - - function makeInvokeMethod(innerFn, self, context) { - var state = GenStateSuspendedStart; - return function invoke(method, arg) { - if (state === GenStateExecuting) { - throw new Error("Generator is already running"); - } - - if (state === GenStateCompleted) { - if (method === "throw") { - throw arg; - } // Be forgiving, per 25.3.3.3.3 of the spec: - // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume - - - return doneResult(); - } - - context.method = method; - context.arg = arg; - - while (true) { - var delegate = context.delegate; - - if (delegate) { - var delegateResult = maybeInvokeDelegate(delegate, context); - - if (delegateResult) { - if (delegateResult === ContinueSentinel) continue; - return delegateResult; - } - } - - if (context.method === "next") { - // Setting context._sent for legacy support of Babel's - // function.sent implementation. - context.sent = context._sent = context.arg; - } else if (context.method === "throw") { - if (state === GenStateSuspendedStart) { - state = GenStateCompleted; - throw context.arg; - } - - context.dispatchException(context.arg); - } else if (context.method === "return") { - context.abrupt("return", context.arg); - } - - state = GenStateExecuting; - var record = tryCatch(innerFn, self, context); - - if (record.type === "normal") { - // If an exception is thrown from innerFn, we leave state === - // GenStateExecuting and loop back for another invocation. - state = context.done ? GenStateCompleted : GenStateSuspendedYield; - - if (record.arg === ContinueSentinel) { - continue; - } - - return { - value: record.arg, - done: context.done - }; - } else if (record.type === "throw") { - state = GenStateCompleted; // Dispatch the exception by looping back around to the - // context.dispatchException(context.arg) call above. - - context.method = "throw"; - context.arg = record.arg; - } - } - }; - } // Call delegate.iterator[context.method](context.arg) and handle the - // result, either by returning a { value, done } result from the - // delegate iterator, or by modifying context.method and context.arg, - // setting context.delegate to null, and returning the ContinueSentinel. - - - function maybeInvokeDelegate(delegate, context) { - var method = delegate.iterator[context.method]; - - if (method === undefined$1) { - // A .throw or .return when the delegate iterator has no .throw - // method always terminates the yield* loop. - context.delegate = null; - - if (context.method === "throw") { - // Note: ["return"] must be used for ES3 parsing compatibility. - if (delegate.iterator["return"]) { - // If the delegate iterator has a return method, give it a - // chance to clean up. - context.method = "return"; - context.arg = undefined$1; - maybeInvokeDelegate(delegate, context); - - if (context.method === "throw") { - // If maybeInvokeDelegate(context) changed context.method from - // "return" to "throw", let that override the TypeError below. - return ContinueSentinel; - } - } - - context.method = "throw"; - context.arg = new TypeError("The iterator does not provide a 'throw' method"); - } - - return ContinueSentinel; - } - - var record = tryCatch(method, delegate.iterator, context.arg); - - if (record.type === "throw") { - context.method = "throw"; - context.arg = record.arg; - context.delegate = null; - return ContinueSentinel; - } - - var info = record.arg; - - if (!info) { - context.method = "throw"; - context.arg = new TypeError("iterator result is not an object"); - context.delegate = null; - return ContinueSentinel; - } - - if (info.done) { - // Assign the result of the finished delegate to the temporary - // variable specified by delegate.resultName (see delegateYield). - context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield). - - context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the - // exception, let the outer generator proceed normally. If - // context.method was "next", forget context.arg since it has been - // "consumed" by the delegate iterator. If context.method was - // "return", allow the original .return call to continue in the - // outer generator. - - if (context.method !== "return") { - context.method = "next"; - context.arg = undefined$1; - } - } else { - // Re-yield the result returned by the delegate method. - return info; - } // The delegate iterator is finished, so forget it and continue with - // the outer generator. - - - context.delegate = null; - return ContinueSentinel; - } // Define Generator.prototype.{next,throw,return} in terms of the - // unified ._invoke helper method. - - - defineIteratorMethods(Gp); - define(Gp, toStringTagSymbol, "Generator"); // A Generator should always return itself as the iterator object when the - // @@iterator function is called on it. Some browsers' implementations of the - // iterator prototype chain incorrectly implement this, causing the Generator - // object to not be returned from this call. This ensures that doesn't happen. - // See https://github.com/facebook/regenerator/issues/274 for more details. - - define(Gp, iteratorSymbol, function () { - return this; - }); - define(Gp, "toString", function () { - return "[object Generator]"; - }); - - function pushTryEntry(locs) { - var entry = { - tryLoc: locs[0] - }; - - if (1 in locs) { - entry.catchLoc = locs[1]; - } - - if (2 in locs) { - entry.finallyLoc = locs[2]; - entry.afterLoc = locs[3]; - } - - this.tryEntries.push(entry); - } - - function resetTryEntry(entry) { - var record = entry.completion || {}; - record.type = "normal"; - delete record.arg; - entry.completion = record; - } - - function Context(tryLocsList) { - // The root entry object (effectively a try statement without a catch - // or a finally block) gives us a place to store values thrown from - // locations where there is no enclosing try statement. - this.tryEntries = [{ - tryLoc: "root" - }]; - tryLocsList.forEach(pushTryEntry, this); - this.reset(true); - } - - exports.keys = function (object) { - var keys = []; - - for (var key in object) { - keys.push(key); - } - - keys.reverse(); // Rather than returning an object with a next method, we keep - // things simple and return the next function itself. - - return function next() { - while (keys.length) { - var key = keys.pop(); - - if (key in object) { - next.value = key; - next.done = false; - return next; - } - } // To avoid creating an additional object, we just hang the .value - // and .done properties off the next function object itself. This - // also ensures that the minifier will not anonymize the function. - - - next.done = true; - return next; - }; - }; - - function values(iterable) { - if (iterable) { - var iteratorMethod = iterable[iteratorSymbol]; - - if (iteratorMethod) { - return iteratorMethod.call(iterable); - } - - if (typeof iterable.next === "function") { - return iterable; - } - - if (!isNaN(iterable.length)) { - var i = -1, - next = function next() { - while (++i < iterable.length) { - if (hasOwn.call(iterable, i)) { - next.value = iterable[i]; - next.done = false; - return next; - } - } - - next.value = undefined$1; - next.done = true; - return next; - }; - - return next.next = next; - } - } // Return an iterator with no values. - - - return { - next: doneResult - }; - } - - exports.values = values; - - function doneResult() { - return { - value: undefined$1, - done: true - }; - } - - Context.prototype = { - constructor: Context, - reset: function reset(skipTempReset) { - this.prev = 0; - this.next = 0; // Resetting context._sent for legacy support of Babel's - // function.sent implementation. - - this.sent = this._sent = undefined$1; - this.done = false; - this.delegate = null; - this.method = "next"; - this.arg = undefined$1; - this.tryEntries.forEach(resetTryEntry); - - if (!skipTempReset) { - for (var name in this) { - // Not sure about the optimal order of these conditions: - if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { - this[name] = undefined$1; - } - } - } - }, - stop: function stop() { - this.done = true; - var rootEntry = this.tryEntries[0]; - var rootRecord = rootEntry.completion; - - if (rootRecord.type === "throw") { - throw rootRecord.arg; - } - - return this.rval; - }, - dispatchException: function dispatchException(exception) { - if (this.done) { - throw exception; - } - - var context = this; - - function handle(loc, caught) { - record.type = "throw"; - record.arg = exception; - context.next = loc; - - if (caught) { - // If the dispatched exception was caught by a catch block, - // then let that catch block handle the exception normally. - context.method = "next"; - context.arg = undefined$1; - } - - return !!caught; - } - - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - var record = entry.completion; - - if (entry.tryLoc === "root") { - // Exception thrown outside of any try block that could handle - // it, so set the completion value of the entire function to - // throw the exception. - return handle("end"); - } - - if (entry.tryLoc <= this.prev) { - var hasCatch = hasOwn.call(entry, "catchLoc"); - var hasFinally = hasOwn.call(entry, "finallyLoc"); - - if (hasCatch && hasFinally) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } else if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - } else if (hasCatch) { - if (this.prev < entry.catchLoc) { - return handle(entry.catchLoc, true); - } - } else if (hasFinally) { - if (this.prev < entry.finallyLoc) { - return handle(entry.finallyLoc); - } - } else { - throw new Error("try statement without catch or finally"); - } - } - } - }, - abrupt: function abrupt(type, arg) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - - if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { - var finallyEntry = entry; - break; - } - } - - if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { - // Ignore the finally entry if control is not jumping to a - // location outside the try/catch block. - finallyEntry = null; - } - - var record = finallyEntry ? finallyEntry.completion : {}; - record.type = type; - record.arg = arg; - - if (finallyEntry) { - this.method = "next"; - this.next = finallyEntry.finallyLoc; - return ContinueSentinel; - } - - return this.complete(record); - }, - complete: function complete(record, afterLoc) { - if (record.type === "throw") { - throw record.arg; - } - - if (record.type === "break" || record.type === "continue") { - this.next = record.arg; - } else if (record.type === "return") { - this.rval = this.arg = record.arg; - this.method = "return"; - this.next = "end"; - } else if (record.type === "normal" && afterLoc) { - this.next = afterLoc; - } - - return ContinueSentinel; - }, - finish: function finish(finallyLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - - if (entry.finallyLoc === finallyLoc) { - this.complete(entry.completion, entry.afterLoc); - resetTryEntry(entry); - return ContinueSentinel; - } - } - }, - "catch": function _catch(tryLoc) { - for (var i = this.tryEntries.length - 1; i >= 0; --i) { - var entry = this.tryEntries[i]; - - if (entry.tryLoc === tryLoc) { - var record = entry.completion; - - if (record.type === "throw") { - var thrown = record.arg; - resetTryEntry(entry); - } - - return thrown; - } - } // The context.catch method must only be called with a location - // argument that corresponds to a known catch block. - - - throw new Error("illegal catch attempt"); - }, - delegateYield: function delegateYield(iterable, resultName, nextLoc) { - this.delegate = { - iterator: values(iterable), - resultName: resultName, - nextLoc: nextLoc - }; - - if (this.method === "next") { - // Deliberately forget the last sent value so that we don't - // accidentally pass it on to the delegate. - this.arg = undefined$1; - } - - return ContinueSentinel; - } - }; // Regardless of whether this script is executing as a CommonJS module - // or not, return the runtime object so that we can declare the variable - // regeneratorRuntime in the outer scope, which allows this module to be - // injected easily by `bin/regenerator --include-runtime script.js`. - - return exports; - }( // If this script is executing as a CommonJS module, use module.exports - // as the regeneratorRuntime namespace. Otherwise create a new empty - // object. Either way, the resulting object will be used to initialize - // the regeneratorRuntime variable at the top of this file. - module.exports ); - - try { - regeneratorRuntime = runtime; - } catch (accidentalStrictMode) { - // This module should not be running in strict mode, so the above - // assignment should always work unless something is misconfigured. Just - // in case runtime.js accidentally runs in strict mode, in modern engines - // we can explicitly access globalThis. In older engines we can escape - // strict mode using a global Function call. This could conceivably fail - // if a Content Security Policy forbids using Function, but in that case - // the proper solution is to fix the accidental strict mode problem. If - // you've misconfigured your bundler to force strict mode and applied a - // CSP to forbid Function, and you're not willing to fix either of those - // problems, please detail your unique predicament in a GitHub issue. - if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { - globalThis.regeneratorRuntime = runtime; - } else { - Function("r", "regeneratorRuntime = r")(runtime); - } - } - })(runtime); - /** * -------------------------------------------------------------------------- * Button visually impaired (v1.0.0): util/index.js @@ -1037,7 +1074,7 @@ var time = now.getTime(); time += 24 * 60 * 60 * 1000; now.setTime(time); - document.cookie = "bvi_".concat(name, "=").concat(value, ";path=/;expires=").concat(now.toUTCString(), ";domain=").concat(location.host); + document.cookie = "bvi_".concat(name, "=").concat(value, ";path=/;expires=").concat(now.toUTCString(), ";domain=").concat(location.hostname !== 'localhost' ? location.host : 'localhost'); }; var getCookie = function getCookie() { @@ -1057,7 +1094,7 @@ var removeCookie = function removeCookie() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; - document.cookie = "bvi_".concat(name, "=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=").concat(location.host); + document.cookie = "bvi_".concat(name, "=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=").concat(location.hostname !== 'localhost' ? location.host : 'localhost'); }; /** diff --git a/dist/js/bvi.js.map b/dist/js/bvi.js.map index 7dfae8a..c44faf7 100644 --- a/dist/js/bvi.js.map +++ b/dist/js/bvi.js.map @@ -1 +1 @@ -{"version":3,"file":"bvi.js","sources":["../../node_modules/regenerator-runtime/runtime.js","../../src/js/util/index.js","../../src/js/util/cookie.js","../../src/js/i18n.js","../../src/js/bvi.js","../../src/js/index.umd.js"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/index.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n(function (arr) {\n arr.forEach(function (item) {\n if (item.hasOwnProperty('prepend')) {\n return\n }\n Object.defineProperty(item, 'prepend', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function prepend () {\n var argArr = Array.prototype.slice.call(arguments),\n docFrag = document.createDocumentFragment()\n\n argArr.forEach(function (argItem) {\n var isNode = argItem instanceof Node\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)))\n })\n\n this.insertBefore(docFrag, this.firstChild)\n },\n })\n })\n})([Element.prototype, Document.prototype, DocumentFragment.prototype])\n\nif (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach\n}\n\nif (window.HTMLCollection && !HTMLCollection.prototype.forEach) {\n HTMLCollection.prototype.forEach = Array.prototype.forEach\n}\n\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst checkConfig = (config, configTypes, configOptions) => {\n Object.keys(configTypes).forEach(key => {\n const expectedTypes = configTypes[key]\n const value = config[key]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" предоставленный тип \"${valueType}\", ожидаемый тип \"${expectedTypes}\".`,\n )\n }\n })\n\n Object.keys(configOptions).forEach(key => {\n const expectedOptions = configOptions[key]\n const value = config[key]\n\n if (!new RegExp(expectedOptions).test(value)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" параметр \"${value}\", ожидаемый параметр \"${expectedOptions}\".`,\n )\n }\n })\n}\n\nconst plural = (number, text = ['пиксель', 'пекселя', 'пикселей']) => {\n if (number % 10 === 1 && number % 100 !== 11) {\n return `${number} ${text[0]}`\n } else if (number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return `${number} ${text[1]}`\n } else {\n return `${number} ${text[2]}`\n }\n}\n\nconst stringToBoolean = string => {\n switch (string) {\n case 'on':\n case 'true':\n case '1':\n return true\n default:\n return false\n }\n}\n\nconst wrapInner = (parent, wrapper, className) => {\n if (typeof wrapper === 'string') {\n wrapper = document.createElement(wrapper)\n }\n\n parent.appendChild(wrapper).className = className\n\n while (parent.firstChild !== wrapper) {\n wrapper.appendChild(parent.firstChild)\n }\n}\n\nconst unwrap = wrapper => {\n let docFrag = document.createDocumentFragment()\n\n if (!wrapper) return\n\n while (wrapper.firstChild) {\n let child = wrapper.removeChild(wrapper.firstChild)\n docFrag.appendChild(child)\n }\n\n wrapper.parentNode.replaceChild(docFrag, wrapper)\n}\n\nconst getObject = (object, callback) => {\n Object.keys(object).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst getArray = (array, callback) => {\n Array.from(array).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst inArray = (needle, haystack) => {\n let length = haystack.length\n\n for (let i = 0; i < length; i++) {\n if (haystack[i] === needle) {\n return true\n }\n }\n\n return false\n}\n\nconst synth = () => window.speechSynthesis\n\nconst synthSupportBrowser = () => {\n return 'speechSynthesis' in window\n}\n\nexport {\n plural,\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n synthSupportBrowser,\n inArray,\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/cookie.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst setCookie = function (name = '', value = '') {\n let now = new Date();\n let time = now.getTime();\n time += 24 * 60 * 60 * 1000;\n now.setTime(time);\n document.cookie = `bvi_${name}=${value};path=/;expires=${now.toUTCString()};domain=${location.host}`;\n};\n\nconst getCookie = function (name = '') {\n name = `bvi_${name}=`;\n let decodedCookie = decodeURIComponent(document.cookie);\n let cookies = decodedCookie.split(';');\n\n for (let i = 0; i < cookies.length; i++) {\n let cookie = cookies[i].trim();\n\n if (cookie.indexOf(name) !== -1) {\n return cookie.substring(name.length, cookie.length);\n }\n }\n};\n\nconst removeCookie = function (name = '') {\n document.cookie = `bvi_${name}=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=${location.host}`;\n};\n\nexport {\n setCookie,\n getCookie,\n removeCookie,\n};\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): i18n.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst lang = {\n 'ru-RU': {\n 'text': {\n 'fontSize': 'Размер шрифта',\n 'siteColors': 'Цвета сайта',\n 'images': 'Изображения',\n 'speech': 'Синтез речи',\n 'settings': 'Настройки',\n 'regularVersionOfTheSite': 'Обычная версия сайта',\n 'letterSpacing': 'Межбуквенное расстояние',\n 'normal': 'Стандартный',\n 'average': 'Средний',\n 'big': 'Большой',\n 'lineHeight': 'Межстрочный интервал',\n 'font': 'Шрифт',\n 'arial': 'Без засечек',\n 'times': 'С засечками',\n 'builtElements': 'Встроенные элементы (Видео, карты и тд.)',\n 'on': 'Включить',\n 'off': 'Выключить',\n 'reset': 'Сбросить настройки',\n 'plural_0': 'пиксель',\n 'plural_1': 'пекселя',\n 'plural_2': 'пикселей',\n },\n 'voice': {\n 'fontSizePlus': 'Размер шрифта увели́чен',\n 'fontSizeMinus': 'Размер шрифта уме́ньшен',\n 'siteColorBlackOnWhite': 'Цвет сайта черным по белому',\n 'siteColorWhiteOnBlack': 'Цвет сайта белым по черному',\n 'siteColorDarkBlueOnBlue': 'Цвет сайта тёмно-синим по голубому',\n 'siteColorBeigeBrown': 'Цвет сайта кори́чневым по бе́жевому',\n 'siteColorGreenOnDarkBrown': 'Цвет сайта зеленым по тёмно-коричневому',\n 'imagesOn': 'Изображения включены',\n 'imagesOFF': 'Изображения выключены',\n 'imagesGrayscale': 'Изображения чёрно-белые',\n 'speechOn': 'Синтез речи включён',\n 'speechOff': 'Синтез речи вы́ключен',\n 'lineHeightNormal': 'Межстрочный интервал стандартный',\n 'lineHeightAverage': 'Межстрочный интервал средний',\n 'lineHeightBig': 'Межстрочный интервал большой',\n 'LetterSpacingNormal': 'Интервал между буквами стандартный',\n 'LetterSpacingAverage': 'Интервал между буквами средний',\n 'LetterSpacingBig': 'Интервал между буквами большой',\n 'fontArial': 'Шрифт без засечек',\n 'fontTimes': 'Шрифт с засечками',\n 'builtElementsOn': 'Встроенные элементы включены',\n 'builtElementsOFF': 'Встроенные элементы выключены',\n 'resetSettings': 'Установлены настройки по умолча́нию',\n 'panelShow': 'Панель открыта',\n 'panelHide': 'Панель скрыта',\n 'panelOn': 'Версия сайта для слабови́дящий',\n 'panelOff': 'Обычная версия сайта',\n }\n },\n 'en-US': {\n 'text': {\n 'fontSize': 'Font size',\n 'siteColors': 'Site colors',\n 'images': 'Images',\n 'speech': 'Speech synthesis',\n 'settings': 'Settings',\n 'regularVersionOfTheSite': 'Regular version Of The site',\n 'letterSpacing': 'Letter spacing',\n 'normal': 'Single',\n 'average': 'One and a half',\n 'big': 'Double',\n 'lineHeight': 'Line spacing',\n 'font':'Font',\n 'arial': 'Sans Serif - Arial',\n 'times': 'Serif - Times New Roman',\n 'builtElements': 'Include inline elements (Videos, maps, etc.)',\n 'on': 'Enable',\n 'off': 'Disabled',\n 'reset': 'Reset settings',\n 'plural_0': 'pixel',\n 'plural_1': 'pixels',\n 'plural_2': 'pixels',\n },\n 'voice': {\n 'fontSizePlus': 'Font size increased',\n 'fontSizeMinus': 'Font size reduced',\n 'siteColorBlackOnWhite': 'Site color black on white',\n 'siteColorWhiteOnBlack': 'Site color white on black',\n 'siteColorDarkBlueOnBlue': 'Site color dark blue on cyan',\n 'siteColorBeigeBrown': 'SiteColorBeigeBrown',\n 'siteColorGreenOnDarkBrown': 'Site color green on dark brown',\n 'imagesOn': 'Images enable',\n 'imagesOFF': 'Images disabled',\n 'imagesGrayscale': 'Images gray scale',\n 'speechOn': 'Synthesis speech enable',\n 'speechOff': 'Synthesis speech disabled',\n 'lineHeightNormal': 'Line spacing single',\n 'lineHeightAverage': 'Line spacing one and a half',\n 'lineHeightBig': 'Line spacing double',\n 'LetterSpacingNormal': 'Letter spacing single',\n 'LetterSpacingAverage': 'Letter spacing one and a half',\n 'LetterSpacingBig': 'Letter spacing letter double',\n 'fontArial': 'Sans Serif - Arial',\n 'fontTimes': 'Serif - Times New Roman',\n 'builtElementsOn': 'Include inline elements are enabled',\n 'builtElementsOFF': 'Include inline elements are disabled',\n 'resetSettings': 'Default settings have been set',\n 'panelShow': 'Panel show',\n 'panelHide': 'Panel hide',\n 'panelOn': 'Site version for visually impaired',\n 'panelOff': 'Regular version of the site',\n }\n }\n}\n\nclass I18n {\n constructor(options) {\n this._config = options\n }\n\n t(key) {\n return lang[this._config.lang]['text'][key]\n }\n\n v(key) {\n return lang[this._config.lang]['voice'][key]\n }\n}\n\nexport default I18n\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): bvi.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nimport {\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n} from './util'\n\nimport {\n setCookie,\n getCookie,\n removeCookie,\n} from './util/cookie'\nimport I18n from './i18n'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst Default = {\n target: '.bvi-open',\n fontSize: 16,\n theme: 'white',\n images: 'grayscale',\n letterSpacing: 'normal',\n lineHeight: 'normal',\n speech: true,\n fontFamily: 'arial',\n builtElements: false,\n panelFixed: true,\n panelHide: false,\n reload: false,\n lang: 'ru-RU',\n}\n\nconst DefaultType = {\n target: 'string',\n fontSize: 'number',\n theme: 'string',\n images: '(string|boolean)',\n letterSpacing: 'string',\n lineHeight: 'string',\n speech: 'boolean',\n fontFamily: 'string',\n builtElements: 'boolean',\n panelFixed: 'boolean',\n panelHide: 'boolean',\n reload: 'boolean',\n lang: 'string',\n}\n\nconst DefaultOptions = {\n target: '',\n fontSize: '(^[1-9]$|^[1-3][0-9]?$|^39$)',\n theme: '(white|black|blue|brown|green)',\n images: '(true|false|grayscale)',\n letterSpacing: '(normal|average|big)',\n lineHeight: '(normal|average|big)',\n speech: '(true|false)',\n fontFamily: '(arial|times)',\n builtElements: '(true|false)',\n panelFixed: '(true|false)',\n panelHide: '(true|false)',\n reload: '(true|false)',\n lang: '(ru-RU|en-US)',\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Bvi {\n constructor(options) {\n this._config = this._getConfig(options)\n this._elements = document.querySelectorAll(this._config.target)\n this._i18n = new I18n({\n lang: this._config.lang\n })\n\n this._addEventListeners()\n this._init()\n\n console.log('Bvi console: ready Button visually impaired v1.0.0')\n }\n\n // Private\n\n _init() {\n getObject(this._config, key => {\n if (typeof getCookie(key) === 'undefined') {\n removeCookie('panelActive')\n }\n })\n\n if (stringToBoolean(getCookie('panelActive'))) {\n this._set()\n this._getPanel()\n this._addEventListenersPanel()\n this._images()\n this._speechPlayer()\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n setInterval(() => {\n if (synth().pending === false) {\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n return callback(element)\n })\n }\n\n el(play, element => element.classList.remove('disabled'))\n el(pause, element => element.classList.add('disabled'))\n el(resume, element => element.classList.add('disabled'))\n el(stop, element => element.classList.add('disabled'))\n }\n }, 1000)\n }\n\n } else {\n this._remove()\n }\n }\n\n _addEventListeners() {\n if (!this._elements) {\n return false\n }\n\n this._elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n getObject(this._config, key => setCookie(key, this._config[key]))\n setCookie('panelActive', true)\n\n this._init()\n this._speech(`${this._i18n.v('panelOn')}`)\n })\n })\n\n }\n\n _addEventListenersPanel() {\n const elements = {\n fontSizeMinus: document.querySelector('.bvi-fontSize-minus'),\n fontSizePlus: document.querySelector('.bvi-fontSize-plus'),\n themeWhite: document.querySelector('.bvi-theme-white'),\n themeBlack: document.querySelector('.bvi-theme-black'),\n themeBlue: document.querySelector('.bvi-theme-blue'),\n themeBrown: document.querySelector('.bvi-theme-brown'),\n themeGreen: document.querySelector('.bvi-theme-green'),\n imagesOn: document.querySelector('.bvi-images-on'),\n imagesOff: document.querySelector('.bvi-images-off'),\n imagesGrayscale: document.querySelector('.bvi-images-grayscale'),\n speechOn: document.querySelector('.bvi-speech-on'),\n speechOff: document.querySelector('.bvi-speech-off'),\n lineHeightNormal: document.querySelector('.bvi-line-height-normal'),\n lineHeightAverage: document.querySelector('.bvi-line-height-average'),\n lineHeightBig: document.querySelector('.bvi-line-height-big'),\n letterSpacingNormal: document.querySelector('.bvi-letter-spacing-normal'),\n letterSpacingAverage: document.querySelector('.bvi-letter-spacing-average'),\n letterSpacingBig: document.querySelector('.bvi-letter-spacing-big'),\n fontFamilyArial: document.querySelector('.bvi-font-family-arial'),\n fontFamilyTimes: document.querySelector('.bvi-font-family-times'),\n builtElementsOn: document.querySelector('.bvi-built-elements-on'),\n builtElementsOff: document.querySelector('.bvi-built-elements-off'),\n reset: document.querySelector('.bvi-reset'),\n links: document.querySelectorAll('.bvi-link'),\n modal: document.querySelector('.bvi-modal')\n }\n\n const activeLink = element => {\n for (let sibling of element.parentNode.children) {\n sibling.classList.remove('active')\n }\n\n element.classList.add('active')\n }\n\n const click = (element, callback) => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n if (typeof callback === 'function') {\n callback(event)\n }\n })\n }\n\n const activeAll = () => {\n let links = document.querySelectorAll('.bvi-link')\n\n links.forEach(link => {\n link.classList.remove('active')\n })\n\n getObject(this._config, key => {\n if (key === 'theme') {\n let value = getCookie(key)\n document.querySelector(`.bvi-theme-${value}`).classList.add('active')\n }\n\n if (key === 'images') {\n let value = getCookie(key) === 'grayscale' ? 'grayscale' : stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-images-${value}`).classList.add('active')\n }\n\n if (key === 'speech') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-speech-${value}`).classList.add('active')\n }\n\n if (key === 'lineHeight') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-line-height-${value}`).classList.add('active')\n }\n\n if (key === 'letterSpacing') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-letter-spacing-${value}`).classList.add('active')\n }\n\n if (key === 'fontFamily') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-font-family-${value}`).classList.add('active')\n }\n\n if (key === 'builtElements') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-built-elements-${value}`).classList.add('active')\n }\n })\n }\n\n activeAll()\n\n // Font size\n click(elements.fontSizeMinus, () => {\n let size = parseFloat(getCookie('fontSize')) - 1\n\n if (size !== 0) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizeMinus')}`)\n activeLink(elements.fontSizeMinus)\n }\n })\n\n click(elements.fontSizePlus, () => {\n let size = parseFloat(getCookie('fontSize')) + 1\n\n if (size !== 40) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizePlus')}`)\n activeLink(elements.fontSizePlus)\n }\n })\n\n // Theme\n click(elements.themeWhite, () => {\n this._setAttrDataBviBody('theme', 'white')\n setCookie('theme', 'white')\n this._speech(`${this._i18n.v('siteColorBlackOnWhite')}`)\n activeLink(elements.themeWhite)\n })\n\n click(elements.themeBlack, () => {\n this._setAttrDataBviBody('theme', 'black')\n setCookie('theme', 'black')\n this._speech(`${this._i18n.v('siteColorWhiteOnBlack')}`)\n activeLink(elements.themeBlack)\n })\n\n click(elements.themeBlue, () => {\n this._setAttrDataBviBody('theme', 'blue')\n setCookie('theme', 'blue')\n this._speech(`${this._i18n.v('siteColorDarkBlueOnBlue')}`)\n activeLink(elements.themeBlue)\n })\n\n click(elements.themeBrown, () => {\n this._setAttrDataBviBody('theme', 'brown')\n setCookie('theme', 'brown')\n this._speech(`${this._i18n.v('siteColorBeigeBrown')}`)\n activeLink(elements.themeBrown)\n })\n\n click(elements.themeGreen, () => {\n this._setAttrDataBviBody('theme', 'green')\n setCookie('theme', 'green')\n this._speech(`${this._i18n.v('siteColorGreenOnDarkBrown')}`)\n activeLink(elements.themeGreen)\n })\n\n // Images\n click(elements.imagesOn, () => {\n this._setAttrDataBviBody('images', 'true')\n setCookie('images', 'true')\n this._speech(`${this._i18n.v('imagesOn')}`)\n activeLink(elements.imagesOn)\n })\n\n click(elements.imagesOff, () => {\n this._setAttrDataBviBody('images', 'false')\n setCookie('images', 'false')\n this._speech(`${this._i18n.v('imagesOFF')}`)\n activeLink(elements.imagesOff)\n })\n\n click(elements.imagesGrayscale, () => {\n this._setAttrDataBviBody('images', 'grayscale')\n setCookie('images', 'grayscale')\n this._speech(`${this._i18n.v('imagesGrayscale')}`)\n activeLink(elements.imagesGrayscale)\n })\n\n // Speech\n click(elements.speechOn, () => {\n this._setAttrDataBviBody('speech', 'true')\n setCookie('speech', 'true')\n this._speech(`${this._i18n.v('speechOn')}`)\n activeLink(elements.speechOn)\n this._speechPlayer()\n })\n\n click(elements.speechOff, () => {\n this._speech(`${this._i18n.v('speechOff')}`)\n this._setAttrDataBviBody('speech', 'false')\n setCookie('speech', 'false')\n activeLink(elements.speechOff)\n this._speechPlayer()\n })\n\n // Line height\n click(elements.lineHeightNormal, () => {\n this._setAttrDataBviBody('lineHeight', 'normal')\n setCookie('lineHeight', 'normal')\n this._speech(`${this._i18n.v('lineHeightNormal')}`)\n activeLink(elements.lineHeightNormal)\n })\n\n click(elements.lineHeightAverage, () => {\n this._setAttrDataBviBody('lineHeight', 'average')\n setCookie('lineHeight', 'average')\n this._speech(`${this._i18n.v('lineHeightAverage')}`)\n activeLink(elements.lineHeightAverage)\n })\n\n click(elements.lineHeightBig, () => {\n this._setAttrDataBviBody('lineHeight', 'big')\n setCookie('lineHeight', 'big')\n this._speech(`${this._i18n.v('lineHeightBig')}`)\n activeLink(elements.lineHeightBig)\n })\n\n // Letter spacing\n click(elements.letterSpacingNormal, () => {\n this._setAttrDataBviBody('letterSpacing', 'normal')\n setCookie('letterSpacing', 'normal')\n this._speech(`${this._i18n.v('LetterSpacingNormal')}`)\n activeLink(elements.letterSpacingNormal)\n })\n\n click(elements.letterSpacingAverage, () => {\n this._setAttrDataBviBody('letterSpacing', 'average')\n setCookie('letterSpacing', 'average')\n this._speech(`${this._i18n.v('LetterSpacingAverage')}`)\n activeLink(elements.letterSpacingAverage)\n })\n\n click(elements.letterSpacingBig, () => {\n this._setAttrDataBviBody('letterSpacing', 'big')\n setCookie('letterSpacing', 'big')\n this._speech(`${this._i18n.v('LetterSpacingBig')}`)\n activeLink(elements.letterSpacingBig)\n })\n\n // Font family\n click(elements.fontFamilyArial, () => {\n this._setAttrDataBviBody('fontFamily', 'arial')\n setCookie('fontFamily', 'arial')\n this._speech(`${this._i18n.v('fontArial')}`)\n activeLink(elements.fontFamilyArial)\n })\n\n click(elements.fontFamilyTimes, () => {\n this._setAttrDataBviBody('fontFamily', 'times')\n setCookie('fontFamily', 'times')\n this._speech(`${this._i18n.v('fontTimes')}`)\n activeLink(elements.fontFamilyTimes)\n })\n\n // Built elements\n click(elements.builtElementsOn, () => {\n this._setAttrDataBviBody('builtElements', 'true')\n setCookie('builtElements', 'true')\n this._speech(`${this._i18n.v('builtElementsOn')}`)\n activeLink(elements.builtElementsOn)\n })\n\n click(elements.builtElementsOff, () => {\n this._setAttrDataBviBody('builtElements', 'false')\n setCookie('builtElements', 'false')\n this._speech(`${this._i18n.v('builtElementsOFF')}`)\n activeLink(elements.builtElementsOff)\n })\n\n // Reset\n click(elements.reset, () => {\n this._speech(`${this._i18n.v('resetSettings')}`)\n getObject(this._config, key => {\n this._setAttrDataBviBody(key, this._config[key])\n setCookie(key, this._config[key])\n activeAll()\n })\n })\n\n getArray(elements.links, element => {\n click(element, event => {\n let target = event.target.getAttribute('data-bvi')\n\n if (target === 'close') {\n this._setAttrDataBviBody('panelActive', 'false')\n setCookie('panelActive', 'false')\n this._init()\n }\n\n if (target === 'modal') {\n document.body.style.overflow = 'hidden'\n document.body.classList.add('bvi-noscroll')\n elements.modal.classList.toggle('show')\n }\n\n if (target === 'modal-close') {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n\n if (target === 'panel-hide') {\n document.querySelector('.bvi-panel').classList.add('bvi-panel-hide')\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-hide')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-show')\n setCookie('panelHide', 'true')\n this._speech(`${this._i18n.v('panelHide')}`)\n }\n\n if (target === 'panel-show') {\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-show')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-hide')\n document.querySelector('.bvi-panel').classList.remove('bvi-panel-hide')\n setCookie('panelHide', 'false')\n this._speech(`${this._i18n.v('panelShow')}`)\n }\n })\n })\n\n click(elements.modal, event => {\n if (event.target.contains(elements.modal)) {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n })\n }\n\n _getPanel() {\n const scroll = () => {\n let scroll = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop\n\n if (stringToBoolean(getCookie('panelFixed'))) {\n if (scroll > 200) {\n document.querySelector('.bvi-panel').classList.add('bvi-fixed-top')\n } else {\n document.querySelector('.bvi-panel').classList.remove('bvi-fixed-top')\n }\n }\n }\n\n let panelHide = stringToBoolean(getCookie('panelHide')) ? ' bvi-panel-hide' : ''\n let linkHide = !stringToBoolean(getCookie('panelHide')) ? ' bvi-hide' : 'bvi-show'\n let html = `\n
\n
\n
\n
${this._i18n.t('fontSize')}
\n А-\n А+\n
\n
\n
${this._i18n.t('siteColors')}
\n Ц\n Ц\n Ц\n Ц\n Ц\n
\n
\n
${this._i18n.t('images')}
\n \n \n \n \n \n \n \n \n \n
\n
\n
${this._i18n.t('speech')}
\n \n \n \n \n \n \n
\n
\n
${this._i18n.t('settings')}
\n \n \n \n \n ${this._i18n.t('regularVersionOfTheSite')}\n \n \n \n \n
\n
\n
\n
\n
\n
\n
${this._i18n.t('settings')}
\n ×\n
\n
\n
\n \n \n
\n
${this._i18n.t('font')}
\n ${this._i18n.t('arial')}\n ${this._i18n.t('times')}\n
\n
\n
${this._i18n.t('builtElements')}
\n ${this._i18n.t('on')}\n ${this._i18n.t('off')}\n
\n
\n \n
\n \n
\n
\n
\n
`\n\n let link = `` +\n ''\n\n window.addEventListener('scroll', scroll)\n document.querySelector('.bvi-body').insertAdjacentHTML('beforebegin', html)\n document.querySelector('.bvi-body').insertAdjacentHTML('afterbegin', link)\n scroll()\n }\n\n _set() {\n document.body.classList.add('bvi-active')\n wrapInner(document.body, 'div', 'bvi-body')\n getObject(this._config, key => this._setAttrDataBviBody(key, getCookie(key)))\n getArray(this._elements, element => element.style.display = 'none')\n\n document.querySelectorAll('img')\n .forEach(element => {\n if (element.classList.contains('bvi-img')) {\n element.classList.remove('bvi-img')\n }\n })\n\n document.querySelectorAll('body *')\n .forEach(element => {\n if (element.classList.contains('bvi-background-image')) {\n element.classList.remove('bvi-background-image')\n }\n })\n }\n\n _remove() {\n let bviPanel = document.querySelector('.bvi-panel')\n let bviBody = document.querySelector('.bvi-body')\n let bviLinkFixedTop = document.querySelector('.bvi-link-fixed-top')\n\n if (bviPanel) {\n bviPanel.remove()\n }\n\n if (bviBody) {\n unwrap(bviBody)\n }\n\n if (bviLinkFixedTop) {\n bviLinkFixedTop.remove()\n }\n\n this._speech(`${this._i18n.v('panelOff')}`)\n\n document.body.classList.remove('bvi-active')\n\n getArray(this._elements, element => element.style.display = '')\n\n if (stringToBoolean(getCookie('reload'))) {\n document.location.reload()\n }\n\n getObject(this._config, key => {\n removeCookie(key)\n })\n\n this._speechPlayer()\n\n removeCookie('panelActive')\n }\n\n _images() {\n document.querySelectorAll('img').forEach(element => {\n if (!element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-img')\n }\n })\n\n document.querySelectorAll('.bvi-body *').forEach(element => {\n let style = getComputedStyle(element)\n if (style.backgroundImage !== 'none' && style.background !== 'none' && !element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-background-image')\n }\n })\n }\n\n _getConfig(config) {\n config = {...Default, ...config}\n let extended = {}\n\n for (let keyDefault in Default) {\n extended[keyDefault] = config[keyDefault]\n }\n\n checkConfig(extended, DefaultType, DefaultOptions)\n\n return extended\n }\n\n _setAttrDataBviBody(name = '', value = '') {\n document.querySelector('.bvi-body').setAttribute(`data-bvi-${name}`, value)\n }\n\n _speechPlayer() {\n let selectorSpeechText = document.querySelectorAll('.bvi-speech-text')\n let selectorSpeechLink = document.querySelectorAll('.bvi-speech-link')\n let selectorBviSpeech = document.querySelectorAll('.bvi-speech')\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n if (selectorBviSpeech) {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n\n selectorBviSpeech.forEach((speechDivBlock, index) => {\n let id = `bvi-speech-text-id-${index + 1}`\n let html = `\n `\n\n wrapInner(speechDivBlock, 'div', `bvi-speech-text ${id}`)\n speechDivBlock.insertAdjacentHTML('afterbegin', html)\n })\n\n let selectorPlay = document.querySelectorAll('.bvi-speech-play')\n let selectorPause = document.querySelectorAll('.bvi-speech-pause')\n let selectorResume = document.querySelectorAll('.bvi-speech-resume')\n let selectorStop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n if (typeof callback === 'function') {\n return callback(element, event)\n }\n }, false)\n })\n }\n\n el(selectorPlay, (element, event) => {\n let target = event.target\n let text = target.parentNode.nextElementSibling;\n let closest = event.target.closest('.bvi-speech-link')\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n\n this._speech(text.textContent, text, true);\n\n play.forEach(element => element.classList.remove('disabled'))\n pause.forEach(element => element.classList.add('disabled'))\n resume.forEach(element => element.classList.add('disabled'))\n stop.forEach(element => element.classList.add('disabled'))\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n closest.querySelector('.bvi-speech-stop').classList.remove('disabled')\n })\n\n el(selectorPause, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-resume').classList.remove('disabled')\n synth().pause()\n })\n\n el(selectorResume, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n synth().resume()\n })\n\n el(selectorStop, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.add('disabled')\n closest.querySelector('.bvi-speech-play').classList.remove('disabled')\n synth().cancel();\n })\n }\n } else {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n }\n }\n\n _speech(text, element, echo = false) {\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n synth().cancel()\n const getWordAt = (str, pos) => {\n str = String(str)\n pos = Number(pos) >>> 0\n\n let left = str.slice(0, pos + 1).search(/\\S+$/)\n let right = str.slice(pos).search(/\\s/)\n\n if (right < 0) {\n return str.slice(left)\n }\n return str.slice(left, right + pos)\n }\n\n let chunkLength = 120\n let patternRegex = new RegExp('^[\\\\s\\\\S]{' + Math.floor(chunkLength / 2) + ',' + chunkLength + '}[.!?,]{1}|^[\\\\s\\\\S]{1,' + chunkLength + '}$|^[\\\\s\\\\S]{1,' + chunkLength + '} ')\n let array = []\n let $text = text\n let voices = synth().getVoices()\n\n while ($text.length > 0) {\n array.push($text.match(patternRegex)[0])\n $text = $text.substring(array[array.length - 1].length)\n }\n\n array.forEach(getText => {\n let utter = new SpeechSynthesisUtterance(getText.trim())\n utter.volume = 1\n utter.rate = 1\n utter.pitch = 1\n utter.lang = this._config.lang\n\n for (let i = 0; i < voices.length; i++) {\n if (this._config.lang === 'ru-RU' && voices[i].name === 'Microsoft Pavel - Russian (Russia)') {\n utter.voice = voices[i]\n }\n\n if (this._config.lang === 'en-US' && voices[i].name === 'Microsoft Pavel - English (English)') {\n utter.voice = voices[i]\n }\n }\n\n if (echo) {\n utter.onboundary = event => {\n\n element.classList.add('bvi-highlighting')\n let world = getWordAt(event.utterance.text, event.charIndex)\n let textContent = element.textContent\n let term = world.replace(/(\\s+)/, '((<[^>]+>)*$1(<[^>]+>)*)')\n let pattern = new RegExp('(' + term + ')', 'gi')\n textContent = textContent.replace(pattern, '$1')\n textContent = textContent.replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\\/mark>)/, '$1$2$4')\n element.innerHTML = textContent\n }\n\n utter.onend = event => {\n element.classList.remove('bvi-highlighting')\n let textContent = element.textContent\n textContent = textContent.replace(/($1<\\/mark>)/, '$1')\n element.innerHTML = textContent\n }\n }\n\n synth().speak(utter)\n })\n }\n }\n}\n\nexport default Bvi\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): index.umd.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n/*import 'core-js/stable';*/\nimport 'regenerator-runtime/runtime'\nimport Bvi from './bvi'\n\nexport default { Bvi }\n"],"names":["runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","fn","arg","type","call","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","displayName","defineIteratorMethods","forEach","method","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","then","unwrapped","error","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","object","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","globalThis","Function","arr","item","prepend","argArr","Array","arguments","docFrag","document","createDocumentFragment","argItem","isNode","Node","appendChild","createTextNode","String","insertBefore","firstChild","Element","Document","DocumentFragment","window","NodeList","HTMLCollection","toType","toString","match","toLowerCase","isElement","nodeType","checkConfig","config","configTypes","configOptions","expectedTypes","valueType","RegExp","test","expectedOptions","stringToBoolean","string","wrapInner","parent","wrapper","className","createElement","unwrap","child","removeChild","parentNode","replaceChild","getObject","callback","getArray","array","from","synth","speechSynthesis","setCookie","now","Date","time","getTime","setTime","cookie","toUTCString","location","host","getCookie","decodedCookie","decodeURIComponent","cookies","split","trim","indexOf","substring","removeCookie","lang","I18n","options","_config","Default","target","fontSize","theme","images","letterSpacing","lineHeight","speech","fontFamily","builtElements","panelFixed","panelHide","reload","DefaultType","DefaultOptions","Bvi","_getConfig","_elements","querySelectorAll","_i18n","_addEventListeners","_init","console","log","_set","_getPanel","_addEventListenersPanel","_images","_speechPlayer","setInterval","pending","play","pause","resume","el","elements","element","classList","remove","add","_remove","addEventListener","event","preventDefault","_speech","v","fontSizeMinus","querySelector","fontSizePlus","themeWhite","themeBlack","themeBlue","themeBrown","themeGreen","imagesOn","imagesOff","imagesGrayscale","speechOn","speechOff","lineHeightNormal","lineHeightAverage","lineHeightBig","letterSpacingNormal","letterSpacingAverage","letterSpacingBig","fontFamilyArial","fontFamilyTimes","builtElementsOn","builtElementsOff","links","modal","activeLink","children","sibling","click","activeAll","link","size","parseFloat","_setAttrDataBviBody","getAttribute","body","style","overflow","toggle","contains","scroll","pageYOffset","documentElement","scrollTop","linkHide","html","t","insertAdjacentHTML","display","bviPanel","bviBody","bviLinkFixedTop","getComputedStyle","backgroundImage","background","extended","keyDefault","setAttribute","selectorSpeechText","selectorSpeechLink","selectorBviSpeech","speechDivBlock","index","id","selectorPlay","selectorPause","selectorResume","selectorStop","text","nextElementSibling","closest","textContent","cancel","echo","getWordAt","str","pos","Number","left","search","right","chunkLength","patternRegex","Math","floor","$text","voices","getVoices","getText","utter","SpeechSynthesisUtterance","volume","rate","pitch","voice","onboundary","world","utterance","charIndex","term","replace","pattern","innerHTML","onend","speak"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bvi.js","sources":["../../node_modules/regenerator-runtime/runtime.js","../../src/js/util/index.js","../../src/js/util/cookie.js","../../src/js/i18n.js","../../src/js/bvi.js","../../src/js/index.umd.js"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/index.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n(function (arr) {\n arr.forEach(function (item) {\n if (item.hasOwnProperty('prepend')) {\n return\n }\n Object.defineProperty(item, 'prepend', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function prepend () {\n var argArr = Array.prototype.slice.call(arguments),\n docFrag = document.createDocumentFragment()\n\n argArr.forEach(function (argItem) {\n var isNode = argItem instanceof Node\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)))\n })\n\n this.insertBefore(docFrag, this.firstChild)\n },\n })\n })\n})([Element.prototype, Document.prototype, DocumentFragment.prototype])\n\nif (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach\n}\n\nif (window.HTMLCollection && !HTMLCollection.prototype.forEach) {\n HTMLCollection.prototype.forEach = Array.prototype.forEach\n}\n\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst checkConfig = (config, configTypes, configOptions) => {\n Object.keys(configTypes).forEach(key => {\n const expectedTypes = configTypes[key]\n const value = config[key]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" предоставленный тип \"${valueType}\", ожидаемый тип \"${expectedTypes}\".`,\n )\n }\n })\n\n Object.keys(configOptions).forEach(key => {\n const expectedOptions = configOptions[key]\n const value = config[key]\n\n if (!new RegExp(expectedOptions).test(value)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" параметр \"${value}\", ожидаемый параметр \"${expectedOptions}\".`,\n )\n }\n })\n}\n\nconst plural = (number, text = ['пиксель', 'пекселя', 'пикселей']) => {\n if (number % 10 === 1 && number % 100 !== 11) {\n return `${number} ${text[0]}`\n } else if (number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return `${number} ${text[1]}`\n } else {\n return `${number} ${text[2]}`\n }\n}\n\nconst stringToBoolean = string => {\n switch (string) {\n case 'on':\n case 'true':\n case '1':\n return true\n default:\n return false\n }\n}\n\nconst wrapInner = (parent, wrapper, className) => {\n if (typeof wrapper === 'string') {\n wrapper = document.createElement(wrapper)\n }\n\n parent.appendChild(wrapper).className = className\n\n while (parent.firstChild !== wrapper) {\n wrapper.appendChild(parent.firstChild)\n }\n}\n\nconst unwrap = wrapper => {\n let docFrag = document.createDocumentFragment()\n\n if (!wrapper) return\n\n while (wrapper.firstChild) {\n let child = wrapper.removeChild(wrapper.firstChild)\n docFrag.appendChild(child)\n }\n\n wrapper.parentNode.replaceChild(docFrag, wrapper)\n}\n\nconst getObject = (object, callback) => {\n Object.keys(object).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst getArray = (array, callback) => {\n Array.from(array).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst inArray = (needle, haystack) => {\n let length = haystack.length\n\n for (let i = 0; i < length; i++) {\n if (haystack[i] === needle) {\n return true\n }\n }\n\n return false\n}\n\nconst synth = () => window.speechSynthesis\n\nconst synthSupportBrowser = () => {\n return 'speechSynthesis' in window\n}\n\nexport {\n plural,\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n synthSupportBrowser,\n inArray,\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/cookie.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst setCookie = function (name = '', value = '') {\n let now = new Date();\n let time = now.getTime();\n time += 24 * 60 * 60 * 1000;\n now.setTime(time);\n document.cookie = `bvi_${name}=${value};path=/;expires=${now.toUTCString()};domain=${location.hostname !== 'localhost' ? location.host : 'localhost'}`;\n};\n\nconst getCookie = function (name = '') {\n name = `bvi_${name}=`;\n let decodedCookie = decodeURIComponent(document.cookie);\n let cookies = decodedCookie.split(';');\n\n for (let i = 0; i < cookies.length; i++) {\n let cookie = cookies[i].trim();\n\n if (cookie.indexOf(name) !== -1) {\n return cookie.substring(name.length, cookie.length);\n }\n }\n};\n\nconst removeCookie = function (name = '') {\n document.cookie = `bvi_${name}=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=${location.hostname !== 'localhost' ? location.host : 'localhost'}`;\n};\n\nexport {\n setCookie,\n getCookie,\n removeCookie,\n};\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): i18n.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst lang = {\n 'ru-RU': {\n 'text': {\n 'fontSize': 'Размер шрифта',\n 'siteColors': 'Цвета сайта',\n 'images': 'Изображения',\n 'speech': 'Синтез речи',\n 'settings': 'Настройки',\n 'regularVersionOfTheSite': 'Обычная версия сайта',\n 'letterSpacing': 'Межбуквенное расстояние',\n 'normal': 'Стандартный',\n 'average': 'Средний',\n 'big': 'Большой',\n 'lineHeight': 'Межстрочный интервал',\n 'font': 'Шрифт',\n 'arial': 'Без засечек',\n 'times': 'С засечками',\n 'builtElements': 'Встроенные элементы (Видео, карты и тд.)',\n 'on': 'Включить',\n 'off': 'Выключить',\n 'reset': 'Сбросить настройки',\n 'plural_0': 'пиксель',\n 'plural_1': 'пекселя',\n 'plural_2': 'пикселей',\n },\n 'voice': {\n 'fontSizePlus': 'Размер шрифта увели́чен',\n 'fontSizeMinus': 'Размер шрифта уме́ньшен',\n 'siteColorBlackOnWhite': 'Цвет сайта черным по белому',\n 'siteColorWhiteOnBlack': 'Цвет сайта белым по черному',\n 'siteColorDarkBlueOnBlue': 'Цвет сайта тёмно-синим по голубому',\n 'siteColorBeigeBrown': 'Цвет сайта кори́чневым по бе́жевому',\n 'siteColorGreenOnDarkBrown': 'Цвет сайта зеленым по тёмно-коричневому',\n 'imagesOn': 'Изображения включены',\n 'imagesOFF': 'Изображения выключены',\n 'imagesGrayscale': 'Изображения чёрно-белые',\n 'speechOn': 'Синтез речи включён',\n 'speechOff': 'Синтез речи вы́ключен',\n 'lineHeightNormal': 'Межстрочный интервал стандартный',\n 'lineHeightAverage': 'Межстрочный интервал средний',\n 'lineHeightBig': 'Межстрочный интервал большой',\n 'LetterSpacingNormal': 'Интервал между буквами стандартный',\n 'LetterSpacingAverage': 'Интервал между буквами средний',\n 'LetterSpacingBig': 'Интервал между буквами большой',\n 'fontArial': 'Шрифт без засечек',\n 'fontTimes': 'Шрифт с засечками',\n 'builtElementsOn': 'Встроенные элементы включены',\n 'builtElementsOFF': 'Встроенные элементы выключены',\n 'resetSettings': 'Установлены настройки по умолча́нию',\n 'panelShow': 'Панель открыта',\n 'panelHide': 'Панель скрыта',\n 'panelOn': 'Версия сайта для слабови́дящий',\n 'panelOff': 'Обычная версия сайта',\n }\n },\n 'en-US': {\n 'text': {\n 'fontSize': 'Font size',\n 'siteColors': 'Site colors',\n 'images': 'Images',\n 'speech': 'Speech synthesis',\n 'settings': 'Settings',\n 'regularVersionOfTheSite': 'Regular version Of The site',\n 'letterSpacing': 'Letter spacing',\n 'normal': 'Single',\n 'average': 'One and a half',\n 'big': 'Double',\n 'lineHeight': 'Line spacing',\n 'font':'Font',\n 'arial': 'Sans Serif - Arial',\n 'times': 'Serif - Times New Roman',\n 'builtElements': 'Include inline elements (Videos, maps, etc.)',\n 'on': 'Enable',\n 'off': 'Disabled',\n 'reset': 'Reset settings',\n 'plural_0': 'pixel',\n 'plural_1': 'pixels',\n 'plural_2': 'pixels',\n },\n 'voice': {\n 'fontSizePlus': 'Font size increased',\n 'fontSizeMinus': 'Font size reduced',\n 'siteColorBlackOnWhite': 'Site color black on white',\n 'siteColorWhiteOnBlack': 'Site color white on black',\n 'siteColorDarkBlueOnBlue': 'Site color dark blue on cyan',\n 'siteColorBeigeBrown': 'SiteColorBeigeBrown',\n 'siteColorGreenOnDarkBrown': 'Site color green on dark brown',\n 'imagesOn': 'Images enable',\n 'imagesOFF': 'Images disabled',\n 'imagesGrayscale': 'Images gray scale',\n 'speechOn': 'Synthesis speech enable',\n 'speechOff': 'Synthesis speech disabled',\n 'lineHeightNormal': 'Line spacing single',\n 'lineHeightAverage': 'Line spacing one and a half',\n 'lineHeightBig': 'Line spacing double',\n 'LetterSpacingNormal': 'Letter spacing single',\n 'LetterSpacingAverage': 'Letter spacing one and a half',\n 'LetterSpacingBig': 'Letter spacing letter double',\n 'fontArial': 'Sans Serif - Arial',\n 'fontTimes': 'Serif - Times New Roman',\n 'builtElementsOn': 'Include inline elements are enabled',\n 'builtElementsOFF': 'Include inline elements are disabled',\n 'resetSettings': 'Default settings have been set',\n 'panelShow': 'Panel show',\n 'panelHide': 'Panel hide',\n 'panelOn': 'Site version for visually impaired',\n 'panelOff': 'Regular version of the site',\n }\n }\n}\n\nclass I18n {\n constructor(options) {\n this._config = options\n }\n\n t(key) {\n return lang[this._config.lang]['text'][key]\n }\n\n v(key) {\n return lang[this._config.lang]['voice'][key]\n }\n}\n\nexport default I18n\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): bvi.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nimport {\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n} from './util'\n\nimport {\n setCookie,\n getCookie,\n removeCookie,\n} from './util/cookie'\nimport I18n from './i18n'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst Default = {\n target: '.bvi-open',\n fontSize: 16,\n theme: 'white',\n images: 'grayscale',\n letterSpacing: 'normal',\n lineHeight: 'normal',\n speech: true,\n fontFamily: 'arial',\n builtElements: false,\n panelFixed: true,\n panelHide: false,\n reload: false,\n lang: 'ru-RU',\n}\n\nconst DefaultType = {\n target: 'string',\n fontSize: 'number',\n theme: 'string',\n images: '(string|boolean)',\n letterSpacing: 'string',\n lineHeight: 'string',\n speech: 'boolean',\n fontFamily: 'string',\n builtElements: 'boolean',\n panelFixed: 'boolean',\n panelHide: 'boolean',\n reload: 'boolean',\n lang: 'string',\n}\n\nconst DefaultOptions = {\n target: '',\n fontSize: '(^[1-9]$|^[1-3][0-9]?$|^39$)',\n theme: '(white|black|blue|brown|green)',\n images: '(true|false|grayscale)',\n letterSpacing: '(normal|average|big)',\n lineHeight: '(normal|average|big)',\n speech: '(true|false)',\n fontFamily: '(arial|times)',\n builtElements: '(true|false)',\n panelFixed: '(true|false)',\n panelHide: '(true|false)',\n reload: '(true|false)',\n lang: '(ru-RU|en-US)',\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Bvi {\n constructor(options) {\n this._config = this._getConfig(options)\n this._elements = document.querySelectorAll(this._config.target)\n this._i18n = new I18n({\n lang: this._config.lang\n })\n\n this._addEventListeners()\n this._init()\n\n console.log('Bvi console: ready Button visually impaired v1.0.0')\n }\n\n // Private\n\n _init() {\n getObject(this._config, key => {\n if (typeof getCookie(key) === 'undefined') {\n removeCookie('panelActive')\n }\n })\n\n if (stringToBoolean(getCookie('panelActive'))) {\n this._set()\n this._getPanel()\n this._addEventListenersPanel()\n this._images()\n this._speechPlayer()\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n setInterval(() => {\n if (synth().pending === false) {\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n return callback(element)\n })\n }\n\n el(play, element => element.classList.remove('disabled'))\n el(pause, element => element.classList.add('disabled'))\n el(resume, element => element.classList.add('disabled'))\n el(stop, element => element.classList.add('disabled'))\n }\n }, 1000)\n }\n\n } else {\n this._remove()\n }\n }\n\n _addEventListeners() {\n if (!this._elements) {\n return false\n }\n\n this._elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n getObject(this._config, key => setCookie(key, this._config[key]))\n setCookie('panelActive', true)\n\n this._init()\n this._speech(`${this._i18n.v('panelOn')}`)\n })\n })\n\n }\n\n _addEventListenersPanel() {\n const elements = {\n fontSizeMinus: document.querySelector('.bvi-fontSize-minus'),\n fontSizePlus: document.querySelector('.bvi-fontSize-plus'),\n themeWhite: document.querySelector('.bvi-theme-white'),\n themeBlack: document.querySelector('.bvi-theme-black'),\n themeBlue: document.querySelector('.bvi-theme-blue'),\n themeBrown: document.querySelector('.bvi-theme-brown'),\n themeGreen: document.querySelector('.bvi-theme-green'),\n imagesOn: document.querySelector('.bvi-images-on'),\n imagesOff: document.querySelector('.bvi-images-off'),\n imagesGrayscale: document.querySelector('.bvi-images-grayscale'),\n speechOn: document.querySelector('.bvi-speech-on'),\n speechOff: document.querySelector('.bvi-speech-off'),\n lineHeightNormal: document.querySelector('.bvi-line-height-normal'),\n lineHeightAverage: document.querySelector('.bvi-line-height-average'),\n lineHeightBig: document.querySelector('.bvi-line-height-big'),\n letterSpacingNormal: document.querySelector('.bvi-letter-spacing-normal'),\n letterSpacingAverage: document.querySelector('.bvi-letter-spacing-average'),\n letterSpacingBig: document.querySelector('.bvi-letter-spacing-big'),\n fontFamilyArial: document.querySelector('.bvi-font-family-arial'),\n fontFamilyTimes: document.querySelector('.bvi-font-family-times'),\n builtElementsOn: document.querySelector('.bvi-built-elements-on'),\n builtElementsOff: document.querySelector('.bvi-built-elements-off'),\n reset: document.querySelector('.bvi-reset'),\n links: document.querySelectorAll('.bvi-link'),\n modal: document.querySelector('.bvi-modal')\n }\n\n const activeLink = element => {\n for (let sibling of element.parentNode.children) {\n sibling.classList.remove('active')\n }\n\n element.classList.add('active')\n }\n\n const click = (element, callback) => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n if (typeof callback === 'function') {\n callback(event)\n }\n })\n }\n\n const activeAll = () => {\n let links = document.querySelectorAll('.bvi-link')\n\n links.forEach(link => {\n link.classList.remove('active')\n })\n\n getObject(this._config, key => {\n if (key === 'theme') {\n let value = getCookie(key)\n document.querySelector(`.bvi-theme-${value}`).classList.add('active')\n }\n\n if (key === 'images') {\n let value = getCookie(key) === 'grayscale' ? 'grayscale' : stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-images-${value}`).classList.add('active')\n }\n\n if (key === 'speech') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-speech-${value}`).classList.add('active')\n }\n\n if (key === 'lineHeight') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-line-height-${value}`).classList.add('active')\n }\n\n if (key === 'letterSpacing') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-letter-spacing-${value}`).classList.add('active')\n }\n\n if (key === 'fontFamily') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-font-family-${value}`).classList.add('active')\n }\n\n if (key === 'builtElements') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-built-elements-${value}`).classList.add('active')\n }\n })\n }\n\n activeAll()\n\n // Font size\n click(elements.fontSizeMinus, () => {\n let size = parseFloat(getCookie('fontSize')) - 1\n\n if (size !== 0) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizeMinus')}`)\n activeLink(elements.fontSizeMinus)\n }\n })\n\n click(elements.fontSizePlus, () => {\n let size = parseFloat(getCookie('fontSize')) + 1\n\n if (size !== 40) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizePlus')}`)\n activeLink(elements.fontSizePlus)\n }\n })\n\n // Theme\n click(elements.themeWhite, () => {\n this._setAttrDataBviBody('theme', 'white')\n setCookie('theme', 'white')\n this._speech(`${this._i18n.v('siteColorBlackOnWhite')}`)\n activeLink(elements.themeWhite)\n })\n\n click(elements.themeBlack, () => {\n this._setAttrDataBviBody('theme', 'black')\n setCookie('theme', 'black')\n this._speech(`${this._i18n.v('siteColorWhiteOnBlack')}`)\n activeLink(elements.themeBlack)\n })\n\n click(elements.themeBlue, () => {\n this._setAttrDataBviBody('theme', 'blue')\n setCookie('theme', 'blue')\n this._speech(`${this._i18n.v('siteColorDarkBlueOnBlue')}`)\n activeLink(elements.themeBlue)\n })\n\n click(elements.themeBrown, () => {\n this._setAttrDataBviBody('theme', 'brown')\n setCookie('theme', 'brown')\n this._speech(`${this._i18n.v('siteColorBeigeBrown')}`)\n activeLink(elements.themeBrown)\n })\n\n click(elements.themeGreen, () => {\n this._setAttrDataBviBody('theme', 'green')\n setCookie('theme', 'green')\n this._speech(`${this._i18n.v('siteColorGreenOnDarkBrown')}`)\n activeLink(elements.themeGreen)\n })\n\n // Images\n click(elements.imagesOn, () => {\n this._setAttrDataBviBody('images', 'true')\n setCookie('images', 'true')\n this._speech(`${this._i18n.v('imagesOn')}`)\n activeLink(elements.imagesOn)\n })\n\n click(elements.imagesOff, () => {\n this._setAttrDataBviBody('images', 'false')\n setCookie('images', 'false')\n this._speech(`${this._i18n.v('imagesOFF')}`)\n activeLink(elements.imagesOff)\n })\n\n click(elements.imagesGrayscale, () => {\n this._setAttrDataBviBody('images', 'grayscale')\n setCookie('images', 'grayscale')\n this._speech(`${this._i18n.v('imagesGrayscale')}`)\n activeLink(elements.imagesGrayscale)\n })\n\n // Speech\n click(elements.speechOn, () => {\n this._setAttrDataBviBody('speech', 'true')\n setCookie('speech', 'true')\n this._speech(`${this._i18n.v('speechOn')}`)\n activeLink(elements.speechOn)\n this._speechPlayer()\n })\n\n click(elements.speechOff, () => {\n this._speech(`${this._i18n.v('speechOff')}`)\n this._setAttrDataBviBody('speech', 'false')\n setCookie('speech', 'false')\n activeLink(elements.speechOff)\n this._speechPlayer()\n })\n\n // Line height\n click(elements.lineHeightNormal, () => {\n this._setAttrDataBviBody('lineHeight', 'normal')\n setCookie('lineHeight', 'normal')\n this._speech(`${this._i18n.v('lineHeightNormal')}`)\n activeLink(elements.lineHeightNormal)\n })\n\n click(elements.lineHeightAverage, () => {\n this._setAttrDataBviBody('lineHeight', 'average')\n setCookie('lineHeight', 'average')\n this._speech(`${this._i18n.v('lineHeightAverage')}`)\n activeLink(elements.lineHeightAverage)\n })\n\n click(elements.lineHeightBig, () => {\n this._setAttrDataBviBody('lineHeight', 'big')\n setCookie('lineHeight', 'big')\n this._speech(`${this._i18n.v('lineHeightBig')}`)\n activeLink(elements.lineHeightBig)\n })\n\n // Letter spacing\n click(elements.letterSpacingNormal, () => {\n this._setAttrDataBviBody('letterSpacing', 'normal')\n setCookie('letterSpacing', 'normal')\n this._speech(`${this._i18n.v('LetterSpacingNormal')}`)\n activeLink(elements.letterSpacingNormal)\n })\n\n click(elements.letterSpacingAverage, () => {\n this._setAttrDataBviBody('letterSpacing', 'average')\n setCookie('letterSpacing', 'average')\n this._speech(`${this._i18n.v('LetterSpacingAverage')}`)\n activeLink(elements.letterSpacingAverage)\n })\n\n click(elements.letterSpacingBig, () => {\n this._setAttrDataBviBody('letterSpacing', 'big')\n setCookie('letterSpacing', 'big')\n this._speech(`${this._i18n.v('LetterSpacingBig')}`)\n activeLink(elements.letterSpacingBig)\n })\n\n // Font family\n click(elements.fontFamilyArial, () => {\n this._setAttrDataBviBody('fontFamily', 'arial')\n setCookie('fontFamily', 'arial')\n this._speech(`${this._i18n.v('fontArial')}`)\n activeLink(elements.fontFamilyArial)\n })\n\n click(elements.fontFamilyTimes, () => {\n this._setAttrDataBviBody('fontFamily', 'times')\n setCookie('fontFamily', 'times')\n this._speech(`${this._i18n.v('fontTimes')}`)\n activeLink(elements.fontFamilyTimes)\n })\n\n // Built elements\n click(elements.builtElementsOn, () => {\n this._setAttrDataBviBody('builtElements', 'true')\n setCookie('builtElements', 'true')\n this._speech(`${this._i18n.v('builtElementsOn')}`)\n activeLink(elements.builtElementsOn)\n })\n\n click(elements.builtElementsOff, () => {\n this._setAttrDataBviBody('builtElements', 'false')\n setCookie('builtElements', 'false')\n this._speech(`${this._i18n.v('builtElementsOFF')}`)\n activeLink(elements.builtElementsOff)\n })\n\n // Reset\n click(elements.reset, () => {\n this._speech(`${this._i18n.v('resetSettings')}`)\n getObject(this._config, key => {\n this._setAttrDataBviBody(key, this._config[key])\n setCookie(key, this._config[key])\n activeAll()\n })\n })\n\n getArray(elements.links, element => {\n click(element, event => {\n let target = event.target.getAttribute('data-bvi')\n\n if (target === 'close') {\n this._setAttrDataBviBody('panelActive', 'false')\n setCookie('panelActive', 'false')\n this._init()\n }\n\n if (target === 'modal') {\n document.body.style.overflow = 'hidden'\n document.body.classList.add('bvi-noscroll')\n elements.modal.classList.toggle('show')\n }\n\n if (target === 'modal-close') {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n\n if (target === 'panel-hide') {\n document.querySelector('.bvi-panel').classList.add('bvi-panel-hide')\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-hide')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-show')\n setCookie('panelHide', 'true')\n this._speech(`${this._i18n.v('panelHide')}`)\n }\n\n if (target === 'panel-show') {\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-show')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-hide')\n document.querySelector('.bvi-panel').classList.remove('bvi-panel-hide')\n setCookie('panelHide', 'false')\n this._speech(`${this._i18n.v('panelShow')}`)\n }\n })\n })\n\n click(elements.modal, event => {\n if (event.target.contains(elements.modal)) {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n })\n }\n\n _getPanel() {\n const scroll = () => {\n let scroll = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop\n\n if (stringToBoolean(getCookie('panelFixed'))) {\n if (scroll > 200) {\n document.querySelector('.bvi-panel').classList.add('bvi-fixed-top')\n } else {\n document.querySelector('.bvi-panel').classList.remove('bvi-fixed-top')\n }\n }\n }\n\n let panelHide = stringToBoolean(getCookie('panelHide')) ? ' bvi-panel-hide' : ''\n let linkHide = !stringToBoolean(getCookie('panelHide')) ? ' bvi-hide' : 'bvi-show'\n let html = `\n
\n
\n
\n
${this._i18n.t('fontSize')}
\n А-\n А+\n
\n
\n
${this._i18n.t('siteColors')}
\n Ц\n Ц\n Ц\n Ц\n Ц\n
\n
\n
${this._i18n.t('images')}
\n \n \n \n \n \n \n \n \n \n
\n
\n
${this._i18n.t('speech')}
\n \n \n \n \n \n \n
\n
\n
${this._i18n.t('settings')}
\n \n \n \n \n ${this._i18n.t('regularVersionOfTheSite')}\n \n \n \n \n
\n
\n
\n
\n
\n
\n
${this._i18n.t('settings')}
\n ×\n
\n
\n
\n \n \n
\n
${this._i18n.t('font')}
\n ${this._i18n.t('arial')}\n ${this._i18n.t('times')}\n
\n
\n
${this._i18n.t('builtElements')}
\n ${this._i18n.t('on')}\n ${this._i18n.t('off')}\n
\n
\n \n
\n \n
\n
\n
\n
`\n\n let link = `` +\n ''\n\n window.addEventListener('scroll', scroll)\n document.querySelector('.bvi-body').insertAdjacentHTML('beforebegin', html)\n document.querySelector('.bvi-body').insertAdjacentHTML('afterbegin', link)\n scroll()\n }\n\n _set() {\n document.body.classList.add('bvi-active')\n wrapInner(document.body, 'div', 'bvi-body')\n getObject(this._config, key => this._setAttrDataBviBody(key, getCookie(key)))\n getArray(this._elements, element => element.style.display = 'none')\n\n document.querySelectorAll('img')\n .forEach(element => {\n if (element.classList.contains('bvi-img')) {\n element.classList.remove('bvi-img')\n }\n })\n\n document.querySelectorAll('body *')\n .forEach(element => {\n if (element.classList.contains('bvi-background-image')) {\n element.classList.remove('bvi-background-image')\n }\n })\n }\n\n _remove() {\n let bviPanel = document.querySelector('.bvi-panel')\n let bviBody = document.querySelector('.bvi-body')\n let bviLinkFixedTop = document.querySelector('.bvi-link-fixed-top')\n\n if (bviPanel) {\n bviPanel.remove()\n }\n\n if (bviBody) {\n unwrap(bviBody)\n }\n\n if (bviLinkFixedTop) {\n bviLinkFixedTop.remove()\n }\n\n this._speech(`${this._i18n.v('panelOff')}`)\n\n document.body.classList.remove('bvi-active')\n\n getArray(this._elements, element => element.style.display = '')\n\n if (stringToBoolean(getCookie('reload'))) {\n document.location.reload()\n }\n\n getObject(this._config, key => {\n removeCookie(key)\n })\n\n this._speechPlayer()\n\n removeCookie('panelActive')\n }\n\n _images() {\n document.querySelectorAll('img').forEach(element => {\n if (!element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-img')\n }\n })\n\n document.querySelectorAll('.bvi-body *').forEach(element => {\n let style = getComputedStyle(element)\n if (style.backgroundImage !== 'none' && style.background !== 'none' && !element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-background-image')\n }\n })\n }\n\n _getConfig(config) {\n config = {...Default, ...config}\n let extended = {}\n\n for (let keyDefault in Default) {\n extended[keyDefault] = config[keyDefault]\n }\n\n checkConfig(extended, DefaultType, DefaultOptions)\n\n return extended\n }\n\n _setAttrDataBviBody(name = '', value = '') {\n document.querySelector('.bvi-body').setAttribute(`data-bvi-${name}`, value)\n }\n\n _speechPlayer() {\n let selectorSpeechText = document.querySelectorAll('.bvi-speech-text')\n let selectorSpeechLink = document.querySelectorAll('.bvi-speech-link')\n let selectorBviSpeech = document.querySelectorAll('.bvi-speech')\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n if (selectorBviSpeech) {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n\n selectorBviSpeech.forEach((speechDivBlock, index) => {\n let id = `bvi-speech-text-id-${index + 1}`\n let html = `\n `\n\n wrapInner(speechDivBlock, 'div', `bvi-speech-text ${id}`)\n speechDivBlock.insertAdjacentHTML('afterbegin', html)\n })\n\n let selectorPlay = document.querySelectorAll('.bvi-speech-play')\n let selectorPause = document.querySelectorAll('.bvi-speech-pause')\n let selectorResume = document.querySelectorAll('.bvi-speech-resume')\n let selectorStop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n if (typeof callback === 'function') {\n return callback(element, event)\n }\n }, false)\n })\n }\n\n el(selectorPlay, (element, event) => {\n let target = event.target\n let text = target.parentNode.nextElementSibling;\n let closest = event.target.closest('.bvi-speech-link')\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n\n this._speech(text.textContent, text, true);\n\n play.forEach(element => element.classList.remove('disabled'))\n pause.forEach(element => element.classList.add('disabled'))\n resume.forEach(element => element.classList.add('disabled'))\n stop.forEach(element => element.classList.add('disabled'))\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n closest.querySelector('.bvi-speech-stop').classList.remove('disabled')\n })\n\n el(selectorPause, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-resume').classList.remove('disabled')\n synth().pause()\n })\n\n el(selectorResume, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n synth().resume()\n })\n\n el(selectorStop, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.add('disabled')\n closest.querySelector('.bvi-speech-play').classList.remove('disabled')\n synth().cancel();\n })\n }\n } else {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n }\n }\n\n _speech(text, element, echo = false) {\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n synth().cancel()\n const getWordAt = (str, pos) => {\n str = String(str)\n pos = Number(pos) >>> 0\n\n let left = str.slice(0, pos + 1).search(/\\S+$/)\n let right = str.slice(pos).search(/\\s/)\n\n if (right < 0) {\n return str.slice(left)\n }\n return str.slice(left, right + pos)\n }\n\n let chunkLength = 120\n let patternRegex = new RegExp('^[\\\\s\\\\S]{' + Math.floor(chunkLength / 2) + ',' + chunkLength + '}[.!?,]{1}|^[\\\\s\\\\S]{1,' + chunkLength + '}$|^[\\\\s\\\\S]{1,' + chunkLength + '} ')\n let array = []\n let $text = text\n let voices = synth().getVoices()\n\n while ($text.length > 0) {\n array.push($text.match(patternRegex)[0])\n $text = $text.substring(array[array.length - 1].length)\n }\n\n array.forEach(getText => {\n let utter = new SpeechSynthesisUtterance(getText.trim())\n utter.volume = 1\n utter.rate = 1\n utter.pitch = 1\n utter.lang = this._config.lang\n\n for (let i = 0; i < voices.length; i++) {\n if (this._config.lang === 'ru-RU' && voices[i].name === 'Microsoft Pavel - Russian (Russia)') {\n utter.voice = voices[i]\n }\n\n if (this._config.lang === 'en-US' && voices[i].name === 'Microsoft Pavel - English (English)') {\n utter.voice = voices[i]\n }\n }\n\n if (echo) {\n utter.onboundary = event => {\n\n element.classList.add('bvi-highlighting')\n let world = getWordAt(event.utterance.text, event.charIndex)\n let textContent = element.textContent\n let term = world.replace(/(\\s+)/, '((<[^>]+>)*$1(<[^>]+>)*)')\n let pattern = new RegExp('(' + term + ')', 'gi')\n textContent = textContent.replace(pattern, '$1')\n textContent = textContent.replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\\/mark>)/, '$1$2$4')\n element.innerHTML = textContent\n }\n\n utter.onend = event => {\n element.classList.remove('bvi-highlighting')\n let textContent = element.textContent\n textContent = textContent.replace(/($1<\\/mark>)/, '$1')\n element.innerHTML = textContent\n }\n }\n\n synth().speak(utter)\n })\n }\n }\n}\n\nexport default Bvi\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): index.umd.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n/*import 'core-js/stable';*/\nimport 'regenerator-runtime/runtime'\nimport Bvi from './bvi'\n\nexport default { Bvi }\n"],"names":["undefined","arr","forEach","item","hasOwnProperty","Object","defineProperty","configurable","enumerable","writable","value","prepend","argArr","Array","prototype","slice","call","arguments","docFrag","document","createDocumentFragment","argItem","isNode","Node","appendChild","createTextNode","String","insertBefore","firstChild","Element","Document","DocumentFragment","window","NodeList","HTMLCollection","toType","obj","toString","match","toLowerCase","isElement","nodeType","checkConfig","config","configTypes","configOptions","keys","key","expectedTypes","valueType","RegExp","test","TypeError","expectedOptions","stringToBoolean","string","wrapInner","parent","wrapper","className","createElement","unwrap","child","removeChild","parentNode","replaceChild","getObject","object","callback","getArray","array","from","synth","speechSynthesis","setCookie","name","now","Date","time","getTime","setTime","cookie","toUTCString","location","hostname","host","getCookie","decodedCookie","decodeURIComponent","cookies","split","i","length","trim","indexOf","substring","removeCookie","lang","I18n","options","_config","Default","target","fontSize","theme","images","letterSpacing","lineHeight","speech","fontFamily","builtElements","panelFixed","panelHide","reload","DefaultType","DefaultOptions","Bvi","_getConfig","_elements","querySelectorAll","_i18n","_addEventListeners","_init","console","log","_set","_getPanel","_addEventListenersPanel","_images","_speechPlayer","setInterval","pending","play","pause","resume","stop","el","elements","element","classList","remove","add","_remove","addEventListener","event","preventDefault","_speech","v","fontSizeMinus","querySelector","fontSizePlus","themeWhite","themeBlack","themeBlue","themeBrown","themeGreen","imagesOn","imagesOff","imagesGrayscale","speechOn","speechOff","lineHeightNormal","lineHeightAverage","lineHeightBig","letterSpacingNormal","letterSpacingAverage","letterSpacingBig","fontFamilyArial","fontFamilyTimes","builtElementsOn","builtElementsOff","reset","links","modal","activeLink","children","sibling","click","activeAll","link","size","parseFloat","_setAttrDataBviBody","getAttribute","body","style","overflow","toggle","contains","scroll","pageYOffset","documentElement","scrollTop","linkHide","html","t","insertAdjacentHTML","display","bviPanel","bviBody","bviLinkFixedTop","getComputedStyle","backgroundImage","background","extended","keyDefault","setAttribute","selectorSpeechText","selectorSpeechLink","selectorBviSpeech","speechDivBlock","index","id","selectorPlay","selectorPause","selectorResume","selectorStop","text","nextElementSibling","closest","textContent","cancel","echo","getWordAt","str","pos","Number","left","search","right","chunkLength","patternRegex","Math","floor","$text","voices","getVoices","push","getText","utter","SpeechSynthesisUtterance","volume","rate","pitch","voice","onboundary","world","utterance","charIndex","term","replace","pattern","innerHTML","onend","speak"],"mappings":"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"} \ No newline at end of file diff --git a/dist/js/bvi.min.js b/dist/js/bvi.min.js index 58e9d48..7070e78 100644 --- a/dist/js/bvi.min.js +++ b/dist/js/bvi.min.js @@ -1,7 +1,7 @@ /*! * Button visually impaired - v1.0.0 https://bvi.isvek.ru - * Copyright 2014-2021 Oleg Korotenko . + * Copyright 2014-2022 Oleg Korotenko . * Licensed MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md) */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).isvek=t()}(this,(function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=0;--o){var a=this.tryEntries[o],c=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(l&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),A(n),b}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var i=n.completion;if("throw"===i.type){var r=i.arg;A(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,i){return this.delegate={iterator:x(e),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),b}},e}({});try{regeneratorRuntime=t}catch(e){"object"===("undefined"==typeof globalThis?"undefined":n(globalThis))?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(),[Element.prototype,Document.prototype,DocumentFragment.prototype].forEach((function(e){e.hasOwnProperty("prepend")||Object.defineProperty(e,"prepend",{configurable:!0,enumerable:!0,writable:!0,value:function(){var e=Array.prototype.slice.call(arguments),t=document.createDocumentFragment();e.forEach((function(e){var n=e instanceof Node;t.appendChild(n?e:document.createTextNode(String(e)))})),this.insertBefore(t,this.firstChild)}})})),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach);var l=function(e){switch(e){case"on":case"true":case"1":return!0;default:return!1}},s=function(e,t,n){for("string"==typeof t&&(t=document.createElement(t)),e.appendChild(t).className=n;e.firstChild!==t;)t.appendChild(e.firstChild)},u=function(e){var t=document.createDocumentFragment();if(e){for(;e.firstChild;){var n=e.removeChild(e.firstChild);t.appendChild(n)}e.parentNode.replaceChild(t,e)}},v=function(e,t){Object.keys(e).forEach((function(e){"function"==typeof t&&t(e)}))},f=function(e,t){Array.from(e).forEach((function(e){"function"==typeof t&&t(e)}))},h=function(){return window.speechSynthesis},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=new Date,i=n.getTime();i+=864e5,n.setTime(i),document.cookie="bvi_".concat(e,"=").concat(t,";path=/;expires=").concat(n.toUTCString(),";domain=").concat(location.host)},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";e="bvi_".concat(e,"=");for(var t=decodeURIComponent(document.cookie),n=t.split(";"),i=0;i0&&void 0!==arguments[0]?arguments[0]:"";document.cookie="bvi_".concat(e,"=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=").concat(location.host)},g={"ru-RU":{text:{fontSize:"Размер шрифта",siteColors:"Цвета сайта",images:"Изображения",speech:"Синтез речи",settings:"Настройки",regularVersionOfTheSite:"Обычная версия сайта",letterSpacing:"Межбуквенное расстояние",normal:"Стандартный",average:"Средний",big:"Большой",lineHeight:"Межстрочный интервал",font:"Шрифт",arial:"Без засечек",times:"С засечками",builtElements:"Встроенные элементы (Видео, карты и тд.)",on:"Включить",off:"Выключить",reset:"Сбросить настройки",plural_0:"пиксель",plural_1:"пекселя",plural_2:"пикселей"},voice:{fontSizePlus:"Размер шрифта увели́чен",fontSizeMinus:"Размер шрифта уме́ньшен",siteColorBlackOnWhite:"Цвет сайта черным по белому",siteColorWhiteOnBlack:"Цвет сайта белым по черному",siteColorDarkBlueOnBlue:"Цвет сайта тёмно-синим по голубому",siteColorBeigeBrown:"Цвет сайта кори́чневым по бе́жевому",siteColorGreenOnDarkBrown:"Цвет сайта зеленым по тёмно-коричневому",imagesOn:"Изображения включены",imagesOFF:"Изображения выключены",imagesGrayscale:"Изображения чёрно-белые",speechOn:"Синтез речи включён",speechOff:"Синтез речи вы́ключен",lineHeightNormal:"Межстрочный интервал стандартный",lineHeightAverage:"Межстрочный интервал средний",lineHeightBig:"Межстрочный интервал большой",LetterSpacingNormal:"Интервал между буквами стандартный",LetterSpacingAverage:"Интервал между буквами средний",LetterSpacingBig:"Интервал между буквами большой",fontArial:"Шрифт без засечек",fontTimes:"Шрифт с засечками",builtElementsOn:"Встроенные элементы включены",builtElementsOFF:"Встроенные элементы выключены",resetSettings:"Установлены настройки по умолча́нию",panelShow:"Панель открыта",panelHide:"Панель скрыта",panelOn:"Версия сайта для слабови́дящий",panelOff:"Обычная версия сайта"}},"en-US":{text:{fontSize:"Font size",siteColors:"Site colors",images:"Images",speech:"Speech synthesis",settings:"Settings",regularVersionOfTheSite:"Regular version Of The site",letterSpacing:"Letter spacing",normal:"Single",average:"One and a half",big:"Double",lineHeight:"Line spacing",font:"Font",arial:"Sans Serif - Arial",times:"Serif - Times New Roman",builtElements:"Include inline elements (Videos, maps, etc.)",on:"Enable",off:"Disabled",reset:"Reset settings",plural_0:"pixel",plural_1:"pixels",plural_2:"pixels"},voice:{fontSizePlus:"Font size increased",fontSizeMinus:"Font size reduced",siteColorBlackOnWhite:"Site color black on white",siteColorWhiteOnBlack:"Site color white on black",siteColorDarkBlueOnBlue:"Site color dark blue on cyan",siteColorBeigeBrown:"SiteColorBeigeBrown",siteColorGreenOnDarkBrown:"Site color green on dark brown",imagesOn:"Images enable",imagesOFF:"Images disabled",imagesGrayscale:"Images gray scale",speechOn:"Synthesis speech enable",speechOff:"Synthesis speech disabled",lineHeightNormal:"Line spacing single",lineHeightAverage:"Line spacing one and a half",lineHeightBig:"Line spacing double",LetterSpacingNormal:"Letter spacing single",LetterSpacingAverage:"Letter spacing one and a half",LetterSpacingBig:"Letter spacing letter double",fontArial:"Sans Serif - Arial",fontTimes:"Serif - Times New Roman",builtElementsOn:"Include inline elements are enabled",builtElementsOFF:"Include inline elements are disabled",resetSettings:"Default settings have been set",panelShow:"Panel show",panelHide:"Panel hide",panelOn:"Site version for visually impaired",panelOff:"Regular version of the site"}}},p=function(){function e(t){i(this,e),this._config=t}return o(e,[{key:"t",value:function(e){return g[this._config.lang].text[e]}},{key:"v",value:function(e){return g[this._config.lang].voice[e]}}]),e}(),y={target:".bvi-open",fontSize:16,theme:"white",images:"grayscale",letterSpacing:"normal",lineHeight:"normal",speech:!0,fontFamily:"arial",builtElements:!1,panelFixed:!0,panelHide:!1,reload:!1,lang:"ru-RU"},S={target:"string",fontSize:"number",theme:"string",images:"(string|boolean)",letterSpacing:"string",lineHeight:"string",speech:"boolean",fontFamily:"string",builtElements:"boolean",panelFixed:"boolean",panelHide:"boolean",reload:"boolean",lang:"string"},_={target:"",fontSize:"(^[1-9]$|^[1-3][0-9]?$|^39$)",theme:"(white|black|blue|brown|green)",images:"(true|false|grayscale)",letterSpacing:"(normal|average|big)",lineHeight:"(normal|average|big)",speech:"(true|false)",fontFamily:"(arial|times)",builtElements:"(true|false)",panelFixed:"(true|false)",panelHide:"(true|false)",reload:"(true|false)",lang:"(ru-RU|en-US)"};return{Bvi:function(){function e(t){i(this,e),this._config=this._getConfig(t),this._elements=document.querySelectorAll(this._config.target),this._i18n=new p({lang:this._config.lang}),this._addEventListeners(),this._init(),console.log("Bvi console: ready Button visually impaired v1.0.0")}return o(e,[{key:"_init",value:function(){v(this._config,(function(e){void 0===m(e)&&b("panelActive")})),l(m("panelActive"))?(this._set(),this._getPanel(),this._addEventListenersPanel(),this._images(),this._speechPlayer(),"speechSynthesis"in window&&l(m("speech"))&&setInterval((function(){if(!1===h().pending){var e=document.querySelectorAll(".bvi-speech-play"),t=document.querySelectorAll(".bvi-speech-pause"),n=document.querySelectorAll(".bvi-speech-resume"),i=document.querySelectorAll(".bvi-speech-stop"),r=function(e,t){e.forEach((function(e){return t(e)}))};r(e,(function(e){return e.classList.remove("disabled")})),r(t,(function(e){return e.classList.add("disabled")})),r(n,(function(e){return e.classList.add("disabled")})),r(i,(function(e){return e.classList.add("disabled")}))}}),1e3)):this._remove()}},{key:"_addEventListeners",value:function(){var e=this;if(!this._elements)return!1;this._elements.forEach((function(t){t.addEventListener("click",(function(t){t.preventDefault(),v(e._config,(function(t){return d(t,e._config[t])})),d("panelActive",!0),e._init(),e._speech("".concat(e._i18n.v("panelOn")))}))}))}},{key:"_addEventListenersPanel",value:function(){var e=this,t={fontSizeMinus:document.querySelector(".bvi-fontSize-minus"),fontSizePlus:document.querySelector(".bvi-fontSize-plus"),themeWhite:document.querySelector(".bvi-theme-white"),themeBlack:document.querySelector(".bvi-theme-black"),themeBlue:document.querySelector(".bvi-theme-blue"),themeBrown:document.querySelector(".bvi-theme-brown"),themeGreen:document.querySelector(".bvi-theme-green"),imagesOn:document.querySelector(".bvi-images-on"),imagesOff:document.querySelector(".bvi-images-off"),imagesGrayscale:document.querySelector(".bvi-images-grayscale"),speechOn:document.querySelector(".bvi-speech-on"),speechOff:document.querySelector(".bvi-speech-off"),lineHeightNormal:document.querySelector(".bvi-line-height-normal"),lineHeightAverage:document.querySelector(".bvi-line-height-average"),lineHeightBig:document.querySelector(".bvi-line-height-big"),letterSpacingNormal:document.querySelector(".bvi-letter-spacing-normal"),letterSpacingAverage:document.querySelector(".bvi-letter-spacing-average"),letterSpacingBig:document.querySelector(".bvi-letter-spacing-big"),fontFamilyArial:document.querySelector(".bvi-font-family-arial"),fontFamilyTimes:document.querySelector(".bvi-font-family-times"),builtElementsOn:document.querySelector(".bvi-built-elements-on"),builtElementsOff:document.querySelector(".bvi-built-elements-off"),reset:document.querySelector(".bvi-reset"),links:document.querySelectorAll(".bvi-link"),modal:document.querySelector(".bvi-modal")},n=function(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw o}}}}(e.parentNode.children);try{for(n.s();!(t=n.n()).done;)t.value.classList.remove("active")}catch(e){n.e(e)}finally{n.f()}e.classList.add("active")},i=function(e,t){e.addEventListener("click",(function(e){e.preventDefault(),"function"==typeof t&&t(e)}))},r=function(){document.querySelectorAll(".bvi-link").forEach((function(e){e.classList.remove("active")})),v(e._config,(function(e){if("theme"===e){var t=m(e);document.querySelector(".bvi-theme-".concat(t)).classList.add("active")}if("images"===e){var n="grayscale"===m(e)?"grayscale":l(m(e))?"on":"off";document.querySelector(".bvi-images-".concat(n)).classList.add("active")}if("speech"===e){var i=l(m(e))?"on":"off";document.querySelector(".bvi-speech-".concat(i)).classList.add("active")}if("lineHeight"===e){var r=m(e);document.querySelector(".bvi-line-height-".concat(r)).classList.add("active")}if("letterSpacing"===e){var o=m(e);document.querySelector(".bvi-letter-spacing-".concat(o)).classList.add("active")}if("fontFamily"===e){var a=m(e);document.querySelector(".bvi-font-family-".concat(a)).classList.add("active")}if("builtElements"===e){var c=l(m(e))?"on":"off";document.querySelector(".bvi-built-elements-".concat(c)).classList.add("active")}}))};r(),i(t.fontSizeMinus,(function(){var i=parseFloat(m("fontSize"))-1;0!==i&&(e._setAttrDataBviBody("fontSize",i),d("fontSize",i),e._speech("".concat(e._i18n.v("fontSizeMinus"))),n(t.fontSizeMinus))})),i(t.fontSizePlus,(function(){var i=parseFloat(m("fontSize"))+1;40!==i&&(e._setAttrDataBviBody("fontSize",i),d("fontSize",i),e._speech("".concat(e._i18n.v("fontSizePlus"))),n(t.fontSizePlus))})),i(t.themeWhite,(function(){e._setAttrDataBviBody("theme","white"),d("theme","white"),e._speech("".concat(e._i18n.v("siteColorBlackOnWhite"))),n(t.themeWhite)})),i(t.themeBlack,(function(){e._setAttrDataBviBody("theme","black"),d("theme","black"),e._speech("".concat(e._i18n.v("siteColorWhiteOnBlack"))),n(t.themeBlack)})),i(t.themeBlue,(function(){e._setAttrDataBviBody("theme","blue"),d("theme","blue"),e._speech("".concat(e._i18n.v("siteColorDarkBlueOnBlue"))),n(t.themeBlue)})),i(t.themeBrown,(function(){e._setAttrDataBviBody("theme","brown"),d("theme","brown"),e._speech("".concat(e._i18n.v("siteColorBeigeBrown"))),n(t.themeBrown)})),i(t.themeGreen,(function(){e._setAttrDataBviBody("theme","green"),d("theme","green"),e._speech("".concat(e._i18n.v("siteColorGreenOnDarkBrown"))),n(t.themeGreen)})),i(t.imagesOn,(function(){e._setAttrDataBviBody("images","true"),d("images","true"),e._speech("".concat(e._i18n.v("imagesOn"))),n(t.imagesOn)})),i(t.imagesOff,(function(){e._setAttrDataBviBody("images","false"),d("images","false"),e._speech("".concat(e._i18n.v("imagesOFF"))),n(t.imagesOff)})),i(t.imagesGrayscale,(function(){e._setAttrDataBviBody("images","grayscale"),d("images","grayscale"),e._speech("".concat(e._i18n.v("imagesGrayscale"))),n(t.imagesGrayscale)})),i(t.speechOn,(function(){e._setAttrDataBviBody("speech","true"),d("speech","true"),e._speech("".concat(e._i18n.v("speechOn"))),n(t.speechOn),e._speechPlayer()})),i(t.speechOff,(function(){e._speech("".concat(e._i18n.v("speechOff"))),e._setAttrDataBviBody("speech","false"),d("speech","false"),n(t.speechOff),e._speechPlayer()})),i(t.lineHeightNormal,(function(){e._setAttrDataBviBody("lineHeight","normal"),d("lineHeight","normal"),e._speech("".concat(e._i18n.v("lineHeightNormal"))),n(t.lineHeightNormal)})),i(t.lineHeightAverage,(function(){e._setAttrDataBviBody("lineHeight","average"),d("lineHeight","average"),e._speech("".concat(e._i18n.v("lineHeightAverage"))),n(t.lineHeightAverage)})),i(t.lineHeightBig,(function(){e._setAttrDataBviBody("lineHeight","big"),d("lineHeight","big"),e._speech("".concat(e._i18n.v("lineHeightBig"))),n(t.lineHeightBig)})),i(t.letterSpacingNormal,(function(){e._setAttrDataBviBody("letterSpacing","normal"),d("letterSpacing","normal"),e._speech("".concat(e._i18n.v("LetterSpacingNormal"))),n(t.letterSpacingNormal)})),i(t.letterSpacingAverage,(function(){e._setAttrDataBviBody("letterSpacing","average"),d("letterSpacing","average"),e._speech("".concat(e._i18n.v("LetterSpacingAverage"))),n(t.letterSpacingAverage)})),i(t.letterSpacingBig,(function(){e._setAttrDataBviBody("letterSpacing","big"),d("letterSpacing","big"),e._speech("".concat(e._i18n.v("LetterSpacingBig"))),n(t.letterSpacingBig)})),i(t.fontFamilyArial,(function(){e._setAttrDataBviBody("fontFamily","arial"),d("fontFamily","arial"),e._speech("".concat(e._i18n.v("fontArial"))),n(t.fontFamilyArial)})),i(t.fontFamilyTimes,(function(){e._setAttrDataBviBody("fontFamily","times"),d("fontFamily","times"),e._speech("".concat(e._i18n.v("fontTimes"))),n(t.fontFamilyTimes)})),i(t.builtElementsOn,(function(){e._setAttrDataBviBody("builtElements","true"),d("builtElements","true"),e._speech("".concat(e._i18n.v("builtElementsOn"))),n(t.builtElementsOn)})),i(t.builtElementsOff,(function(){e._setAttrDataBviBody("builtElements","false"),d("builtElements","false"),e._speech("".concat(e._i18n.v("builtElementsOFF"))),n(t.builtElementsOff)})),i(t.reset,(function(){e._speech("".concat(e._i18n.v("resetSettings"))),v(e._config,(function(t){e._setAttrDataBviBody(t,e._config[t]),d(t,e._config[t]),r()}))})),f(t.links,(function(n){i(n,(function(n){var i=n.target.getAttribute("data-bvi");"close"===i&&(e._setAttrDataBviBody("panelActive","false"),d("panelActive","false"),e._init()),"modal"===i&&(document.body.style.overflow="hidden",document.body.classList.add("bvi-noscroll"),t.modal.classList.toggle("show")),"modal-close"===i&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show")),"panel-hide"===i&&(document.querySelector(".bvi-panel").classList.add("bvi-panel-hide"),document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-hide"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-show"),d("panelHide","true"),e._speech("".concat(e._i18n.v("panelHide")))),"panel-show"===i&&(document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-show"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-hide"),document.querySelector(".bvi-panel").classList.remove("bvi-panel-hide"),d("panelHide","false"),e._speech("".concat(e._i18n.v("panelShow"))))}))})),i(t.modal,(function(e){e.target.contains(t.modal)&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show"))}))}},{key:"_getPanel",value:function(){var e=function(){var e=void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;l(m("panelFixed"))&&(e>200?document.querySelector(".bvi-panel").classList.add("bvi-fixed-top"):document.querySelector(".bvi-panel").classList.remove("bvi-fixed-top"))},t=l(m("panelHide"))?" bvi-panel-hide":"",n=l(m("panelHide"))?"bvi-show":" bvi-hide",i="\n
\n
\n
\n
').concat(this._i18n.t("fontSize"),'
\n А-\n А+\n
\n
\n
').concat(this._i18n.t("siteColors"),'
\n Ц\n Ц\n Ц\n Ц\n Ц\n
\n
\n
').concat(this._i18n.t("images"),'
\n \n \n \n \n \n \n \n \n \n
\n
\n
').concat(this._i18n.t("speech"),'
\n \n \n \n \n \n \n
\n
\n
').concat(this._i18n.t("settings"),'
\n \n \n \n \n ').concat(this._i18n.t("regularVersionOfTheSite"),'\n \n \n \n \n
\n
\n
\n
\n
\n
\n
').concat(this._i18n.t("settings"),'
\n ×\n
\n
\n
\n \n \n
\n
').concat(this._i18n.t("font"),'
\n ').concat(this._i18n.t("arial"),'\n ').concat(this._i18n.t("times"),'\n
\n
\n
').concat(this._i18n.t("builtElements"),'
\n ').concat(this._i18n.t("on"),'\n ').concat(this._i18n.t("off"),'\n
\n
\n \n
\n \n
\n
\n
\n
"),r='')+'';window.addEventListener("scroll",e),document.querySelector(".bvi-body").insertAdjacentHTML("beforebegin",i),document.querySelector(".bvi-body").insertAdjacentHTML("afterbegin",r),e()}},{key:"_set",value:function(){var e=this;document.body.classList.add("bvi-active"),s(document.body,"div","bvi-body"),v(this._config,(function(t){return e._setAttrDataBviBody(t,m(t))})),f(this._elements,(function(e){return e.style.display="none"})),document.querySelectorAll("img").forEach((function(e){e.classList.contains("bvi-img")&&e.classList.remove("bvi-img")})),document.querySelectorAll("body *").forEach((function(e){e.classList.contains("bvi-background-image")&&e.classList.remove("bvi-background-image")}))}},{key:"_remove",value:function(){var e=document.querySelector(".bvi-panel"),t=document.querySelector(".bvi-body"),n=document.querySelector(".bvi-link-fixed-top");e&&e.remove(),t&&u(t),n&&n.remove(),this._speech("".concat(this._i18n.v("panelOff"))),document.body.classList.remove("bvi-active"),f(this._elements,(function(e){return e.style.display=""})),l(m("reload"))&&document.location.reload(),v(this._config,(function(e){b(e)})),this._speechPlayer(),b("panelActive")}},{key:"_images",value:function(){document.querySelectorAll("img").forEach((function(e){e.classList.contains("bvi-no-style")||e.classList.add("bvi-img")})),document.querySelectorAll(".bvi-body *").forEach((function(e){var t=getComputedStyle(e);"none"===t.backgroundImage||"none"===t.background||e.classList.contains("bvi-no-style")||e.classList.add("bvi-background-image")}))}},{key:"_getConfig",value:function(e){e=t(t({},y),e);var i={};for(var r in y)i[r]=e[r];return function(e,t,i){Object.keys(t).forEach((function(i){var r,o=t[i],a=e[i],c=a&&(r=a)&&"object"===n(r)&&void 0!==r.nodeType?"element":function(e){return null==e?"".concat(e):{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()}(a);if(!new RegExp(o).test(c))throw new TypeError('Bvi console: Опция "'.concat(i,'" предоставленный тип "').concat(c,'", ожидаемый тип "').concat(o,'".'))})),Object.keys(i).forEach((function(t){var n=i[t],r=e[t];if(!new RegExp(n).test(r))throw new TypeError('Bvi console: Опция "'.concat(t,'" параметр "').concat(r,'", ожидаемый параметр "').concat(n,'".'))}))}(i,S,_),i}},{key:"_setAttrDataBviBody",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";document.querySelector(".bvi-body").setAttribute("data-bvi-".concat(e),t)}},{key:"_speechPlayer",value:function(){var e=this,t=document.querySelectorAll(".bvi-speech-text"),n=document.querySelectorAll(".bvi-speech-link"),i=document.querySelectorAll(".bvi-speech");if("speechSynthesis"in window&&l(m("speech"))){if(i){t&&t.forEach((function(e){return u(e)})),n&&n.forEach((function(e){return e.remove()})),i.forEach((function(e,t){var n="bvi-speech-text-id-".concat(t+1);s(e,"div","bvi-speech-text ".concat(n)),e.insertAdjacentHTML("afterbegin",'\n ')}));var r=document.querySelectorAll(".bvi-speech-play"),o=document.querySelectorAll(".bvi-speech-pause"),a=document.querySelectorAll(".bvi-speech-resume"),c=document.querySelectorAll(".bvi-speech-stop"),v=function(e,t){e.forEach((function(e){e.addEventListener("click",(function(n){if(n.preventDefault(),"function"==typeof t)return t(e,n)}),!1)}))};v(r,(function(t,n){var i=n.target,r=i.parentNode.nextElementSibling,o=n.target.closest(".bvi-speech-link"),a=document.querySelectorAll(".bvi-speech-play"),c=document.querySelectorAll(".bvi-speech-pause"),l=document.querySelectorAll(".bvi-speech-resume"),s=document.querySelectorAll(".bvi-speech-stop");e._speech(r.textContent,r,!0),a.forEach((function(e){return e.classList.remove("disabled")})),c.forEach((function(e){return e.classList.add("disabled")})),l.forEach((function(e){return e.classList.add("disabled")})),s.forEach((function(e){return e.classList.add("disabled")})),i.classList.add("disabled"),o.querySelector(".bvi-speech-pause").classList.remove("disabled"),o.querySelector(".bvi-speech-stop").classList.remove("disabled")})),v(o,(function(e,t){var n=t.target,i=t.target.closest(".bvi-speech-link");n.classList.add("disabled"),i.querySelector(".bvi-speech-resume").classList.remove("disabled"),h().pause()})),v(a,(function(e,t){var n=t.target,i=t.target.closest(".bvi-speech-link");n.classList.add("disabled"),i.querySelector(".bvi-speech-pause").classList.remove("disabled"),h().resume()})),v(c,(function(e,t){var n=t.target,i=t.target.closest(".bvi-speech-link");n.classList.add("disabled"),i.querySelector(".bvi-speech-pause").classList.add("disabled"),i.querySelector(".bvi-speech-play").classList.remove("disabled"),h().cancel()}))}}else t&&t.forEach((function(e){return u(e)})),n&&n.forEach((function(e){return e.remove()}))}},{key:"_speech",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("speechSynthesis"in window&&l(m("speech"))){h().cancel();for(var r=function(e,t){e=String(e),t=Number(t)>>>0;var n=e.slice(0,t+1).search(/\S+$/),i=e.slice(t).search(/\s/);return i<0?e.slice(n):e.slice(n,i+t)},o=120,a=new RegExp("^[\\s\\S]{"+Math.floor(o/2)+","+o+"}[.!?,]{1}|^[\\s\\S]{1,"+o+"}$|^[\\s\\S]{1,"+o+"} "),c=[],s=e,u=h().getVoices();s.length>0;)c.push(s.match(a)[0]),s=s.substring(c[c.length-1].length);c.forEach((function(e){var o=new SpeechSynthesisUtterance(e.trim());o.volume=1,o.rate=1,o.pitch=1,o.lang=n._config.lang;for(var a=0;a]+>)*$1(<[^>]+>)*)"),a=new RegExp("("+o+")","gi");i=(i=i.replace(a,"$1")).replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1$2$4"),t.innerHTML=i},o.onend=function(e){t.classList.remove("bvi-highlighting");var n=t.textContent;n=n.replace(/($1<\/mark>)/,"$1"),t.innerHTML=n}),h().speak(o)}))}}}]),e}()}})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).isvek=t()}(this,(function(){"use strict";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,i=new Array(t);n=0;--r){var a=this.tryEntries[r],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var l=i.call(a,"catchLoc"),s=i.call(a,"finallyLoc");if(l&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&i.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var i=n.completion;if("throw"===i.type){var o=i.arg;O(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,i){return this.delegate={iterator:q(e),resultName:n,nextLoc:i},"next"===this.method&&(this.arg=t),m}},e}({});try{regeneratorRuntime=t}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(),[Element.prototype,Document.prototype,DocumentFragment.prototype].forEach((function(e){e.hasOwnProperty("prepend")||Object.defineProperty(e,"prepend",{configurable:!0,enumerable:!0,writable:!0,value:function(){var e=Array.prototype.slice.call(arguments),t=document.createDocumentFragment();e.forEach((function(e){var n=e instanceof Node;t.appendChild(n?e:document.createTextNode(String(e)))})),this.insertBefore(t,this.firstChild)}})})),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach);var l=function(e){switch(e){case"on":case"true":case"1":return!0;default:return!1}},s=function(e,t,n){for("string"==typeof t&&(t=document.createElement(t)),e.appendChild(t).className=n;e.firstChild!==t;)t.appendChild(e.firstChild)},u=function(e){var t=document.createDocumentFragment();if(e){for(;e.firstChild;){var n=e.removeChild(e.firstChild);t.appendChild(n)}e.parentNode.replaceChild(t,e)}},v=function(e,t){Object.keys(e).forEach((function(e){"function"==typeof t&&t(e)}))},f=function(e,t){Array.from(e).forEach((function(e){"function"==typeof t&&t(e)}))},h=function(){return window.speechSynthesis},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=new Date,i=n.getTime();i+=864e5,n.setTime(i),document.cookie="bvi_".concat(e,"=").concat(t,";path=/;expires=").concat(n.toUTCString(),";domain=").concat("localhost"!==location.hostname?location.host:"localhost")},m=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";e="bvi_".concat(e,"=");for(var t=decodeURIComponent(document.cookie),n=t.split(";"),i=0;i0&&void 0!==arguments[0]?arguments[0]:"";document.cookie="bvi_".concat(e,"=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=").concat("localhost"!==location.hostname?location.host:"localhost")},g={"ru-RU":{text:{fontSize:"Размер шрифта",siteColors:"Цвета сайта",images:"Изображения",speech:"Синтез речи",settings:"Настройки",regularVersionOfTheSite:"Обычная версия сайта",letterSpacing:"Межбуквенное расстояние",normal:"Стандартный",average:"Средний",big:"Большой",lineHeight:"Межстрочный интервал",font:"Шрифт",arial:"Без засечек",times:"С засечками",builtElements:"Встроенные элементы (Видео, карты и тд.)",on:"Включить",off:"Выключить",reset:"Сбросить настройки",plural_0:"пиксель",plural_1:"пекселя",plural_2:"пикселей"},voice:{fontSizePlus:"Размер шрифта увели́чен",fontSizeMinus:"Размер шрифта уме́ньшен",siteColorBlackOnWhite:"Цвет сайта черным по белому",siteColorWhiteOnBlack:"Цвет сайта белым по черному",siteColorDarkBlueOnBlue:"Цвет сайта тёмно-синим по голубому",siteColorBeigeBrown:"Цвет сайта кори́чневым по бе́жевому",siteColorGreenOnDarkBrown:"Цвет сайта зеленым по тёмно-коричневому",imagesOn:"Изображения включены",imagesOFF:"Изображения выключены",imagesGrayscale:"Изображения чёрно-белые",speechOn:"Синтез речи включён",speechOff:"Синтез речи вы́ключен",lineHeightNormal:"Межстрочный интервал стандартный",lineHeightAverage:"Межстрочный интервал средний",lineHeightBig:"Межстрочный интервал большой",LetterSpacingNormal:"Интервал между буквами стандартный",LetterSpacingAverage:"Интервал между буквами средний",LetterSpacingBig:"Интервал между буквами большой",fontArial:"Шрифт без засечек",fontTimes:"Шрифт с засечками",builtElementsOn:"Встроенные элементы включены",builtElementsOFF:"Встроенные элементы выключены",resetSettings:"Установлены настройки по умолча́нию",panelShow:"Панель открыта",panelHide:"Панель скрыта",panelOn:"Версия сайта для слабови́дящий",panelOff:"Обычная версия сайта"}},"en-US":{text:{fontSize:"Font size",siteColors:"Site colors",images:"Images",speech:"Speech synthesis",settings:"Settings",regularVersionOfTheSite:"Regular version Of The site",letterSpacing:"Letter spacing",normal:"Single",average:"One and a half",big:"Double",lineHeight:"Line spacing",font:"Font",arial:"Sans Serif - Arial",times:"Serif - Times New Roman",builtElements:"Include inline elements (Videos, maps, etc.)",on:"Enable",off:"Disabled",reset:"Reset settings",plural_0:"pixel",plural_1:"pixels",plural_2:"pixels"},voice:{fontSizePlus:"Font size increased",fontSizeMinus:"Font size reduced",siteColorBlackOnWhite:"Site color black on white",siteColorWhiteOnBlack:"Site color white on black",siteColorDarkBlueOnBlue:"Site color dark blue on cyan",siteColorBeigeBrown:"SiteColorBeigeBrown",siteColorGreenOnDarkBrown:"Site color green on dark brown",imagesOn:"Images enable",imagesOFF:"Images disabled",imagesGrayscale:"Images gray scale",speechOn:"Synthesis speech enable",speechOff:"Synthesis speech disabled",lineHeightNormal:"Line spacing single",lineHeightAverage:"Line spacing one and a half",lineHeightBig:"Line spacing double",LetterSpacingNormal:"Letter spacing single",LetterSpacingAverage:"Letter spacing one and a half",LetterSpacingBig:"Letter spacing letter double",fontArial:"Sans Serif - Arial",fontTimes:"Serif - Times New Roman",builtElementsOn:"Include inline elements are enabled",builtElementsOFF:"Include inline elements are disabled",resetSettings:"Default settings have been set",panelShow:"Panel show",panelHide:"Panel hide",panelOn:"Site version for visually impaired",panelOff:"Regular version of the site"}}},p=function(){function e(t){i(this,e),this._config=t}return r(e,[{key:"t",value:function(e){return g[this._config.lang].text[e]}},{key:"v",value:function(e){return g[this._config.lang].voice[e]}}]),e}(),y={target:".bvi-open",fontSize:16,theme:"white",images:"grayscale",letterSpacing:"normal",lineHeight:"normal",speech:!0,fontFamily:"arial",builtElements:!1,panelFixed:!0,panelHide:!1,reload:!1,lang:"ru-RU"},S={target:"string",fontSize:"number",theme:"string",images:"(string|boolean)",letterSpacing:"string",lineHeight:"string",speech:"boolean",fontFamily:"string",builtElements:"boolean",panelFixed:"boolean",panelHide:"boolean",reload:"boolean",lang:"string"},_={target:"",fontSize:"(^[1-9]$|^[1-3][0-9]?$|^39$)",theme:"(white|black|blue|brown|green)",images:"(true|false|grayscale)",letterSpacing:"(normal|average|big)",lineHeight:"(normal|average|big)",speech:"(true|false)",fontFamily:"(arial|times)",builtElements:"(true|false)",panelFixed:"(true|false)",panelHide:"(true|false)",reload:"(true|false)",lang:"(ru-RU|en-US)"};return{Bvi:function(){function e(t){i(this,e),this._config=this._getConfig(t),this._elements=document.querySelectorAll(this._config.target),this._i18n=new p({lang:this._config.lang}),this._addEventListeners(),this._init(),console.log("Bvi console: ready Button visually impaired v1.0.0")}return r(e,[{key:"_init",value:function(){v(this._config,(function(e){void 0===m(e)&&b("panelActive")})),l(m("panelActive"))?(this._set(),this._getPanel(),this._addEventListenersPanel(),this._images(),this._speechPlayer(),"speechSynthesis"in window&&l(m("speech"))&&setInterval((function(){if(!1===h().pending){var e=document.querySelectorAll(".bvi-speech-play"),t=document.querySelectorAll(".bvi-speech-pause"),n=document.querySelectorAll(".bvi-speech-resume"),i=document.querySelectorAll(".bvi-speech-stop"),o=function(e,t){e.forEach((function(e){return t(e)}))};o(e,(function(e){return e.classList.remove("disabled")})),o(t,(function(e){return e.classList.add("disabled")})),o(n,(function(e){return e.classList.add("disabled")})),o(i,(function(e){return e.classList.add("disabled")}))}}),1e3)):this._remove()}},{key:"_addEventListeners",value:function(){var e=this;if(!this._elements)return!1;this._elements.forEach((function(t){t.addEventListener("click",(function(t){t.preventDefault(),v(e._config,(function(t){return d(t,e._config[t])})),d("panelActive",!0),e._init(),e._speech("".concat(e._i18n.v("panelOn")))}))}))}},{key:"_addEventListenersPanel",value:function(){var e=this,t={fontSizeMinus:document.querySelector(".bvi-fontSize-minus"),fontSizePlus:document.querySelector(".bvi-fontSize-plus"),themeWhite:document.querySelector(".bvi-theme-white"),themeBlack:document.querySelector(".bvi-theme-black"),themeBlue:document.querySelector(".bvi-theme-blue"),themeBrown:document.querySelector(".bvi-theme-brown"),themeGreen:document.querySelector(".bvi-theme-green"),imagesOn:document.querySelector(".bvi-images-on"),imagesOff:document.querySelector(".bvi-images-off"),imagesGrayscale:document.querySelector(".bvi-images-grayscale"),speechOn:document.querySelector(".bvi-speech-on"),speechOff:document.querySelector(".bvi-speech-off"),lineHeightNormal:document.querySelector(".bvi-line-height-normal"),lineHeightAverage:document.querySelector(".bvi-line-height-average"),lineHeightBig:document.querySelector(".bvi-line-height-big"),letterSpacingNormal:document.querySelector(".bvi-letter-spacing-normal"),letterSpacingAverage:document.querySelector(".bvi-letter-spacing-average"),letterSpacingBig:document.querySelector(".bvi-letter-spacing-big"),fontFamilyArial:document.querySelector(".bvi-font-family-arial"),fontFamilyTimes:document.querySelector(".bvi-font-family-times"),builtElementsOn:document.querySelector(".bvi-built-elements-on"),builtElementsOff:document.querySelector(".bvi-built-elements-off"),reset:document.querySelector(".bvi-reset"),links:document.querySelectorAll(".bvi-link"),modal:document.querySelector(".bvi-modal")},n=function(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,o=function(){};return{s:o,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw r}}}}(e.parentNode.children);try{for(n.s();!(t=n.n()).done;)t.value.classList.remove("active")}catch(e){n.e(e)}finally{n.f()}e.classList.add("active")},i=function(e,t){e.addEventListener("click",(function(e){e.preventDefault(),"function"==typeof t&&t(e)}))},o=function(){document.querySelectorAll(".bvi-link").forEach((function(e){e.classList.remove("active")})),v(e._config,(function(e){if("theme"===e){var t=m(e);document.querySelector(".bvi-theme-".concat(t)).classList.add("active")}if("images"===e){var n="grayscale"===m(e)?"grayscale":l(m(e))?"on":"off";document.querySelector(".bvi-images-".concat(n)).classList.add("active")}if("speech"===e){var i=l(m(e))?"on":"off";document.querySelector(".bvi-speech-".concat(i)).classList.add("active")}if("lineHeight"===e){var o=m(e);document.querySelector(".bvi-line-height-".concat(o)).classList.add("active")}if("letterSpacing"===e){var r=m(e);document.querySelector(".bvi-letter-spacing-".concat(r)).classList.add("active")}if("fontFamily"===e){var a=m(e);document.querySelector(".bvi-font-family-".concat(a)).classList.add("active")}if("builtElements"===e){var c=l(m(e))?"on":"off";document.querySelector(".bvi-built-elements-".concat(c)).classList.add("active")}}))};o(),i(t.fontSizeMinus,(function(){var i=parseFloat(m("fontSize"))-1;0!==i&&(e._setAttrDataBviBody("fontSize",i),d("fontSize",i),e._speech("".concat(e._i18n.v("fontSizeMinus"))),n(t.fontSizeMinus))})),i(t.fontSizePlus,(function(){var i=parseFloat(m("fontSize"))+1;40!==i&&(e._setAttrDataBviBody("fontSize",i),d("fontSize",i),e._speech("".concat(e._i18n.v("fontSizePlus"))),n(t.fontSizePlus))})),i(t.themeWhite,(function(){e._setAttrDataBviBody("theme","white"),d("theme","white"),e._speech("".concat(e._i18n.v("siteColorBlackOnWhite"))),n(t.themeWhite)})),i(t.themeBlack,(function(){e._setAttrDataBviBody("theme","black"),d("theme","black"),e._speech("".concat(e._i18n.v("siteColorWhiteOnBlack"))),n(t.themeBlack)})),i(t.themeBlue,(function(){e._setAttrDataBviBody("theme","blue"),d("theme","blue"),e._speech("".concat(e._i18n.v("siteColorDarkBlueOnBlue"))),n(t.themeBlue)})),i(t.themeBrown,(function(){e._setAttrDataBviBody("theme","brown"),d("theme","brown"),e._speech("".concat(e._i18n.v("siteColorBeigeBrown"))),n(t.themeBrown)})),i(t.themeGreen,(function(){e._setAttrDataBviBody("theme","green"),d("theme","green"),e._speech("".concat(e._i18n.v("siteColorGreenOnDarkBrown"))),n(t.themeGreen)})),i(t.imagesOn,(function(){e._setAttrDataBviBody("images","true"),d("images","true"),e._speech("".concat(e._i18n.v("imagesOn"))),n(t.imagesOn)})),i(t.imagesOff,(function(){e._setAttrDataBviBody("images","false"),d("images","false"),e._speech("".concat(e._i18n.v("imagesOFF"))),n(t.imagesOff)})),i(t.imagesGrayscale,(function(){e._setAttrDataBviBody("images","grayscale"),d("images","grayscale"),e._speech("".concat(e._i18n.v("imagesGrayscale"))),n(t.imagesGrayscale)})),i(t.speechOn,(function(){e._setAttrDataBviBody("speech","true"),d("speech","true"),e._speech("".concat(e._i18n.v("speechOn"))),n(t.speechOn),e._speechPlayer()})),i(t.speechOff,(function(){e._speech("".concat(e._i18n.v("speechOff"))),e._setAttrDataBviBody("speech","false"),d("speech","false"),n(t.speechOff),e._speechPlayer()})),i(t.lineHeightNormal,(function(){e._setAttrDataBviBody("lineHeight","normal"),d("lineHeight","normal"),e._speech("".concat(e._i18n.v("lineHeightNormal"))),n(t.lineHeightNormal)})),i(t.lineHeightAverage,(function(){e._setAttrDataBviBody("lineHeight","average"),d("lineHeight","average"),e._speech("".concat(e._i18n.v("lineHeightAverage"))),n(t.lineHeightAverage)})),i(t.lineHeightBig,(function(){e._setAttrDataBviBody("lineHeight","big"),d("lineHeight","big"),e._speech("".concat(e._i18n.v("lineHeightBig"))),n(t.lineHeightBig)})),i(t.letterSpacingNormal,(function(){e._setAttrDataBviBody("letterSpacing","normal"),d("letterSpacing","normal"),e._speech("".concat(e._i18n.v("LetterSpacingNormal"))),n(t.letterSpacingNormal)})),i(t.letterSpacingAverage,(function(){e._setAttrDataBviBody("letterSpacing","average"),d("letterSpacing","average"),e._speech("".concat(e._i18n.v("LetterSpacingAverage"))),n(t.letterSpacingAverage)})),i(t.letterSpacingBig,(function(){e._setAttrDataBviBody("letterSpacing","big"),d("letterSpacing","big"),e._speech("".concat(e._i18n.v("LetterSpacingBig"))),n(t.letterSpacingBig)})),i(t.fontFamilyArial,(function(){e._setAttrDataBviBody("fontFamily","arial"),d("fontFamily","arial"),e._speech("".concat(e._i18n.v("fontArial"))),n(t.fontFamilyArial)})),i(t.fontFamilyTimes,(function(){e._setAttrDataBviBody("fontFamily","times"),d("fontFamily","times"),e._speech("".concat(e._i18n.v("fontTimes"))),n(t.fontFamilyTimes)})),i(t.builtElementsOn,(function(){e._setAttrDataBviBody("builtElements","true"),d("builtElements","true"),e._speech("".concat(e._i18n.v("builtElementsOn"))),n(t.builtElementsOn)})),i(t.builtElementsOff,(function(){e._setAttrDataBviBody("builtElements","false"),d("builtElements","false"),e._speech("".concat(e._i18n.v("builtElementsOFF"))),n(t.builtElementsOff)})),i(t.reset,(function(){e._speech("".concat(e._i18n.v("resetSettings"))),v(e._config,(function(t){e._setAttrDataBviBody(t,e._config[t]),d(t,e._config[t]),o()}))})),f(t.links,(function(n){i(n,(function(n){var i=n.target.getAttribute("data-bvi");"close"===i&&(e._setAttrDataBviBody("panelActive","false"),d("panelActive","false"),e._init()),"modal"===i&&(document.body.style.overflow="hidden",document.body.classList.add("bvi-noscroll"),t.modal.classList.toggle("show")),"modal-close"===i&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show")),"panel-hide"===i&&(document.querySelector(".bvi-panel").classList.add("bvi-panel-hide"),document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-hide"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-show"),d("panelHide","true"),e._speech("".concat(e._i18n.v("panelHide")))),"panel-show"===i&&(document.querySelector(".bvi-link-fixed-top").classList.remove("bvi-show"),document.querySelector(".bvi-link-fixed-top").classList.add("bvi-hide"),document.querySelector(".bvi-panel").classList.remove("bvi-panel-hide"),d("panelHide","false"),e._speech("".concat(e._i18n.v("panelShow"))))}))})),i(t.modal,(function(e){e.target.contains(t.modal)&&(document.body.classList.remove("bvi-noscroll"),document.body.style.overflow="",t.modal.classList.remove("show"))}))}},{key:"_getPanel",value:function(){var e=function(){var e=void 0!==window.pageYOffset?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;l(m("panelFixed"))&&(e>200?document.querySelector(".bvi-panel").classList.add("bvi-fixed-top"):document.querySelector(".bvi-panel").classList.remove("bvi-fixed-top"))},t=l(m("panelHide"))?" bvi-panel-hide":"",n=l(m("panelHide"))?"bvi-show":" bvi-hide",i="\n
\n
\n
\n
').concat(this._i18n.t("fontSize"),'
\n А-\n А+\n
\n
\n
').concat(this._i18n.t("siteColors"),'
\n Ц\n Ц\n Ц\n Ц\n Ц\n
\n
\n
').concat(this._i18n.t("images"),'
\n \n \n \n \n \n \n \n \n \n
\n
\n
').concat(this._i18n.t("speech"),'
\n \n \n \n \n \n \n
\n
\n
').concat(this._i18n.t("settings"),'
\n \n \n \n \n ').concat(this._i18n.t("regularVersionOfTheSite"),'\n \n \n \n \n
\n
\n
\n
\n
\n
\n
').concat(this._i18n.t("settings"),'
\n ×\n
\n
\n
\n \n \n
\n
').concat(this._i18n.t("font"),'
\n ').concat(this._i18n.t("arial"),'\n ').concat(this._i18n.t("times"),'\n
\n
\n
').concat(this._i18n.t("builtElements"),'
\n ').concat(this._i18n.t("on"),'\n ').concat(this._i18n.t("off"),'\n
\n
\n \n
\n \n
\n
\n
\n
"),o='')+'';window.addEventListener("scroll",e),document.querySelector(".bvi-body").insertAdjacentHTML("beforebegin",i),document.querySelector(".bvi-body").insertAdjacentHTML("afterbegin",o),e()}},{key:"_set",value:function(){var e=this;document.body.classList.add("bvi-active"),s(document.body,"div","bvi-body"),v(this._config,(function(t){return e._setAttrDataBviBody(t,m(t))})),f(this._elements,(function(e){return e.style.display="none"})),document.querySelectorAll("img").forEach((function(e){e.classList.contains("bvi-img")&&e.classList.remove("bvi-img")})),document.querySelectorAll("body *").forEach((function(e){e.classList.contains("bvi-background-image")&&e.classList.remove("bvi-background-image")}))}},{key:"_remove",value:function(){var e=document.querySelector(".bvi-panel"),t=document.querySelector(".bvi-body"),n=document.querySelector(".bvi-link-fixed-top");e&&e.remove(),t&&u(t),n&&n.remove(),this._speech("".concat(this._i18n.v("panelOff"))),document.body.classList.remove("bvi-active"),f(this._elements,(function(e){return e.style.display=""})),l(m("reload"))&&document.location.reload(),v(this._config,(function(e){b(e)})),this._speechPlayer(),b("panelActive")}},{key:"_images",value:function(){document.querySelectorAll("img").forEach((function(e){e.classList.contains("bvi-no-style")||e.classList.add("bvi-img")})),document.querySelectorAll(".bvi-body *").forEach((function(e){var t=getComputedStyle(e);"none"===t.backgroundImage||"none"===t.background||e.classList.contains("bvi-no-style")||e.classList.add("bvi-background-image")}))}},{key:"_getConfig",value:function(e){e=t(t({},y),e);var i={};for(var o in y)i[o]=e[o];return function(e,t,i){Object.keys(t).forEach((function(i){var o,r=t[i],a=e[i],c=a&&(o=a)&&"object"===n(o)&&void 0!==o.nodeType?"element":function(e){return null==e?"".concat(e):{}.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase()}(a);if(!new RegExp(r).test(c))throw new TypeError('Bvi console: Опция "'.concat(i,'" предоставленный тип "').concat(c,'", ожидаемый тип "').concat(r,'".'))})),Object.keys(i).forEach((function(t){var n=i[t],o=e[t];if(!new RegExp(n).test(o))throw new TypeError('Bvi console: Опция "'.concat(t,'" параметр "').concat(o,'", ожидаемый параметр "').concat(n,'".'))}))}(i,S,_),i}},{key:"_setAttrDataBviBody",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";document.querySelector(".bvi-body").setAttribute("data-bvi-".concat(e),t)}},{key:"_speechPlayer",value:function(){var e=this,t=document.querySelectorAll(".bvi-speech-text"),n=document.querySelectorAll(".bvi-speech-link"),i=document.querySelectorAll(".bvi-speech");if("speechSynthesis"in window&&l(m("speech"))){if(i){t&&t.forEach((function(e){return u(e)})),n&&n.forEach((function(e){return e.remove()})),i.forEach((function(e,t){var n="bvi-speech-text-id-".concat(t+1);s(e,"div","bvi-speech-text ".concat(n)),e.insertAdjacentHTML("afterbegin",'\n ')}));var o=document.querySelectorAll(".bvi-speech-play"),r=document.querySelectorAll(".bvi-speech-pause"),a=document.querySelectorAll(".bvi-speech-resume"),c=document.querySelectorAll(".bvi-speech-stop"),v=function(e,t){e.forEach((function(e){e.addEventListener("click",(function(n){if(n.preventDefault(),"function"==typeof t)return t(e,n)}),!1)}))};v(o,(function(t,n){var i=n.target,o=i.parentNode.nextElementSibling,r=n.target.closest(".bvi-speech-link"),a=document.querySelectorAll(".bvi-speech-play"),c=document.querySelectorAll(".bvi-speech-pause"),l=document.querySelectorAll(".bvi-speech-resume"),s=document.querySelectorAll(".bvi-speech-stop");e._speech(o.textContent,o,!0),a.forEach((function(e){return e.classList.remove("disabled")})),c.forEach((function(e){return e.classList.add("disabled")})),l.forEach((function(e){return e.classList.add("disabled")})),s.forEach((function(e){return e.classList.add("disabled")})),i.classList.add("disabled"),r.querySelector(".bvi-speech-pause").classList.remove("disabled"),r.querySelector(".bvi-speech-stop").classList.remove("disabled")})),v(r,(function(e,t){var n=t.target,i=t.target.closest(".bvi-speech-link");n.classList.add("disabled"),i.querySelector(".bvi-speech-resume").classList.remove("disabled"),h().pause()})),v(a,(function(e,t){var n=t.target,i=t.target.closest(".bvi-speech-link");n.classList.add("disabled"),i.querySelector(".bvi-speech-pause").classList.remove("disabled"),h().resume()})),v(c,(function(e,t){var n=t.target,i=t.target.closest(".bvi-speech-link");n.classList.add("disabled"),i.querySelector(".bvi-speech-pause").classList.add("disabled"),i.querySelector(".bvi-speech-play").classList.remove("disabled"),h().cancel()}))}}else t&&t.forEach((function(e){return u(e)})),n&&n.forEach((function(e){return e.remove()}))}},{key:"_speech",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("speechSynthesis"in window&&l(m("speech"))){h().cancel();for(var o=function(e,t){e=String(e),t=Number(t)>>>0;var n=e.slice(0,t+1).search(/\S+$/),i=e.slice(t).search(/\s/);return i<0?e.slice(n):e.slice(n,i+t)},r=120,a=new RegExp("^[\\s\\S]{"+Math.floor(r/2)+","+r+"}[.!?,]{1}|^[\\s\\S]{1,"+r+"}$|^[\\s\\S]{1,"+r+"} "),c=[],s=e,u=h().getVoices();s.length>0;)c.push(s.match(a)[0]),s=s.substring(c[c.length-1].length);c.forEach((function(e){var r=new SpeechSynthesisUtterance(e.trim());r.volume=1,r.rate=1,r.pitch=1,r.lang=n._config.lang;for(var a=0;a]+>)*$1(<[^>]+>)*)"),a=new RegExp("("+r+")","gi");i=(i=i.replace(a,"$1")).replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1$2$4"),t.innerHTML=i},r.onend=function(e){t.classList.remove("bvi-highlighting");var n=t.textContent;n=n.replace(/($1<\/mark>)/,"$1"),t.innerHTML=n}),h().speak(r)}))}}}]),e}()}})); //# sourceMappingURL=bvi.min.js.map \ No newline at end of file diff --git a/dist/js/bvi.min.js.map b/dist/js/bvi.min.js.map index 69bafbb..29e96bd 100644 --- a/dist/js/bvi.min.js.map +++ b/dist/js/bvi.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../node_modules/regenerator-runtime/runtime.js","../../src/js/util/index.js","../../src/js/util/cookie.js","../../src/js/i18n.js","../../src/js/bvi.js","../../src/js/index.umd.js"],"names":["runtime","exports","undefined","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","arg","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","GenStateSuspendedYield","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","Element","Document","DocumentFragment","item","argArr","Array","arguments","docFrag","document","createDocumentFragment","argItem","isNode","Node","appendChild","createTextNode","String","insertBefore","firstChild","window","NodeList","HTMLCollection","stringToBoolean","string","wrapInner","parent","wrapper","className","createElement","unwrap","child","removeChild","parentNode","replaceChild","getObject","callback","getArray","array","from","synth","speechSynthesis","setCookie","now","Date","time","getTime","setTime","cookie","concat","toUTCString","location","host","getCookie","decodedCookie","decodeURIComponent","cookies","split","trim","indexOf","substring","removeCookie","lang","text","fontSize","siteColors","images","speech","settings","regularVersionOfTheSite","letterSpacing","normal","average","big","lineHeight","font","arial","times","builtElements","on","off","plural_0","plural_1","plural_2","voice","fontSizePlus","fontSizeMinus","siteColorBlackOnWhite","siteColorWhiteOnBlack","siteColorDarkBlueOnBlue","siteColorBeigeBrown","siteColorGreenOnDarkBrown","imagesOn","imagesOFF","imagesGrayscale","speechOn","speechOff","lineHeightNormal","lineHeightAverage","lineHeightBig","LetterSpacingNormal","LetterSpacingAverage","LetterSpacingBig","fontArial","fontTimes","builtElementsOn","builtElementsOFF","resetSettings","panelShow","panelHide","panelOn","panelOff","I18n","options","_classCallCheck","_config","Default","target","theme","fontFamily","panelFixed","reload","DefaultType","DefaultOptions","Bvi","_getConfig","_elements","querySelectorAll","_i18n","_addEventListeners","_init","console","log","_set","_getPanel","_addEventListenersPanel","_images","_speechPlayer","setInterval","pending","play","pause","resume","el","elements","element","classList","remove","add","_remove","_this","addEventListener","event","preventDefault","_speech","v","_this2","querySelector","themeWhite","themeBlack","themeBlue","themeBrown","themeGreen","imagesOff","letterSpacingNormal","letterSpacingAverage","letterSpacingBig","fontFamilyArial","fontFamilyTimes","builtElementsOff","links","modal","activeLink","_step","_iterator","_createForOfIteratorHelper","children","s","n","e","f","click","activeAll","link","size","parseFloat","_setAttrDataBviBody","getAttribute","body","style","overflow","toggle","contains","scroll","pageYOffset","documentElement","scrollTop","linkHide","html","t","insertAdjacentHTML","_this3","display","bviPanel","bviBody","bviLinkFixedTop","getComputedStyle","backgroundImage","background","config","_objectSpread2","extended","keyDefault","configTypes","configOptions","expectedTypes","valueType","nodeType","toString","match","toLowerCase","toType","RegExp","test","expectedOptions","checkConfig","setAttribute","_this4","selectorSpeechText","selectorSpeechLink","selectorBviSpeech","speechDivBlock","index","id","selectorPlay","selectorPause","selectorResume","selectorStop","nextElementSibling","closest","textContent","cancel","_this5","echo","getWordAt","str","pos","Number","left","search","right","chunkLength","patternRegex","Math","floor","$text","voices","getVoices","getText","utter","SpeechSynthesisUtterance","volume","rate","pitch","onboundary","world","utterance","charIndex","term","replace","pattern","innerHTML","onend","speak"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/index.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n(function (arr) {\n arr.forEach(function (item) {\n if (item.hasOwnProperty('prepend')) {\n return\n }\n Object.defineProperty(item, 'prepend', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function prepend () {\n var argArr = Array.prototype.slice.call(arguments),\n docFrag = document.createDocumentFragment()\n\n argArr.forEach(function (argItem) {\n var isNode = argItem instanceof Node\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)))\n })\n\n this.insertBefore(docFrag, this.firstChild)\n },\n })\n })\n})([Element.prototype, Document.prototype, DocumentFragment.prototype])\n\nif (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach\n}\n\nif (window.HTMLCollection && !HTMLCollection.prototype.forEach) {\n HTMLCollection.prototype.forEach = Array.prototype.forEach\n}\n\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst checkConfig = (config, configTypes, configOptions) => {\n Object.keys(configTypes).forEach(key => {\n const expectedTypes = configTypes[key]\n const value = config[key]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" предоставленный тип \"${valueType}\", ожидаемый тип \"${expectedTypes}\".`,\n )\n }\n })\n\n Object.keys(configOptions).forEach(key => {\n const expectedOptions = configOptions[key]\n const value = config[key]\n\n if (!new RegExp(expectedOptions).test(value)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" параметр \"${value}\", ожидаемый параметр \"${expectedOptions}\".`,\n )\n }\n })\n}\n\nconst plural = (number, text = ['пиксель', 'пекселя', 'пикселей']) => {\n if (number % 10 === 1 && number % 100 !== 11) {\n return `${number} ${text[0]}`\n } else if (number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return `${number} ${text[1]}`\n } else {\n return `${number} ${text[2]}`\n }\n}\n\nconst stringToBoolean = string => {\n switch (string) {\n case 'on':\n case 'true':\n case '1':\n return true\n default:\n return false\n }\n}\n\nconst wrapInner = (parent, wrapper, className) => {\n if (typeof wrapper === 'string') {\n wrapper = document.createElement(wrapper)\n }\n\n parent.appendChild(wrapper).className = className\n\n while (parent.firstChild !== wrapper) {\n wrapper.appendChild(parent.firstChild)\n }\n}\n\nconst unwrap = wrapper => {\n let docFrag = document.createDocumentFragment()\n\n if (!wrapper) return\n\n while (wrapper.firstChild) {\n let child = wrapper.removeChild(wrapper.firstChild)\n docFrag.appendChild(child)\n }\n\n wrapper.parentNode.replaceChild(docFrag, wrapper)\n}\n\nconst getObject = (object, callback) => {\n Object.keys(object).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst getArray = (array, callback) => {\n Array.from(array).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst inArray = (needle, haystack) => {\n let length = haystack.length\n\n for (let i = 0; i < length; i++) {\n if (haystack[i] === needle) {\n return true\n }\n }\n\n return false\n}\n\nconst synth = () => window.speechSynthesis\n\nconst synthSupportBrowser = () => {\n return 'speechSynthesis' in window\n}\n\nexport {\n plural,\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n synthSupportBrowser,\n inArray,\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/cookie.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst setCookie = function (name = '', value = '') {\n let now = new Date();\n let time = now.getTime();\n time += 24 * 60 * 60 * 1000;\n now.setTime(time);\n document.cookie = `bvi_${name}=${value};path=/;expires=${now.toUTCString()};domain=${location.host}`;\n};\n\nconst getCookie = function (name = '') {\n name = `bvi_${name}=`;\n let decodedCookie = decodeURIComponent(document.cookie);\n let cookies = decodedCookie.split(';');\n\n for (let i = 0; i < cookies.length; i++) {\n let cookie = cookies[i].trim();\n\n if (cookie.indexOf(name) !== -1) {\n return cookie.substring(name.length, cookie.length);\n }\n }\n};\n\nconst removeCookie = function (name = '') {\n document.cookie = `bvi_${name}=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=${location.host}`;\n};\n\nexport {\n setCookie,\n getCookie,\n removeCookie,\n};\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): i18n.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst lang = {\n 'ru-RU': {\n 'text': {\n 'fontSize': 'Размер шрифта',\n 'siteColors': 'Цвета сайта',\n 'images': 'Изображения',\n 'speech': 'Синтез речи',\n 'settings': 'Настройки',\n 'regularVersionOfTheSite': 'Обычная версия сайта',\n 'letterSpacing': 'Межбуквенное расстояние',\n 'normal': 'Стандартный',\n 'average': 'Средний',\n 'big': 'Большой',\n 'lineHeight': 'Межстрочный интервал',\n 'font': 'Шрифт',\n 'arial': 'Без засечек',\n 'times': 'С засечками',\n 'builtElements': 'Встроенные элементы (Видео, карты и тд.)',\n 'on': 'Включить',\n 'off': 'Выключить',\n 'reset': 'Сбросить настройки',\n 'plural_0': 'пиксель',\n 'plural_1': 'пекселя',\n 'plural_2': 'пикселей',\n },\n 'voice': {\n 'fontSizePlus': 'Размер шрифта увели́чен',\n 'fontSizeMinus': 'Размер шрифта уме́ньшен',\n 'siteColorBlackOnWhite': 'Цвет сайта черным по белому',\n 'siteColorWhiteOnBlack': 'Цвет сайта белым по черному',\n 'siteColorDarkBlueOnBlue': 'Цвет сайта тёмно-синим по голубому',\n 'siteColorBeigeBrown': 'Цвет сайта кори́чневым по бе́жевому',\n 'siteColorGreenOnDarkBrown': 'Цвет сайта зеленым по тёмно-коричневому',\n 'imagesOn': 'Изображения включены',\n 'imagesOFF': 'Изображения выключены',\n 'imagesGrayscale': 'Изображения чёрно-белые',\n 'speechOn': 'Синтез речи включён',\n 'speechOff': 'Синтез речи вы́ключен',\n 'lineHeightNormal': 'Межстрочный интервал стандартный',\n 'lineHeightAverage': 'Межстрочный интервал средний',\n 'lineHeightBig': 'Межстрочный интервал большой',\n 'LetterSpacingNormal': 'Интервал между буквами стандартный',\n 'LetterSpacingAverage': 'Интервал между буквами средний',\n 'LetterSpacingBig': 'Интервал между буквами большой',\n 'fontArial': 'Шрифт без засечек',\n 'fontTimes': 'Шрифт с засечками',\n 'builtElementsOn': 'Встроенные элементы включены',\n 'builtElementsOFF': 'Встроенные элементы выключены',\n 'resetSettings': 'Установлены настройки по умолча́нию',\n 'panelShow': 'Панель открыта',\n 'panelHide': 'Панель скрыта',\n 'panelOn': 'Версия сайта для слабови́дящий',\n 'panelOff': 'Обычная версия сайта',\n }\n },\n 'en-US': {\n 'text': {\n 'fontSize': 'Font size',\n 'siteColors': 'Site colors',\n 'images': 'Images',\n 'speech': 'Speech synthesis',\n 'settings': 'Settings',\n 'regularVersionOfTheSite': 'Regular version Of The site',\n 'letterSpacing': 'Letter spacing',\n 'normal': 'Single',\n 'average': 'One and a half',\n 'big': 'Double',\n 'lineHeight': 'Line spacing',\n 'font':'Font',\n 'arial': 'Sans Serif - Arial',\n 'times': 'Serif - Times New Roman',\n 'builtElements': 'Include inline elements (Videos, maps, etc.)',\n 'on': 'Enable',\n 'off': 'Disabled',\n 'reset': 'Reset settings',\n 'plural_0': 'pixel',\n 'plural_1': 'pixels',\n 'plural_2': 'pixels',\n },\n 'voice': {\n 'fontSizePlus': 'Font size increased',\n 'fontSizeMinus': 'Font size reduced',\n 'siteColorBlackOnWhite': 'Site color black on white',\n 'siteColorWhiteOnBlack': 'Site color white on black',\n 'siteColorDarkBlueOnBlue': 'Site color dark blue on cyan',\n 'siteColorBeigeBrown': 'SiteColorBeigeBrown',\n 'siteColorGreenOnDarkBrown': 'Site color green on dark brown',\n 'imagesOn': 'Images enable',\n 'imagesOFF': 'Images disabled',\n 'imagesGrayscale': 'Images gray scale',\n 'speechOn': 'Synthesis speech enable',\n 'speechOff': 'Synthesis speech disabled',\n 'lineHeightNormal': 'Line spacing single',\n 'lineHeightAverage': 'Line spacing one and a half',\n 'lineHeightBig': 'Line spacing double',\n 'LetterSpacingNormal': 'Letter spacing single',\n 'LetterSpacingAverage': 'Letter spacing one and a half',\n 'LetterSpacingBig': 'Letter spacing letter double',\n 'fontArial': 'Sans Serif - Arial',\n 'fontTimes': 'Serif - Times New Roman',\n 'builtElementsOn': 'Include inline elements are enabled',\n 'builtElementsOFF': 'Include inline elements are disabled',\n 'resetSettings': 'Default settings have been set',\n 'panelShow': 'Panel show',\n 'panelHide': 'Panel hide',\n 'panelOn': 'Site version for visually impaired',\n 'panelOff': 'Regular version of the site',\n }\n }\n}\n\nclass I18n {\n constructor(options) {\n this._config = options\n }\n\n t(key) {\n return lang[this._config.lang]['text'][key]\n }\n\n v(key) {\n return lang[this._config.lang]['voice'][key]\n }\n}\n\nexport default I18n\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): bvi.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nimport {\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n} from './util'\n\nimport {\n setCookie,\n getCookie,\n removeCookie,\n} from './util/cookie'\nimport I18n from './i18n'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst Default = {\n target: '.bvi-open',\n fontSize: 16,\n theme: 'white',\n images: 'grayscale',\n letterSpacing: 'normal',\n lineHeight: 'normal',\n speech: true,\n fontFamily: 'arial',\n builtElements: false,\n panelFixed: true,\n panelHide: false,\n reload: false,\n lang: 'ru-RU',\n}\n\nconst DefaultType = {\n target: 'string',\n fontSize: 'number',\n theme: 'string',\n images: '(string|boolean)',\n letterSpacing: 'string',\n lineHeight: 'string',\n speech: 'boolean',\n fontFamily: 'string',\n builtElements: 'boolean',\n panelFixed: 'boolean',\n panelHide: 'boolean',\n reload: 'boolean',\n lang: 'string',\n}\n\nconst DefaultOptions = {\n target: '',\n fontSize: '(^[1-9]$|^[1-3][0-9]?$|^39$)',\n theme: '(white|black|blue|brown|green)',\n images: '(true|false|grayscale)',\n letterSpacing: '(normal|average|big)',\n lineHeight: '(normal|average|big)',\n speech: '(true|false)',\n fontFamily: '(arial|times)',\n builtElements: '(true|false)',\n panelFixed: '(true|false)',\n panelHide: '(true|false)',\n reload: '(true|false)',\n lang: '(ru-RU|en-US)',\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Bvi {\n constructor(options) {\n this._config = this._getConfig(options)\n this._elements = document.querySelectorAll(this._config.target)\n this._i18n = new I18n({\n lang: this._config.lang\n })\n\n this._addEventListeners()\n this._init()\n\n console.log('Bvi console: ready Button visually impaired v1.0.0')\n }\n\n // Private\n\n _init() {\n getObject(this._config, key => {\n if (typeof getCookie(key) === 'undefined') {\n removeCookie('panelActive')\n }\n })\n\n if (stringToBoolean(getCookie('panelActive'))) {\n this._set()\n this._getPanel()\n this._addEventListenersPanel()\n this._images()\n this._speechPlayer()\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n setInterval(() => {\n if (synth().pending === false) {\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n return callback(element)\n })\n }\n\n el(play, element => element.classList.remove('disabled'))\n el(pause, element => element.classList.add('disabled'))\n el(resume, element => element.classList.add('disabled'))\n el(stop, element => element.classList.add('disabled'))\n }\n }, 1000)\n }\n\n } else {\n this._remove()\n }\n }\n\n _addEventListeners() {\n if (!this._elements) {\n return false\n }\n\n this._elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n getObject(this._config, key => setCookie(key, this._config[key]))\n setCookie('panelActive', true)\n\n this._init()\n this._speech(`${this._i18n.v('panelOn')}`)\n })\n })\n\n }\n\n _addEventListenersPanel() {\n const elements = {\n fontSizeMinus: document.querySelector('.bvi-fontSize-minus'),\n fontSizePlus: document.querySelector('.bvi-fontSize-plus'),\n themeWhite: document.querySelector('.bvi-theme-white'),\n themeBlack: document.querySelector('.bvi-theme-black'),\n themeBlue: document.querySelector('.bvi-theme-blue'),\n themeBrown: document.querySelector('.bvi-theme-brown'),\n themeGreen: document.querySelector('.bvi-theme-green'),\n imagesOn: document.querySelector('.bvi-images-on'),\n imagesOff: document.querySelector('.bvi-images-off'),\n imagesGrayscale: document.querySelector('.bvi-images-grayscale'),\n speechOn: document.querySelector('.bvi-speech-on'),\n speechOff: document.querySelector('.bvi-speech-off'),\n lineHeightNormal: document.querySelector('.bvi-line-height-normal'),\n lineHeightAverage: document.querySelector('.bvi-line-height-average'),\n lineHeightBig: document.querySelector('.bvi-line-height-big'),\n letterSpacingNormal: document.querySelector('.bvi-letter-spacing-normal'),\n letterSpacingAverage: document.querySelector('.bvi-letter-spacing-average'),\n letterSpacingBig: document.querySelector('.bvi-letter-spacing-big'),\n fontFamilyArial: document.querySelector('.bvi-font-family-arial'),\n fontFamilyTimes: document.querySelector('.bvi-font-family-times'),\n builtElementsOn: document.querySelector('.bvi-built-elements-on'),\n builtElementsOff: document.querySelector('.bvi-built-elements-off'),\n reset: document.querySelector('.bvi-reset'),\n links: document.querySelectorAll('.bvi-link'),\n modal: document.querySelector('.bvi-modal')\n }\n\n const activeLink = element => {\n for (let sibling of element.parentNode.children) {\n sibling.classList.remove('active')\n }\n\n element.classList.add('active')\n }\n\n const click = (element, callback) => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n if (typeof callback === 'function') {\n callback(event)\n }\n })\n }\n\n const activeAll = () => {\n let links = document.querySelectorAll('.bvi-link')\n\n links.forEach(link => {\n link.classList.remove('active')\n })\n\n getObject(this._config, key => {\n if (key === 'theme') {\n let value = getCookie(key)\n document.querySelector(`.bvi-theme-${value}`).classList.add('active')\n }\n\n if (key === 'images') {\n let value = getCookie(key) === 'grayscale' ? 'grayscale' : stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-images-${value}`).classList.add('active')\n }\n\n if (key === 'speech') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-speech-${value}`).classList.add('active')\n }\n\n if (key === 'lineHeight') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-line-height-${value}`).classList.add('active')\n }\n\n if (key === 'letterSpacing') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-letter-spacing-${value}`).classList.add('active')\n }\n\n if (key === 'fontFamily') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-font-family-${value}`).classList.add('active')\n }\n\n if (key === 'builtElements') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-built-elements-${value}`).classList.add('active')\n }\n })\n }\n\n activeAll()\n\n // Font size\n click(elements.fontSizeMinus, () => {\n let size = parseFloat(getCookie('fontSize')) - 1\n\n if (size !== 0) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizeMinus')}`)\n activeLink(elements.fontSizeMinus)\n }\n })\n\n click(elements.fontSizePlus, () => {\n let size = parseFloat(getCookie('fontSize')) + 1\n\n if (size !== 40) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizePlus')}`)\n activeLink(elements.fontSizePlus)\n }\n })\n\n // Theme\n click(elements.themeWhite, () => {\n this._setAttrDataBviBody('theme', 'white')\n setCookie('theme', 'white')\n this._speech(`${this._i18n.v('siteColorBlackOnWhite')}`)\n activeLink(elements.themeWhite)\n })\n\n click(elements.themeBlack, () => {\n this._setAttrDataBviBody('theme', 'black')\n setCookie('theme', 'black')\n this._speech(`${this._i18n.v('siteColorWhiteOnBlack')}`)\n activeLink(elements.themeBlack)\n })\n\n click(elements.themeBlue, () => {\n this._setAttrDataBviBody('theme', 'blue')\n setCookie('theme', 'blue')\n this._speech(`${this._i18n.v('siteColorDarkBlueOnBlue')}`)\n activeLink(elements.themeBlue)\n })\n\n click(elements.themeBrown, () => {\n this._setAttrDataBviBody('theme', 'brown')\n setCookie('theme', 'brown')\n this._speech(`${this._i18n.v('siteColorBeigeBrown')}`)\n activeLink(elements.themeBrown)\n })\n\n click(elements.themeGreen, () => {\n this._setAttrDataBviBody('theme', 'green')\n setCookie('theme', 'green')\n this._speech(`${this._i18n.v('siteColorGreenOnDarkBrown')}`)\n activeLink(elements.themeGreen)\n })\n\n // Images\n click(elements.imagesOn, () => {\n this._setAttrDataBviBody('images', 'true')\n setCookie('images', 'true')\n this._speech(`${this._i18n.v('imagesOn')}`)\n activeLink(elements.imagesOn)\n })\n\n click(elements.imagesOff, () => {\n this._setAttrDataBviBody('images', 'false')\n setCookie('images', 'false')\n this._speech(`${this._i18n.v('imagesOFF')}`)\n activeLink(elements.imagesOff)\n })\n\n click(elements.imagesGrayscale, () => {\n this._setAttrDataBviBody('images', 'grayscale')\n setCookie('images', 'grayscale')\n this._speech(`${this._i18n.v('imagesGrayscale')}`)\n activeLink(elements.imagesGrayscale)\n })\n\n // Speech\n click(elements.speechOn, () => {\n this._setAttrDataBviBody('speech', 'true')\n setCookie('speech', 'true')\n this._speech(`${this._i18n.v('speechOn')}`)\n activeLink(elements.speechOn)\n this._speechPlayer()\n })\n\n click(elements.speechOff, () => {\n this._speech(`${this._i18n.v('speechOff')}`)\n this._setAttrDataBviBody('speech', 'false')\n setCookie('speech', 'false')\n activeLink(elements.speechOff)\n this._speechPlayer()\n })\n\n // Line height\n click(elements.lineHeightNormal, () => {\n this._setAttrDataBviBody('lineHeight', 'normal')\n setCookie('lineHeight', 'normal')\n this._speech(`${this._i18n.v('lineHeightNormal')}`)\n activeLink(elements.lineHeightNormal)\n })\n\n click(elements.lineHeightAverage, () => {\n this._setAttrDataBviBody('lineHeight', 'average')\n setCookie('lineHeight', 'average')\n this._speech(`${this._i18n.v('lineHeightAverage')}`)\n activeLink(elements.lineHeightAverage)\n })\n\n click(elements.lineHeightBig, () => {\n this._setAttrDataBviBody('lineHeight', 'big')\n setCookie('lineHeight', 'big')\n this._speech(`${this._i18n.v('lineHeightBig')}`)\n activeLink(elements.lineHeightBig)\n })\n\n // Letter spacing\n click(elements.letterSpacingNormal, () => {\n this._setAttrDataBviBody('letterSpacing', 'normal')\n setCookie('letterSpacing', 'normal')\n this._speech(`${this._i18n.v('LetterSpacingNormal')}`)\n activeLink(elements.letterSpacingNormal)\n })\n\n click(elements.letterSpacingAverage, () => {\n this._setAttrDataBviBody('letterSpacing', 'average')\n setCookie('letterSpacing', 'average')\n this._speech(`${this._i18n.v('LetterSpacingAverage')}`)\n activeLink(elements.letterSpacingAverage)\n })\n\n click(elements.letterSpacingBig, () => {\n this._setAttrDataBviBody('letterSpacing', 'big')\n setCookie('letterSpacing', 'big')\n this._speech(`${this._i18n.v('LetterSpacingBig')}`)\n activeLink(elements.letterSpacingBig)\n })\n\n // Font family\n click(elements.fontFamilyArial, () => {\n this._setAttrDataBviBody('fontFamily', 'arial')\n setCookie('fontFamily', 'arial')\n this._speech(`${this._i18n.v('fontArial')}`)\n activeLink(elements.fontFamilyArial)\n })\n\n click(elements.fontFamilyTimes, () => {\n this._setAttrDataBviBody('fontFamily', 'times')\n setCookie('fontFamily', 'times')\n this._speech(`${this._i18n.v('fontTimes')}`)\n activeLink(elements.fontFamilyTimes)\n })\n\n // Built elements\n click(elements.builtElementsOn, () => {\n this._setAttrDataBviBody('builtElements', 'true')\n setCookie('builtElements', 'true')\n this._speech(`${this._i18n.v('builtElementsOn')}`)\n activeLink(elements.builtElementsOn)\n })\n\n click(elements.builtElementsOff, () => {\n this._setAttrDataBviBody('builtElements', 'false')\n setCookie('builtElements', 'false')\n this._speech(`${this._i18n.v('builtElementsOFF')}`)\n activeLink(elements.builtElementsOff)\n })\n\n // Reset\n click(elements.reset, () => {\n this._speech(`${this._i18n.v('resetSettings')}`)\n getObject(this._config, key => {\n this._setAttrDataBviBody(key, this._config[key])\n setCookie(key, this._config[key])\n activeAll()\n })\n })\n\n getArray(elements.links, element => {\n click(element, event => {\n let target = event.target.getAttribute('data-bvi')\n\n if (target === 'close') {\n this._setAttrDataBviBody('panelActive', 'false')\n setCookie('panelActive', 'false')\n this._init()\n }\n\n if (target === 'modal') {\n document.body.style.overflow = 'hidden'\n document.body.classList.add('bvi-noscroll')\n elements.modal.classList.toggle('show')\n }\n\n if (target === 'modal-close') {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n\n if (target === 'panel-hide') {\n document.querySelector('.bvi-panel').classList.add('bvi-panel-hide')\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-hide')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-show')\n setCookie('panelHide', 'true')\n this._speech(`${this._i18n.v('panelHide')}`)\n }\n\n if (target === 'panel-show') {\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-show')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-hide')\n document.querySelector('.bvi-panel').classList.remove('bvi-panel-hide')\n setCookie('panelHide', 'false')\n this._speech(`${this._i18n.v('panelShow')}`)\n }\n })\n })\n\n click(elements.modal, event => {\n if (event.target.contains(elements.modal)) {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n })\n }\n\n _getPanel() {\n const scroll = () => {\n let scroll = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop\n\n if (stringToBoolean(getCookie('panelFixed'))) {\n if (scroll > 200) {\n document.querySelector('.bvi-panel').classList.add('bvi-fixed-top')\n } else {\n document.querySelector('.bvi-panel').classList.remove('bvi-fixed-top')\n }\n }\n }\n\n let panelHide = stringToBoolean(getCookie('panelHide')) ? ' bvi-panel-hide' : ''\n let linkHide = !stringToBoolean(getCookie('panelHide')) ? ' bvi-hide' : 'bvi-show'\n let html = `\n
\n
\n
\n
${this._i18n.t('fontSize')}
\n А-\n А+\n
\n
\n
${this._i18n.t('siteColors')}
\n Ц\n Ц\n Ц\n Ц\n Ц\n
\n
\n
${this._i18n.t('images')}
\n \n \n \n \n \n \n \n \n \n
\n
\n
${this._i18n.t('speech')}
\n \n \n \n \n \n \n
\n
\n
${this._i18n.t('settings')}
\n \n \n \n \n ${this._i18n.t('regularVersionOfTheSite')}\n \n \n \n \n
\n
\n
\n
\n
\n
\n
${this._i18n.t('settings')}
\n ×\n
\n
\n
\n \n \n
\n
${this._i18n.t('font')}
\n ${this._i18n.t('arial')}\n ${this._i18n.t('times')}\n
\n
\n
${this._i18n.t('builtElements')}
\n ${this._i18n.t('on')}\n ${this._i18n.t('off')}\n
\n
\n \n
\n \n
\n
\n
\n
`\n\n let link = `` +\n ''\n\n window.addEventListener('scroll', scroll)\n document.querySelector('.bvi-body').insertAdjacentHTML('beforebegin', html)\n document.querySelector('.bvi-body').insertAdjacentHTML('afterbegin', link)\n scroll()\n }\n\n _set() {\n document.body.classList.add('bvi-active')\n wrapInner(document.body, 'div', 'bvi-body')\n getObject(this._config, key => this._setAttrDataBviBody(key, getCookie(key)))\n getArray(this._elements, element => element.style.display = 'none')\n\n document.querySelectorAll('img')\n .forEach(element => {\n if (element.classList.contains('bvi-img')) {\n element.classList.remove('bvi-img')\n }\n })\n\n document.querySelectorAll('body *')\n .forEach(element => {\n if (element.classList.contains('bvi-background-image')) {\n element.classList.remove('bvi-background-image')\n }\n })\n }\n\n _remove() {\n let bviPanel = document.querySelector('.bvi-panel')\n let bviBody = document.querySelector('.bvi-body')\n let bviLinkFixedTop = document.querySelector('.bvi-link-fixed-top')\n\n if (bviPanel) {\n bviPanel.remove()\n }\n\n if (bviBody) {\n unwrap(bviBody)\n }\n\n if (bviLinkFixedTop) {\n bviLinkFixedTop.remove()\n }\n\n this._speech(`${this._i18n.v('panelOff')}`)\n\n document.body.classList.remove('bvi-active')\n\n getArray(this._elements, element => element.style.display = '')\n\n if (stringToBoolean(getCookie('reload'))) {\n document.location.reload()\n }\n\n getObject(this._config, key => {\n removeCookie(key)\n })\n\n this._speechPlayer()\n\n removeCookie('panelActive')\n }\n\n _images() {\n document.querySelectorAll('img').forEach(element => {\n if (!element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-img')\n }\n })\n\n document.querySelectorAll('.bvi-body *').forEach(element => {\n let style = getComputedStyle(element)\n if (style.backgroundImage !== 'none' && style.background !== 'none' && !element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-background-image')\n }\n })\n }\n\n _getConfig(config) {\n config = {...Default, ...config}\n let extended = {}\n\n for (let keyDefault in Default) {\n extended[keyDefault] = config[keyDefault]\n }\n\n checkConfig(extended, DefaultType, DefaultOptions)\n\n return extended\n }\n\n _setAttrDataBviBody(name = '', value = '') {\n document.querySelector('.bvi-body').setAttribute(`data-bvi-${name}`, value)\n }\n\n _speechPlayer() {\n let selectorSpeechText = document.querySelectorAll('.bvi-speech-text')\n let selectorSpeechLink = document.querySelectorAll('.bvi-speech-link')\n let selectorBviSpeech = document.querySelectorAll('.bvi-speech')\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n if (selectorBviSpeech) {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n\n selectorBviSpeech.forEach((speechDivBlock, index) => {\n let id = `bvi-speech-text-id-${index + 1}`\n let html = `\n `\n\n wrapInner(speechDivBlock, 'div', `bvi-speech-text ${id}`)\n speechDivBlock.insertAdjacentHTML('afterbegin', html)\n })\n\n let selectorPlay = document.querySelectorAll('.bvi-speech-play')\n let selectorPause = document.querySelectorAll('.bvi-speech-pause')\n let selectorResume = document.querySelectorAll('.bvi-speech-resume')\n let selectorStop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n if (typeof callback === 'function') {\n return callback(element, event)\n }\n }, false)\n })\n }\n\n el(selectorPlay, (element, event) => {\n let target = event.target\n let text = target.parentNode.nextElementSibling;\n let closest = event.target.closest('.bvi-speech-link')\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n\n this._speech(text.textContent, text, true);\n\n play.forEach(element => element.classList.remove('disabled'))\n pause.forEach(element => element.classList.add('disabled'))\n resume.forEach(element => element.classList.add('disabled'))\n stop.forEach(element => element.classList.add('disabled'))\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n closest.querySelector('.bvi-speech-stop').classList.remove('disabled')\n })\n\n el(selectorPause, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-resume').classList.remove('disabled')\n synth().pause()\n })\n\n el(selectorResume, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n synth().resume()\n })\n\n el(selectorStop, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.add('disabled')\n closest.querySelector('.bvi-speech-play').classList.remove('disabled')\n synth().cancel();\n })\n }\n } else {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n }\n }\n\n _speech(text, element, echo = false) {\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n synth().cancel()\n const getWordAt = (str, pos) => {\n str = String(str)\n pos = Number(pos) >>> 0\n\n let left = str.slice(0, pos + 1).search(/\\S+$/)\n let right = str.slice(pos).search(/\\s/)\n\n if (right < 0) {\n return str.slice(left)\n }\n return str.slice(left, right + pos)\n }\n\n let chunkLength = 120\n let patternRegex = new RegExp('^[\\\\s\\\\S]{' + Math.floor(chunkLength / 2) + ',' + chunkLength + '}[.!?,]{1}|^[\\\\s\\\\S]{1,' + chunkLength + '}$|^[\\\\s\\\\S]{1,' + chunkLength + '} ')\n let array = []\n let $text = text\n let voices = synth().getVoices()\n\n while ($text.length > 0) {\n array.push($text.match(patternRegex)[0])\n $text = $text.substring(array[array.length - 1].length)\n }\n\n array.forEach(getText => {\n let utter = new SpeechSynthesisUtterance(getText.trim())\n utter.volume = 1\n utter.rate = 1\n utter.pitch = 1\n utter.lang = this._config.lang\n\n for (let i = 0; i < voices.length; i++) {\n if (this._config.lang === 'ru-RU' && voices[i].name === 'Microsoft Pavel - Russian (Russia)') {\n utter.voice = voices[i]\n }\n\n if (this._config.lang === 'en-US' && voices[i].name === 'Microsoft Pavel - English (English)') {\n utter.voice = voices[i]\n }\n }\n\n if (echo) {\n utter.onboundary = event => {\n\n element.classList.add('bvi-highlighting')\n let world = getWordAt(event.utterance.text, event.charIndex)\n let textContent = element.textContent\n let term = world.replace(/(\\s+)/, '((<[^>]+>)*$1(<[^>]+>)*)')\n let pattern = new RegExp('(' + term + ')', 'gi')\n textContent = textContent.replace(pattern, '$1')\n textContent = textContent.replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\\/mark>)/, '$1$2$4')\n element.innerHTML = textContent\n }\n\n utter.onend = event => {\n element.classList.remove('bvi-highlighting')\n let textContent = element.textContent\n textContent = textContent.replace(/($1<\\/mark>)/, '$1')\n element.innerHTML = textContent\n }\n }\n\n synth().speak(utter)\n })\n }\n }\n}\n\nexport default Bvi\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): index.umd.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n/*import 'core-js/stable';*/\nimport 'regenerator-runtime/runtime'\nimport Bvi from './bvi'\n\nexport default { Bvi }\n"]} \ No newline at end of file +{"version":3,"sources":["../../node_modules/regenerator-runtime/runtime.js","../../src/js/util/index.js","../../src/js/util/cookie.js","../../src/js/i18n.js","../../src/js/bvi.js","../../src/js/index.umd.js"],"names":["runtime","exports","undefined","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","arg","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","GenStateSuspendedYield","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","Element","Document","DocumentFragment","item","argArr","Array","arguments","docFrag","document","createDocumentFragment","argItem","isNode","Node","appendChild","createTextNode","String","insertBefore","firstChild","window","NodeList","HTMLCollection","stringToBoolean","string","wrapInner","parent","wrapper","className","createElement","unwrap","child","removeChild","parentNode","replaceChild","getObject","callback","getArray","array","from","synth","speechSynthesis","setCookie","now","Date","time","getTime","setTime","cookie","concat","toUTCString","location","hostname","host","getCookie","decodedCookie","decodeURIComponent","cookies","split","trim","indexOf","substring","removeCookie","lang","text","fontSize","siteColors","images","speech","settings","regularVersionOfTheSite","letterSpacing","normal","average","big","lineHeight","font","arial","times","builtElements","on","off","plural_0","plural_1","plural_2","voice","fontSizePlus","fontSizeMinus","siteColorBlackOnWhite","siteColorWhiteOnBlack","siteColorDarkBlueOnBlue","siteColorBeigeBrown","siteColorGreenOnDarkBrown","imagesOn","imagesOFF","imagesGrayscale","speechOn","speechOff","lineHeightNormal","lineHeightAverage","lineHeightBig","LetterSpacingNormal","LetterSpacingAverage","LetterSpacingBig","fontArial","fontTimes","builtElementsOn","builtElementsOFF","resetSettings","panelShow","panelHide","panelOn","panelOff","I18n","options","_classCallCheck","_config","Default","target","theme","fontFamily","panelFixed","reload","DefaultType","DefaultOptions","Bvi","_getConfig","_elements","querySelectorAll","_i18n","_addEventListeners","_init","console","log","_set","_getPanel","_addEventListenersPanel","_images","_speechPlayer","setInterval","pending","play","pause","resume","el","elements","element","classList","remove","add","_remove","_this","addEventListener","event","preventDefault","_speech","v","_this2","querySelector","themeWhite","themeBlack","themeBlue","themeBrown","themeGreen","imagesOff","letterSpacingNormal","letterSpacingAverage","letterSpacingBig","fontFamilyArial","fontFamilyTimes","builtElementsOff","links","modal","activeLink","_step","_iterator","_createForOfIteratorHelper","children","s","n","e","f","click","activeAll","link","size","parseFloat","_setAttrDataBviBody","getAttribute","body","style","overflow","toggle","contains","scroll","pageYOffset","documentElement","scrollTop","linkHide","html","t","insertAdjacentHTML","_this3","display","bviPanel","bviBody","bviLinkFixedTop","getComputedStyle","backgroundImage","background","config","_objectSpread2","extended","keyDefault","configTypes","configOptions","expectedTypes","valueType","_typeof","nodeType","toString","match","toLowerCase","toType","RegExp","test","expectedOptions","checkConfig","setAttribute","_this4","selectorSpeechText","selectorSpeechLink","selectorBviSpeech","speechDivBlock","index","id","selectorPlay","selectorPause","selectorResume","selectorStop","nextElementSibling","closest","textContent","cancel","_this5","echo","getWordAt","str","pos","Number","left","search","right","chunkLength","patternRegex","Math","floor","$text","voices","getVoices","getText","utter","SpeechSynthesisUtterance","volume","rate","pitch","onboundary","world","utterance","charIndex","term","replace","pattern","innerHTML","onend","speak"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/index.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n(function (arr) {\n arr.forEach(function (item) {\n if (item.hasOwnProperty('prepend')) {\n return\n }\n Object.defineProperty(item, 'prepend', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function prepend () {\n var argArr = Array.prototype.slice.call(arguments),\n docFrag = document.createDocumentFragment()\n\n argArr.forEach(function (argItem) {\n var isNode = argItem instanceof Node\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)))\n })\n\n this.insertBefore(docFrag, this.firstChild)\n },\n })\n })\n})([Element.prototype, Document.prototype, DocumentFragment.prototype])\n\nif (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach\n}\n\nif (window.HTMLCollection && !HTMLCollection.prototype.forEach) {\n HTMLCollection.prototype.forEach = Array.prototype.forEach\n}\n\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst checkConfig = (config, configTypes, configOptions) => {\n Object.keys(configTypes).forEach(key => {\n const expectedTypes = configTypes[key]\n const value = config[key]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" предоставленный тип \"${valueType}\", ожидаемый тип \"${expectedTypes}\".`,\n )\n }\n })\n\n Object.keys(configOptions).forEach(key => {\n const expectedOptions = configOptions[key]\n const value = config[key]\n\n if (!new RegExp(expectedOptions).test(value)) {\n throw new TypeError(\n `Bvi console: Опция \"${key}\" параметр \"${value}\", ожидаемый параметр \"${expectedOptions}\".`,\n )\n }\n })\n}\n\nconst plural = (number, text = ['пиксель', 'пекселя', 'пикселей']) => {\n if (number % 10 === 1 && number % 100 !== 11) {\n return `${number} ${text[0]}`\n } else if (number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20)) {\n return `${number} ${text[1]}`\n } else {\n return `${number} ${text[2]}`\n }\n}\n\nconst stringToBoolean = string => {\n switch (string) {\n case 'on':\n case 'true':\n case '1':\n return true\n default:\n return false\n }\n}\n\nconst wrapInner = (parent, wrapper, className) => {\n if (typeof wrapper === 'string') {\n wrapper = document.createElement(wrapper)\n }\n\n parent.appendChild(wrapper).className = className\n\n while (parent.firstChild !== wrapper) {\n wrapper.appendChild(parent.firstChild)\n }\n}\n\nconst unwrap = wrapper => {\n let docFrag = document.createDocumentFragment()\n\n if (!wrapper) return\n\n while (wrapper.firstChild) {\n let child = wrapper.removeChild(wrapper.firstChild)\n docFrag.appendChild(child)\n }\n\n wrapper.parentNode.replaceChild(docFrag, wrapper)\n}\n\nconst getObject = (object, callback) => {\n Object.keys(object).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst getArray = (array, callback) => {\n Array.from(array).forEach(key => {\n if (typeof callback === 'function') {\n callback(key)\n }\n })\n}\n\nconst inArray = (needle, haystack) => {\n let length = haystack.length\n\n for (let i = 0; i < length; i++) {\n if (haystack[i] === needle) {\n return true\n }\n }\n\n return false\n}\n\nconst synth = () => window.speechSynthesis\n\nconst synthSupportBrowser = () => {\n return 'speechSynthesis' in window\n}\n\nexport {\n plural,\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n synthSupportBrowser,\n inArray,\n}\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): util/cookie.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst setCookie = function (name = '', value = '') {\n let now = new Date();\n let time = now.getTime();\n time += 24 * 60 * 60 * 1000;\n now.setTime(time);\n document.cookie = `bvi_${name}=${value};path=/;expires=${now.toUTCString()};domain=${location.hostname !== 'localhost' ? location.host : 'localhost'}`;\n};\n\nconst getCookie = function (name = '') {\n name = `bvi_${name}=`;\n let decodedCookie = decodeURIComponent(document.cookie);\n let cookies = decodedCookie.split(';');\n\n for (let i = 0; i < cookies.length; i++) {\n let cookie = cookies[i].trim();\n\n if (cookie.indexOf(name) !== -1) {\n return cookie.substring(name.length, cookie.length);\n }\n }\n};\n\nconst removeCookie = function (name = '') {\n document.cookie = `bvi_${name}=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=${location.hostname !== 'localhost' ? location.host : 'localhost'}`;\n};\n\nexport {\n setCookie,\n getCookie,\n removeCookie,\n};\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): i18n.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nconst lang = {\n 'ru-RU': {\n 'text': {\n 'fontSize': 'Размер шрифта',\n 'siteColors': 'Цвета сайта',\n 'images': 'Изображения',\n 'speech': 'Синтез речи',\n 'settings': 'Настройки',\n 'regularVersionOfTheSite': 'Обычная версия сайта',\n 'letterSpacing': 'Межбуквенное расстояние',\n 'normal': 'Стандартный',\n 'average': 'Средний',\n 'big': 'Большой',\n 'lineHeight': 'Межстрочный интервал',\n 'font': 'Шрифт',\n 'arial': 'Без засечек',\n 'times': 'С засечками',\n 'builtElements': 'Встроенные элементы (Видео, карты и тд.)',\n 'on': 'Включить',\n 'off': 'Выключить',\n 'reset': 'Сбросить настройки',\n 'plural_0': 'пиксель',\n 'plural_1': 'пекселя',\n 'plural_2': 'пикселей',\n },\n 'voice': {\n 'fontSizePlus': 'Размер шрифта увели́чен',\n 'fontSizeMinus': 'Размер шрифта уме́ньшен',\n 'siteColorBlackOnWhite': 'Цвет сайта черным по белому',\n 'siteColorWhiteOnBlack': 'Цвет сайта белым по черному',\n 'siteColorDarkBlueOnBlue': 'Цвет сайта тёмно-синим по голубому',\n 'siteColorBeigeBrown': 'Цвет сайта кори́чневым по бе́жевому',\n 'siteColorGreenOnDarkBrown': 'Цвет сайта зеленым по тёмно-коричневому',\n 'imagesOn': 'Изображения включены',\n 'imagesOFF': 'Изображения выключены',\n 'imagesGrayscale': 'Изображения чёрно-белые',\n 'speechOn': 'Синтез речи включён',\n 'speechOff': 'Синтез речи вы́ключен',\n 'lineHeightNormal': 'Межстрочный интервал стандартный',\n 'lineHeightAverage': 'Межстрочный интервал средний',\n 'lineHeightBig': 'Межстрочный интервал большой',\n 'LetterSpacingNormal': 'Интервал между буквами стандартный',\n 'LetterSpacingAverage': 'Интервал между буквами средний',\n 'LetterSpacingBig': 'Интервал между буквами большой',\n 'fontArial': 'Шрифт без засечек',\n 'fontTimes': 'Шрифт с засечками',\n 'builtElementsOn': 'Встроенные элементы включены',\n 'builtElementsOFF': 'Встроенные элементы выключены',\n 'resetSettings': 'Установлены настройки по умолча́нию',\n 'panelShow': 'Панель открыта',\n 'panelHide': 'Панель скрыта',\n 'panelOn': 'Версия сайта для слабови́дящий',\n 'panelOff': 'Обычная версия сайта',\n }\n },\n 'en-US': {\n 'text': {\n 'fontSize': 'Font size',\n 'siteColors': 'Site colors',\n 'images': 'Images',\n 'speech': 'Speech synthesis',\n 'settings': 'Settings',\n 'regularVersionOfTheSite': 'Regular version Of The site',\n 'letterSpacing': 'Letter spacing',\n 'normal': 'Single',\n 'average': 'One and a half',\n 'big': 'Double',\n 'lineHeight': 'Line spacing',\n 'font':'Font',\n 'arial': 'Sans Serif - Arial',\n 'times': 'Serif - Times New Roman',\n 'builtElements': 'Include inline elements (Videos, maps, etc.)',\n 'on': 'Enable',\n 'off': 'Disabled',\n 'reset': 'Reset settings',\n 'plural_0': 'pixel',\n 'plural_1': 'pixels',\n 'plural_2': 'pixels',\n },\n 'voice': {\n 'fontSizePlus': 'Font size increased',\n 'fontSizeMinus': 'Font size reduced',\n 'siteColorBlackOnWhite': 'Site color black on white',\n 'siteColorWhiteOnBlack': 'Site color white on black',\n 'siteColorDarkBlueOnBlue': 'Site color dark blue on cyan',\n 'siteColorBeigeBrown': 'SiteColorBeigeBrown',\n 'siteColorGreenOnDarkBrown': 'Site color green on dark brown',\n 'imagesOn': 'Images enable',\n 'imagesOFF': 'Images disabled',\n 'imagesGrayscale': 'Images gray scale',\n 'speechOn': 'Synthesis speech enable',\n 'speechOff': 'Synthesis speech disabled',\n 'lineHeightNormal': 'Line spacing single',\n 'lineHeightAverage': 'Line spacing one and a half',\n 'lineHeightBig': 'Line spacing double',\n 'LetterSpacingNormal': 'Letter spacing single',\n 'LetterSpacingAverage': 'Letter spacing one and a half',\n 'LetterSpacingBig': 'Letter spacing letter double',\n 'fontArial': 'Sans Serif - Arial',\n 'fontTimes': 'Serif - Times New Roman',\n 'builtElementsOn': 'Include inline elements are enabled',\n 'builtElementsOFF': 'Include inline elements are disabled',\n 'resetSettings': 'Default settings have been set',\n 'panelShow': 'Panel show',\n 'panelHide': 'Panel hide',\n 'panelOn': 'Site version for visually impaired',\n 'panelOff': 'Regular version of the site',\n }\n }\n}\n\nclass I18n {\n constructor(options) {\n this._config = options\n }\n\n t(key) {\n return lang[this._config.lang]['text'][key]\n }\n\n v(key) {\n return lang[this._config.lang]['voice'][key]\n }\n}\n\nexport default I18n\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): bvi.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\nimport {\n checkConfig,\n stringToBoolean,\n wrapInner,\n unwrap,\n getObject,\n getArray,\n synth,\n} from './util'\n\nimport {\n setCookie,\n getCookie,\n removeCookie,\n} from './util/cookie'\nimport I18n from './i18n'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst Default = {\n target: '.bvi-open',\n fontSize: 16,\n theme: 'white',\n images: 'grayscale',\n letterSpacing: 'normal',\n lineHeight: 'normal',\n speech: true,\n fontFamily: 'arial',\n builtElements: false,\n panelFixed: true,\n panelHide: false,\n reload: false,\n lang: 'ru-RU',\n}\n\nconst DefaultType = {\n target: 'string',\n fontSize: 'number',\n theme: 'string',\n images: '(string|boolean)',\n letterSpacing: 'string',\n lineHeight: 'string',\n speech: 'boolean',\n fontFamily: 'string',\n builtElements: 'boolean',\n panelFixed: 'boolean',\n panelHide: 'boolean',\n reload: 'boolean',\n lang: 'string',\n}\n\nconst DefaultOptions = {\n target: '',\n fontSize: '(^[1-9]$|^[1-3][0-9]?$|^39$)',\n theme: '(white|black|blue|brown|green)',\n images: '(true|false|grayscale)',\n letterSpacing: '(normal|average|big)',\n lineHeight: '(normal|average|big)',\n speech: '(true|false)',\n fontFamily: '(arial|times)',\n builtElements: '(true|false)',\n panelFixed: '(true|false)',\n panelHide: '(true|false)',\n reload: '(true|false)',\n lang: '(ru-RU|en-US)',\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Bvi {\n constructor(options) {\n this._config = this._getConfig(options)\n this._elements = document.querySelectorAll(this._config.target)\n this._i18n = new I18n({\n lang: this._config.lang\n })\n\n this._addEventListeners()\n this._init()\n\n console.log('Bvi console: ready Button visually impaired v1.0.0')\n }\n\n // Private\n\n _init() {\n getObject(this._config, key => {\n if (typeof getCookie(key) === 'undefined') {\n removeCookie('panelActive')\n }\n })\n\n if (stringToBoolean(getCookie('panelActive'))) {\n this._set()\n this._getPanel()\n this._addEventListenersPanel()\n this._images()\n this._speechPlayer()\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n setInterval(() => {\n if (synth().pending === false) {\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n return callback(element)\n })\n }\n\n el(play, element => element.classList.remove('disabled'))\n el(pause, element => element.classList.add('disabled'))\n el(resume, element => element.classList.add('disabled'))\n el(stop, element => element.classList.add('disabled'))\n }\n }, 1000)\n }\n\n } else {\n this._remove()\n }\n }\n\n _addEventListeners() {\n if (!this._elements) {\n return false\n }\n\n this._elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n getObject(this._config, key => setCookie(key, this._config[key]))\n setCookie('panelActive', true)\n\n this._init()\n this._speech(`${this._i18n.v('panelOn')}`)\n })\n })\n\n }\n\n _addEventListenersPanel() {\n const elements = {\n fontSizeMinus: document.querySelector('.bvi-fontSize-minus'),\n fontSizePlus: document.querySelector('.bvi-fontSize-plus'),\n themeWhite: document.querySelector('.bvi-theme-white'),\n themeBlack: document.querySelector('.bvi-theme-black'),\n themeBlue: document.querySelector('.bvi-theme-blue'),\n themeBrown: document.querySelector('.bvi-theme-brown'),\n themeGreen: document.querySelector('.bvi-theme-green'),\n imagesOn: document.querySelector('.bvi-images-on'),\n imagesOff: document.querySelector('.bvi-images-off'),\n imagesGrayscale: document.querySelector('.bvi-images-grayscale'),\n speechOn: document.querySelector('.bvi-speech-on'),\n speechOff: document.querySelector('.bvi-speech-off'),\n lineHeightNormal: document.querySelector('.bvi-line-height-normal'),\n lineHeightAverage: document.querySelector('.bvi-line-height-average'),\n lineHeightBig: document.querySelector('.bvi-line-height-big'),\n letterSpacingNormal: document.querySelector('.bvi-letter-spacing-normal'),\n letterSpacingAverage: document.querySelector('.bvi-letter-spacing-average'),\n letterSpacingBig: document.querySelector('.bvi-letter-spacing-big'),\n fontFamilyArial: document.querySelector('.bvi-font-family-arial'),\n fontFamilyTimes: document.querySelector('.bvi-font-family-times'),\n builtElementsOn: document.querySelector('.bvi-built-elements-on'),\n builtElementsOff: document.querySelector('.bvi-built-elements-off'),\n reset: document.querySelector('.bvi-reset'),\n links: document.querySelectorAll('.bvi-link'),\n modal: document.querySelector('.bvi-modal')\n }\n\n const activeLink = element => {\n for (let sibling of element.parentNode.children) {\n sibling.classList.remove('active')\n }\n\n element.classList.add('active')\n }\n\n const click = (element, callback) => {\n element.addEventListener('click', event => {\n event.preventDefault()\n\n if (typeof callback === 'function') {\n callback(event)\n }\n })\n }\n\n const activeAll = () => {\n let links = document.querySelectorAll('.bvi-link')\n\n links.forEach(link => {\n link.classList.remove('active')\n })\n\n getObject(this._config, key => {\n if (key === 'theme') {\n let value = getCookie(key)\n document.querySelector(`.bvi-theme-${value}`).classList.add('active')\n }\n\n if (key === 'images') {\n let value = getCookie(key) === 'grayscale' ? 'grayscale' : stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-images-${value}`).classList.add('active')\n }\n\n if (key === 'speech') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-speech-${value}`).classList.add('active')\n }\n\n if (key === 'lineHeight') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-line-height-${value}`).classList.add('active')\n }\n\n if (key === 'letterSpacing') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-letter-spacing-${value}`).classList.add('active')\n }\n\n if (key === 'fontFamily') {\n let value = getCookie(key)\n\n document.querySelector(`.bvi-font-family-${value}`).classList.add('active')\n }\n\n if (key === 'builtElements') {\n let value = stringToBoolean(getCookie(key)) ? 'on' : 'off'\n\n document.querySelector(`.bvi-built-elements-${value}`).classList.add('active')\n }\n })\n }\n\n activeAll()\n\n // Font size\n click(elements.fontSizeMinus, () => {\n let size = parseFloat(getCookie('fontSize')) - 1\n\n if (size !== 0) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizeMinus')}`)\n activeLink(elements.fontSizeMinus)\n }\n })\n\n click(elements.fontSizePlus, () => {\n let size = parseFloat(getCookie('fontSize')) + 1\n\n if (size !== 40) {\n this._setAttrDataBviBody('fontSize', size)\n setCookie('fontSize', size)\n this._speech(`${this._i18n.v('fontSizePlus')}`)\n activeLink(elements.fontSizePlus)\n }\n })\n\n // Theme\n click(elements.themeWhite, () => {\n this._setAttrDataBviBody('theme', 'white')\n setCookie('theme', 'white')\n this._speech(`${this._i18n.v('siteColorBlackOnWhite')}`)\n activeLink(elements.themeWhite)\n })\n\n click(elements.themeBlack, () => {\n this._setAttrDataBviBody('theme', 'black')\n setCookie('theme', 'black')\n this._speech(`${this._i18n.v('siteColorWhiteOnBlack')}`)\n activeLink(elements.themeBlack)\n })\n\n click(elements.themeBlue, () => {\n this._setAttrDataBviBody('theme', 'blue')\n setCookie('theme', 'blue')\n this._speech(`${this._i18n.v('siteColorDarkBlueOnBlue')}`)\n activeLink(elements.themeBlue)\n })\n\n click(elements.themeBrown, () => {\n this._setAttrDataBviBody('theme', 'brown')\n setCookie('theme', 'brown')\n this._speech(`${this._i18n.v('siteColorBeigeBrown')}`)\n activeLink(elements.themeBrown)\n })\n\n click(elements.themeGreen, () => {\n this._setAttrDataBviBody('theme', 'green')\n setCookie('theme', 'green')\n this._speech(`${this._i18n.v('siteColorGreenOnDarkBrown')}`)\n activeLink(elements.themeGreen)\n })\n\n // Images\n click(elements.imagesOn, () => {\n this._setAttrDataBviBody('images', 'true')\n setCookie('images', 'true')\n this._speech(`${this._i18n.v('imagesOn')}`)\n activeLink(elements.imagesOn)\n })\n\n click(elements.imagesOff, () => {\n this._setAttrDataBviBody('images', 'false')\n setCookie('images', 'false')\n this._speech(`${this._i18n.v('imagesOFF')}`)\n activeLink(elements.imagesOff)\n })\n\n click(elements.imagesGrayscale, () => {\n this._setAttrDataBviBody('images', 'grayscale')\n setCookie('images', 'grayscale')\n this._speech(`${this._i18n.v('imagesGrayscale')}`)\n activeLink(elements.imagesGrayscale)\n })\n\n // Speech\n click(elements.speechOn, () => {\n this._setAttrDataBviBody('speech', 'true')\n setCookie('speech', 'true')\n this._speech(`${this._i18n.v('speechOn')}`)\n activeLink(elements.speechOn)\n this._speechPlayer()\n })\n\n click(elements.speechOff, () => {\n this._speech(`${this._i18n.v('speechOff')}`)\n this._setAttrDataBviBody('speech', 'false')\n setCookie('speech', 'false')\n activeLink(elements.speechOff)\n this._speechPlayer()\n })\n\n // Line height\n click(elements.lineHeightNormal, () => {\n this._setAttrDataBviBody('lineHeight', 'normal')\n setCookie('lineHeight', 'normal')\n this._speech(`${this._i18n.v('lineHeightNormal')}`)\n activeLink(elements.lineHeightNormal)\n })\n\n click(elements.lineHeightAverage, () => {\n this._setAttrDataBviBody('lineHeight', 'average')\n setCookie('lineHeight', 'average')\n this._speech(`${this._i18n.v('lineHeightAverage')}`)\n activeLink(elements.lineHeightAverage)\n })\n\n click(elements.lineHeightBig, () => {\n this._setAttrDataBviBody('lineHeight', 'big')\n setCookie('lineHeight', 'big')\n this._speech(`${this._i18n.v('lineHeightBig')}`)\n activeLink(elements.lineHeightBig)\n })\n\n // Letter spacing\n click(elements.letterSpacingNormal, () => {\n this._setAttrDataBviBody('letterSpacing', 'normal')\n setCookie('letterSpacing', 'normal')\n this._speech(`${this._i18n.v('LetterSpacingNormal')}`)\n activeLink(elements.letterSpacingNormal)\n })\n\n click(elements.letterSpacingAverage, () => {\n this._setAttrDataBviBody('letterSpacing', 'average')\n setCookie('letterSpacing', 'average')\n this._speech(`${this._i18n.v('LetterSpacingAverage')}`)\n activeLink(elements.letterSpacingAverage)\n })\n\n click(elements.letterSpacingBig, () => {\n this._setAttrDataBviBody('letterSpacing', 'big')\n setCookie('letterSpacing', 'big')\n this._speech(`${this._i18n.v('LetterSpacingBig')}`)\n activeLink(elements.letterSpacingBig)\n })\n\n // Font family\n click(elements.fontFamilyArial, () => {\n this._setAttrDataBviBody('fontFamily', 'arial')\n setCookie('fontFamily', 'arial')\n this._speech(`${this._i18n.v('fontArial')}`)\n activeLink(elements.fontFamilyArial)\n })\n\n click(elements.fontFamilyTimes, () => {\n this._setAttrDataBviBody('fontFamily', 'times')\n setCookie('fontFamily', 'times')\n this._speech(`${this._i18n.v('fontTimes')}`)\n activeLink(elements.fontFamilyTimes)\n })\n\n // Built elements\n click(elements.builtElementsOn, () => {\n this._setAttrDataBviBody('builtElements', 'true')\n setCookie('builtElements', 'true')\n this._speech(`${this._i18n.v('builtElementsOn')}`)\n activeLink(elements.builtElementsOn)\n })\n\n click(elements.builtElementsOff, () => {\n this._setAttrDataBviBody('builtElements', 'false')\n setCookie('builtElements', 'false')\n this._speech(`${this._i18n.v('builtElementsOFF')}`)\n activeLink(elements.builtElementsOff)\n })\n\n // Reset\n click(elements.reset, () => {\n this._speech(`${this._i18n.v('resetSettings')}`)\n getObject(this._config, key => {\n this._setAttrDataBviBody(key, this._config[key])\n setCookie(key, this._config[key])\n activeAll()\n })\n })\n\n getArray(elements.links, element => {\n click(element, event => {\n let target = event.target.getAttribute('data-bvi')\n\n if (target === 'close') {\n this._setAttrDataBviBody('panelActive', 'false')\n setCookie('panelActive', 'false')\n this._init()\n }\n\n if (target === 'modal') {\n document.body.style.overflow = 'hidden'\n document.body.classList.add('bvi-noscroll')\n elements.modal.classList.toggle('show')\n }\n\n if (target === 'modal-close') {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n\n if (target === 'panel-hide') {\n document.querySelector('.bvi-panel').classList.add('bvi-panel-hide')\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-hide')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-show')\n setCookie('panelHide', 'true')\n this._speech(`${this._i18n.v('panelHide')}`)\n }\n\n if (target === 'panel-show') {\n document.querySelector('.bvi-link-fixed-top').classList.remove('bvi-show')\n document.querySelector('.bvi-link-fixed-top').classList.add('bvi-hide')\n document.querySelector('.bvi-panel').classList.remove('bvi-panel-hide')\n setCookie('panelHide', 'false')\n this._speech(`${this._i18n.v('panelShow')}`)\n }\n })\n })\n\n click(elements.modal, event => {\n if (event.target.contains(elements.modal)) {\n document.body.classList.remove('bvi-noscroll')\n document.body.style.overflow = ''\n elements.modal.classList.remove('show')\n }\n })\n }\n\n _getPanel() {\n const scroll = () => {\n let scroll = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop\n\n if (stringToBoolean(getCookie('panelFixed'))) {\n if (scroll > 200) {\n document.querySelector('.bvi-panel').classList.add('bvi-fixed-top')\n } else {\n document.querySelector('.bvi-panel').classList.remove('bvi-fixed-top')\n }\n }\n }\n\n let panelHide = stringToBoolean(getCookie('panelHide')) ? ' bvi-panel-hide' : ''\n let linkHide = !stringToBoolean(getCookie('panelHide')) ? ' bvi-hide' : 'bvi-show'\n let html = `\n
\n
\n
\n
${this._i18n.t('fontSize')}
\n А-\n А+\n
\n
\n
${this._i18n.t('siteColors')}
\n Ц\n Ц\n Ц\n Ц\n Ц\n
\n
\n
${this._i18n.t('images')}
\n \n \n \n \n \n \n \n \n \n
\n
\n
${this._i18n.t('speech')}
\n \n \n \n \n \n \n
\n
\n
${this._i18n.t('settings')}
\n \n \n \n \n ${this._i18n.t('regularVersionOfTheSite')}\n \n \n \n \n
\n
\n
\n
\n
\n
\n
${this._i18n.t('settings')}
\n ×\n
\n
\n
\n \n \n
\n
${this._i18n.t('font')}
\n ${this._i18n.t('arial')}\n ${this._i18n.t('times')}\n
\n
\n
${this._i18n.t('builtElements')}
\n ${this._i18n.t('on')}\n ${this._i18n.t('off')}\n
\n
\n \n
\n \n
\n
\n
\n
`\n\n let link = `` +\n ''\n\n window.addEventListener('scroll', scroll)\n document.querySelector('.bvi-body').insertAdjacentHTML('beforebegin', html)\n document.querySelector('.bvi-body').insertAdjacentHTML('afterbegin', link)\n scroll()\n }\n\n _set() {\n document.body.classList.add('bvi-active')\n wrapInner(document.body, 'div', 'bvi-body')\n getObject(this._config, key => this._setAttrDataBviBody(key, getCookie(key)))\n getArray(this._elements, element => element.style.display = 'none')\n\n document.querySelectorAll('img')\n .forEach(element => {\n if (element.classList.contains('bvi-img')) {\n element.classList.remove('bvi-img')\n }\n })\n\n document.querySelectorAll('body *')\n .forEach(element => {\n if (element.classList.contains('bvi-background-image')) {\n element.classList.remove('bvi-background-image')\n }\n })\n }\n\n _remove() {\n let bviPanel = document.querySelector('.bvi-panel')\n let bviBody = document.querySelector('.bvi-body')\n let bviLinkFixedTop = document.querySelector('.bvi-link-fixed-top')\n\n if (bviPanel) {\n bviPanel.remove()\n }\n\n if (bviBody) {\n unwrap(bviBody)\n }\n\n if (bviLinkFixedTop) {\n bviLinkFixedTop.remove()\n }\n\n this._speech(`${this._i18n.v('panelOff')}`)\n\n document.body.classList.remove('bvi-active')\n\n getArray(this._elements, element => element.style.display = '')\n\n if (stringToBoolean(getCookie('reload'))) {\n document.location.reload()\n }\n\n getObject(this._config, key => {\n removeCookie(key)\n })\n\n this._speechPlayer()\n\n removeCookie('panelActive')\n }\n\n _images() {\n document.querySelectorAll('img').forEach(element => {\n if (!element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-img')\n }\n })\n\n document.querySelectorAll('.bvi-body *').forEach(element => {\n let style = getComputedStyle(element)\n if (style.backgroundImage !== 'none' && style.background !== 'none' && !element.classList.contains('bvi-no-style')) {\n element.classList.add('bvi-background-image')\n }\n })\n }\n\n _getConfig(config) {\n config = {...Default, ...config}\n let extended = {}\n\n for (let keyDefault in Default) {\n extended[keyDefault] = config[keyDefault]\n }\n\n checkConfig(extended, DefaultType, DefaultOptions)\n\n return extended\n }\n\n _setAttrDataBviBody(name = '', value = '') {\n document.querySelector('.bvi-body').setAttribute(`data-bvi-${name}`, value)\n }\n\n _speechPlayer() {\n let selectorSpeechText = document.querySelectorAll('.bvi-speech-text')\n let selectorSpeechLink = document.querySelectorAll('.bvi-speech-link')\n let selectorBviSpeech = document.querySelectorAll('.bvi-speech')\n\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n\n if (selectorBviSpeech) {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n\n selectorBviSpeech.forEach((speechDivBlock, index) => {\n let id = `bvi-speech-text-id-${index + 1}`\n let html = `\n `\n\n wrapInner(speechDivBlock, 'div', `bvi-speech-text ${id}`)\n speechDivBlock.insertAdjacentHTML('afterbegin', html)\n })\n\n let selectorPlay = document.querySelectorAll('.bvi-speech-play')\n let selectorPause = document.querySelectorAll('.bvi-speech-pause')\n let selectorResume = document.querySelectorAll('.bvi-speech-resume')\n let selectorStop = document.querySelectorAll('.bvi-speech-stop')\n const el = (elements, callback) => {\n elements.forEach(element => {\n element.addEventListener('click', event => {\n event.preventDefault()\n if (typeof callback === 'function') {\n return callback(element, event)\n }\n }, false)\n })\n }\n\n el(selectorPlay, (element, event) => {\n let target = event.target\n let text = target.parentNode.nextElementSibling;\n let closest = event.target.closest('.bvi-speech-link')\n let play = document.querySelectorAll('.bvi-speech-play')\n let pause = document.querySelectorAll('.bvi-speech-pause')\n let resume = document.querySelectorAll('.bvi-speech-resume')\n let stop = document.querySelectorAll('.bvi-speech-stop')\n\n this._speech(text.textContent, text, true);\n\n play.forEach(element => element.classList.remove('disabled'))\n pause.forEach(element => element.classList.add('disabled'))\n resume.forEach(element => element.classList.add('disabled'))\n stop.forEach(element => element.classList.add('disabled'))\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n closest.querySelector('.bvi-speech-stop').classList.remove('disabled')\n })\n\n el(selectorPause, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-resume').classList.remove('disabled')\n synth().pause()\n })\n\n el(selectorResume, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.remove('disabled')\n synth().resume()\n })\n\n el(selectorStop, (element, event) => {\n let target = event.target\n let closest = event.target.closest('.bvi-speech-link')\n\n target.classList.add('disabled')\n closest.querySelector('.bvi-speech-pause').classList.add('disabled')\n closest.querySelector('.bvi-speech-play').classList.remove('disabled')\n synth().cancel();\n })\n }\n } else {\n if (selectorSpeechText) {\n selectorSpeechText.forEach(element => unwrap(element))\n }\n\n if (selectorSpeechLink) {\n selectorSpeechLink.forEach(element => element.remove())\n }\n }\n }\n\n _speech(text, element, echo = false) {\n if ('speechSynthesis' in window && stringToBoolean(getCookie('speech'))) {\n synth().cancel()\n const getWordAt = (str, pos) => {\n str = String(str)\n pos = Number(pos) >>> 0\n\n let left = str.slice(0, pos + 1).search(/\\S+$/)\n let right = str.slice(pos).search(/\\s/)\n\n if (right < 0) {\n return str.slice(left)\n }\n return str.slice(left, right + pos)\n }\n\n let chunkLength = 120\n let patternRegex = new RegExp('^[\\\\s\\\\S]{' + Math.floor(chunkLength / 2) + ',' + chunkLength + '}[.!?,]{1}|^[\\\\s\\\\S]{1,' + chunkLength + '}$|^[\\\\s\\\\S]{1,' + chunkLength + '} ')\n let array = []\n let $text = text\n let voices = synth().getVoices()\n\n while ($text.length > 0) {\n array.push($text.match(patternRegex)[0])\n $text = $text.substring(array[array.length - 1].length)\n }\n\n array.forEach(getText => {\n let utter = new SpeechSynthesisUtterance(getText.trim())\n utter.volume = 1\n utter.rate = 1\n utter.pitch = 1\n utter.lang = this._config.lang\n\n for (let i = 0; i < voices.length; i++) {\n if (this._config.lang === 'ru-RU' && voices[i].name === 'Microsoft Pavel - Russian (Russia)') {\n utter.voice = voices[i]\n }\n\n if (this._config.lang === 'en-US' && voices[i].name === 'Microsoft Pavel - English (English)') {\n utter.voice = voices[i]\n }\n }\n\n if (echo) {\n utter.onboundary = event => {\n\n element.classList.add('bvi-highlighting')\n let world = getWordAt(event.utterance.text, event.charIndex)\n let textContent = element.textContent\n let term = world.replace(/(\\s+)/, '((<[^>]+>)*$1(<[^>]+>)*)')\n let pattern = new RegExp('(' + term + ')', 'gi')\n textContent = textContent.replace(pattern, '$1')\n textContent = textContent.replace(/([^<>]*)((<[^>]+>)+)([^<>]*<\\/mark>)/, '$1$2$4')\n element.innerHTML = textContent\n }\n\n utter.onend = event => {\n element.classList.remove('bvi-highlighting')\n let textContent = element.textContent\n textContent = textContent.replace(/($1<\\/mark>)/, '$1')\n element.innerHTML = textContent\n }\n }\n\n synth().speak(utter)\n })\n }\n }\n}\n\nexport default Bvi\n","/**\n * --------------------------------------------------------------------------\n * Button visually impaired (v1.0.0): index.umd.js\n * Licensed under MIT (https://github.com/veks/button-visually-impaired-javascript/blob/master/LICENSE.md)\n * --------------------------------------------------------------------------\n */\n\n/*import 'core-js/stable';*/\nimport 'regenerator-runtime/runtime'\nimport Bvi from './bvi'\n\nexport default { Bvi }\n"]} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7c03dec..1fa5c7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,6151 @@ { "name": "bvi", - "version": "1.0.1", - "lockfileVersion": 1, + "version": "1.0.0", + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "bvi", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "core-js": "^3.14.0", + "regenerator-runtime": "^0.13.7" + }, + "devDependencies": { + "@babel/core": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-object-assign": "^7.14.5", + "@babel/plugin-transform-runtime": "^7.14.5", + "@babel/preset-env": "^7.14.5", + "@rollup/plugin-commonjs": "^19.0.0", + "@rollup/plugin-node-resolve": "^13.0.0", + "babel-plugin-array-includes": "^2.0.3", + "clean-css-cli": "^5.3.0", + "eslint": "^7.28.0", + "nodemon": "^2.0.7", + "npm-run-all": "^4.1.5", + "postcss": "^8.3.3", + "postcss-cli": "^8.3.1", + "rollup": "^2.51.2", + "rollup-plugin-babel": "^4.4.0", + "rollup-plugin-node-polyfills": "^0.2.1", + "rollup-plugin-replace": "^2.2.0", + "rollup-plugin-terser": "^7.0.2", + "sass": "^1.34.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", + "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz", + "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.8", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.8", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.14.8", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.8", + "@babel/types": "^7.14.8", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz", + "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.8.tgz", + "integrity": "sha512-bpYvH8zJBWzeqi1o+co8qOrw+EXzQ/0c74gVmY205AWXy9nifHrOg77y+1zwxX5lXE7Icq4sPlSQ4O2kWBrteQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.7", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", + "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz", + "integrity": "sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.8", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.8", + "@babel/types": "^7.14.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", + "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz", + "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz", + "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.8", + "@babel/types": "^7.14.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz", + "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", + "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", + "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", + "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", + "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz", + "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-assign": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.14.5.tgz", + "integrity": "sha512-lvhjk4UN9xJJYB1mI5KC0/o1D5EcJXdbhVe+4fSk08D6ZN+iuAIs7LJC+71h8av9Ew4+uRq9452v9R93SFmQlQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.8.tgz", + "integrity": "sha512-a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.8", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", + "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.8.tgz", + "integrity": "sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.8", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.8", + "@babel/types": "^7.14.8", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz", + "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.8", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.2.tgz", + "integrity": "sha512-gBjarfqlC7qs0AutpRW/hrFNm+cd2/QKxhwyFa+srbg1oX7rDsEU3l+W7LAUhsAp9mPJMAkXDhLbQaVwEaE8bA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^2.38.3" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "13.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz", + "integrity": "sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^2.42.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "16.4.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.6.tgz", + "integrity": "sha512-FKyawK3o5KL16AwbeFajen8G4K3mmqUrQsehn5wNKs8IzlKHE8TfnSmILXVMVziAEcnB23u1RCFU1NT6hSyr7Q==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "dependencies": { + "string-width": "^3.0.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/babel-plugin-array-includes": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-array-includes/-/babel-plugin-array-includes-2.0.3.tgz", + "integrity": "sha1-z1RS6Bx7gD+3lZ8QRayI4uwo/3Y=", + "dev": true + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001248", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz", + "integrity": "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/clean-css": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz", + "integrity": "sha512-qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css-cli": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.3.0.tgz", + "integrity": "sha512-Jri2KVAcan/Y1JuEDo1rUlm3vUoGvMKSOpIL2YEPgalksvoGur/yL2KbtMF2dPs2VlMVj1afzp76Vu0KjxKfvA==", + "dev": true, + "dependencies": { + "clean-css": "^5.1.2", + "commander": "7.x", + "glob": "^7.1.6" + }, + "bin": { + "cleancss": "bin/cleancss" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/core-js": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", + "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz", + "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/dependency-graph": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", + "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.3.790", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.790.tgz", + "integrity": "sha512-epMH/S2MkhBv+Y0+nHK8dC7bzmOaPwcmiYqt+VwxSUJLgPzkqZnGUEQ8eVhy5zGmgWm9tDDdXkHDzOEsVU979A==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", + "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", + "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", + "dev": true, + "dependencies": { + "ini": "1.3.7" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "node_modules/import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "dependencies": { + "import-from": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "dependencies": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", + "dev": true + }, + "node_modules/lodash.forown": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-4.4.0.tgz", + "integrity": "sha1-hRFc8E9z75ZuztUlEdOJPMRmg68=", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "node_modules/lodash.groupby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", + "integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "node_modules/nodemon": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.12.tgz", + "integrity": "sha512-egCTmNZdObdBxUBw6ZNwvZ/xzk24CKRs5K6d+5zbmrMr7rOpPmfPeF6OxM3DDpaRx331CQRFEktn+wrFFfBSOA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.3", + "update-notifier": "^4.1.0" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/npm-run-all/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm-run-all/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "dev": true, + "dependencies": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-cli": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-8.3.1.tgz", + "integrity": "sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "chokidar": "^3.3.0", + "dependency-graph": "^0.9.0", + "fs-extra": "^9.0.0", + "get-stdin": "^8.0.0", + "globby": "^11.0.0", + "postcss-load-config": "^3.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^3.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "postcss": "bin/postcss" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/postcss-cli/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/postcss-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/postcss-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/postcss-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "dependencies": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-reporter": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.2.tgz", + "integrity": "sha512-JyQ96NTQQsso42y6L1H1RqHfWH1C3Jr0pt91mVv5IdYddZAE9DUZxuferNgk6q0o6vBVOrfVJb10X1FgDzjmDw==", + "dev": true, + "dependencies": { + "colorette": "^1.2.1", + "lodash.difference": "^4.5.0", + "lodash.forown": "^4.4.0", + "lodash.get": "^4.4.2", + "lodash.groupby": "^4.6.0", + "lodash.sortby": "^4.7.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dev": true, + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.55.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.55.0.tgz", + "integrity": "sha512-Atc3QqelKzrKwRkqnSdq0d2Mi8e0iGuL+kZebKMZ4ysyWHD5hw9VfVCAuODIW5837RENV8LXcbAEHurYf+ArvA==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-babel": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", + "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "rollup-pluginutils": "^2.8.1" + }, + "peerDependencies": { + "@babel/core": "7 || ^7.0.0-rc.2", + "rollup": ">=0.60.0 <3" + } + }, + "node_modules/rollup-plugin-inject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", + "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1", + "magic-string": "^0.25.3", + "rollup-pluginutils": "^2.8.1" + } + }, + "node_modules/rollup-plugin-inject/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/rollup-plugin-node-polyfills": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", + "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", + "dev": true, + "dependencies": { + "rollup-plugin-inject": "^3.0.0" + } + }, + "node_modules/rollup-plugin-replace": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz", + "integrity": "sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==", + "deprecated": "This module has moved and is now available at @rollup/plugin-replace. Please update your dependencies. This version is no longer maintained.", + "dev": true, + "dependencies": { + "magic-string": "^0.25.2", + "rollup-pluginutils": "^2.6.0" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/sass": { + "version": "1.36.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.36.0.tgz", + "integrity": "sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", + "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "dependencies": { + "debug": "^2.2.0" + } + }, + "node_modules/undefsafe/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/undefsafe/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-notifier": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", + "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", + "dev": true, + "dependencies": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/update-notifier/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.14.5", @@ -1261,7 +7404,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "ajv": { "version": "6.12.6", @@ -1285,9 +7429,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "emoji-regex": { @@ -1331,9 +7475,9 @@ "dev": true }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -3053,9 +9197,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "ms": { @@ -3065,9 +9209,9 @@ "dev": true }, "nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", "dev": true }, "natural-compare": { diff --git a/src/js/util/cookie.js b/src/js/util/cookie.js index 3afd70d..19ba877 100644 --- a/src/js/util/cookie.js +++ b/src/js/util/cookie.js @@ -10,7 +10,7 @@ const setCookie = function (name = '', value = '') { let time = now.getTime(); time += 24 * 60 * 60 * 1000; now.setTime(time); - document.cookie = `bvi_${name}=${value};path=/;expires=${now.toUTCString()};domain=${location.host}`; + document.cookie = `bvi_${name}=${value};path=/;expires=${now.toUTCString()};domain=${location.hostname !== 'localhost' ? location.host : 'localhost'}`; }; const getCookie = function (name = '') { @@ -28,7 +28,7 @@ const getCookie = function (name = '') { }; const removeCookie = function (name = '') { - document.cookie = `bvi_${name}=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=${location.host}`; + document.cookie = `bvi_${name}=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=${location.hostname !== 'localhost' ? location.host : 'localhost'}`; }; export {