mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-17 09:53:07 +09:00
301 lines
22 KiB
JavaScript
301 lines
22 KiB
JavaScript
|
|
function run_test() {
|
||
|
|
for (var k in SOURCE_MAP_TEST_MODULE) {
|
||
|
|
if (/^test/.test(k)) {
|
||
|
|
SOURCE_MAP_TEST_MODULE[k](assert);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
var SOURCE_MAP_TEST_MODULE =
|
||
|
|
/******/ (function(modules) { // webpackBootstrap
|
||
|
|
/******/ // The module cache
|
||
|
|
/******/ var installedModules = {};
|
||
|
|
/******/
|
||
|
|
/******/ // The require function
|
||
|
|
/******/ function __webpack_require__(moduleId) {
|
||
|
|
/******/
|
||
|
|
/******/ // Check if module is in cache
|
||
|
|
/******/ if(installedModules[moduleId])
|
||
|
|
/******/ return installedModules[moduleId].exports;
|
||
|
|
/******/
|
||
|
|
/******/ // Create a new module (and put it into the cache)
|
||
|
|
/******/ var module = installedModules[moduleId] = {
|
||
|
|
/******/ exports: {},
|
||
|
|
/******/ id: moduleId,
|
||
|
|
/******/ loaded: false
|
||
|
|
/******/ };
|
||
|
|
/******/
|
||
|
|
/******/ // Execute the module function
|
||
|
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||
|
|
/******/
|
||
|
|
/******/ // Flag the module as loaded
|
||
|
|
/******/ module.loaded = true;
|
||
|
|
/******/
|
||
|
|
/******/ // Return the exports of the module
|
||
|
|
/******/ return module.exports;
|
||
|
|
/******/ }
|
||
|
|
/******/
|
||
|
|
/******/
|
||
|
|
/******/ // expose the modules object (__webpack_modules__)
|
||
|
|
/******/ __webpack_require__.m = modules;
|
||
|
|
/******/
|
||
|
|
/******/ // expose the module cache
|
||
|
|
/******/ __webpack_require__.c = installedModules;
|
||
|
|
/******/
|
||
|
|
/******/ // __webpack_public_path__
|
||
|
|
/******/ __webpack_require__.p = "";
|
||
|
|
/******/
|
||
|
|
/******/ // Load entry module and return exports
|
||
|
|
/******/ return __webpack_require__(0);
|
||
|
|
/******/ })
|
||
|
|
/************************************************************************/
|
||
|
|
/******/ ([
|
||
|
|
/* 0 */
|
||
|
|
/***/ function(module, exports, __webpack_require__) {
|
||
|
|
|
||
|
|
/* -*- Mode: js; js-indent-level: 2; -*- */
|
||
|
|
/*
|
||
|
|
* Copyright 2011 Mozilla Foundation and contributors
|
||
|
|
* Licensed under the New BSD license. See LICENSE or:
|
||
|
|
* http://opensource.org/licenses/BSD-3-Clause
|
||
|
|
*/
|
||
|
|
{
|
||
|
|
var base64VLQ = __webpack_require__(1);
|
||
|
|
|
||
|
|
exports['test normal encoding and decoding'] = function (assert) {
|
||
|
|
var result = {};
|
||
|
|
for (var i = -255; i < 256; i++) {
|
||
|
|
var str = base64VLQ.encode(i);
|
||
|
|
base64VLQ.decode(str, 0, result);
|
||
|
|
assert.equal(result.value, i);
|
||
|
|
assert.equal(result.rest, str.length);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/***/ },
|
||
|
|
/* 1 */
|
||
|
|
/***/ function(module, exports, __webpack_require__) {
|
||
|
|
|
||
|
|
/* -*- Mode: js; js-indent-level: 2; -*- */
|
||
|
|
/*
|
||
|
|
* Copyright 2011 Mozilla Foundation and contributors
|
||
|
|
* Licensed under the New BSD license. See LICENSE or:
|
||
|
|
* http://opensource.org/licenses/BSD-3-Clause
|
||
|
|
*
|
||
|
|
* Based on the Base 64 VLQ implementation in Closure Compiler:
|
||
|
|
* https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java
|
||
|
|
*
|
||
|
|
* Copyright 2011 The Closure Compiler Authors. All rights reserved.
|
||
|
|
* Redistribution and use in source and binary forms, with or without
|
||
|
|
* modification, are permitted provided that the following conditions are
|
||
|
|
* met:
|
||
|
|
*
|
||
|
|
* * Redistributions of source code must retain the above copyright
|
||
|
|
* notice, this list of conditions and the following disclaimer.
|
||
|
|
* * Redistributions in binary form must reproduce the above
|
||
|
|
* copyright notice, this list of conditions and the following
|
||
|
|
* disclaimer in the documentation and/or other materials provided
|
||
|
|
* with the distribution.
|
||
|
|
* * Neither the name of Google Inc. nor the names of its
|
||
|
|
* contributors may be used to endorse or promote products derived
|
||
|
|
* from this software without specific prior written permission.
|
||
|
|
*
|
||
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||
|
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
|
*/
|
||
|
|
{
|
||
|
|
var base64 = __webpack_require__(2);
|
||
|
|
|
||
|
|
// A single base 64 digit can contain 6 bits of data. For the base 64 variable
|
||
|
|
// length quantities we use in the source map spec, the first bit is the sign,
|
||
|
|
// the next four bits are the actual value, and the 6th bit is the
|
||
|
|
// continuation bit. The continuation bit tells us whether there are more
|
||
|
|
// digits in this value following this digit.
|
||
|
|
//
|
||
|
|
// Continuation
|
||
|
|
// | Sign
|
||
|
|
// | |
|
||
|
|
// V V
|
||
|
|
// 101011
|
||
|
|
|
||
|
|
var VLQ_BASE_SHIFT = 5;
|
||
|
|
|
||
|
|
// binary: 100000
|
||
|
|
var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
|
||
|
|
|
||
|
|
// binary: 011111
|
||
|
|
var VLQ_BASE_MASK = VLQ_BASE - 1;
|
||
|
|
|
||
|
|
// binary: 100000
|
||
|
|
var VLQ_CONTINUATION_BIT = VLQ_BASE;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Converts from a two-complement value to a value where the sign bit is
|
||
|
|
* placed in the least significant bit. For example, as decimals:
|
||
|
|
* 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)
|
||
|
|
* 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)
|
||
|
|
*/
|
||
|
|
function toVLQSigned(aValue) {
|
||
|
|
return aValue < 0
|
||
|
|
? ((-aValue) << 1) + 1
|
||
|
|
: (aValue << 1) + 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Converts to a two-complement value from a value where the sign bit is
|
||
|
|
* placed in the least significant bit. For example, as decimals:
|
||
|
|
* 2 (10 binary) becomes 1, 3 (11 binary) becomes -1
|
||
|
|
* 4 (100 binary) becomes 2, 5 (101 binary) becomes -2
|
||
|
|
*/
|
||
|
|
function fromVLQSigned(aValue) {
|
||
|
|
var isNegative = (aValue & 1) === 1;
|
||
|
|
var shifted = aValue >> 1;
|
||
|
|
return isNegative
|
||
|
|
? -shifted
|
||
|
|
: shifted;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns the base 64 VLQ encoded value.
|
||
|
|
*/
|
||
|
|
exports.encode = function base64VLQ_encode(aValue) {
|
||
|
|
var encoded = "";
|
||
|
|
var digit;
|
||
|
|
|
||
|
|
var vlq = toVLQSigned(aValue);
|
||
|
|
|
||
|
|
do {
|
||
|
|
digit = vlq & VLQ_BASE_MASK;
|
||
|
|
vlq >>>= VLQ_BASE_SHIFT;
|
||
|
|
if (vlq > 0) {
|
||
|
|
// There are still more digits in this value, so we must make sure the
|
||
|
|
// continuation bit is marked.
|
||
|
|
digit |= VLQ_CONTINUATION_BIT;
|
||
|
|
}
|
||
|
|
encoded += base64.encode(digit);
|
||
|
|
} while (vlq > 0);
|
||
|
|
|
||
|
|
return encoded;
|
||
|
|
};
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Decodes the next base 64 VLQ value from the given string and returns the
|
||
|
|
* value and the rest of the string via the out parameter.
|
||
|
|
*/
|
||
|
|
exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
|
||
|
|
var strLen = aStr.length;
|
||
|
|
var result = 0;
|
||
|
|
var shift = 0;
|
||
|
|
var continuation, digit;
|
||
|
|
|
||
|
|
do {
|
||
|
|
if (aIndex >= strLen) {
|
||
|
|
throw new Error("Expected more digits in base 64 VLQ value.");
|
||
|
|
}
|
||
|
|
|
||
|
|
digit = base64.decode(aStr.charCodeAt(aIndex++));
|
||
|
|
if (digit === -1) {
|
||
|
|
throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
|
||
|
|
}
|
||
|
|
|
||
|
|
continuation = !!(digit & VLQ_CONTINUATION_BIT);
|
||
|
|
digit &= VLQ_BASE_MASK;
|
||
|
|
result = result + (digit << shift);
|
||
|
|
shift += VLQ_BASE_SHIFT;
|
||
|
|
} while (continuation);
|
||
|
|
|
||
|
|
aOutParam.value = fromVLQSigned(result);
|
||
|
|
aOutParam.rest = aIndex;
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/***/ },
|
||
|
|
/* 2 */
|
||
|
|
/***/ function(module, exports) {
|
||
|
|
|
||
|
|
/* -*- Mode: js; js-indent-level: 2; -*- */
|
||
|
|
/*
|
||
|
|
* Copyright 2011 Mozilla Foundation and contributors
|
||
|
|
* Licensed under the New BSD license. See LICENSE or:
|
||
|
|
* http://opensource.org/licenses/BSD-3-Clause
|
||
|
|
*/
|
||
|
|
{
|
||
|
|
var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Encode an integer in the range of 0 to 63 to a single base 64 digit.
|
||
|
|
*/
|
||
|
|
exports.encode = function (number) {
|
||
|
|
if (0 <= number && number < intToCharMap.length) {
|
||
|
|
return intToCharMap[number];
|
||
|
|
}
|
||
|
|
throw new TypeError("Must be between 0 and 63: " + number);
|
||
|
|
};
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Decode a single base 64 character code digit to an integer. Returns -1 on
|
||
|
|
* failure.
|
||
|
|
*/
|
||
|
|
exports.decode = function (charCode) {
|
||
|
|
var bigA = 65; // 'A'
|
||
|
|
var bigZ = 90; // 'Z'
|
||
|
|
|
||
|
|
var littleA = 97; // 'a'
|
||
|
|
var littleZ = 122; // 'z'
|
||
|
|
|
||
|
|
var zero = 48; // '0'
|
||
|
|
var nine = 57; // '9'
|
||
|
|
|
||
|
|
var plus = 43; // '+'
|
||
|
|
var slash = 47; // '/'
|
||
|
|
|
||
|
|
var littleOffset = 26;
|
||
|
|
var numberOffset = 52;
|
||
|
|
|
||
|
|
// 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||
|
|
if (bigA <= charCode && charCode <= bigZ) {
|
||
|
|
return (charCode - bigA);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 26 - 51: abcdefghijklmnopqrstuvwxyz
|
||
|
|
if (littleA <= charCode && charCode <= littleZ) {
|
||
|
|
return (charCode - littleA + littleOffset);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 52 - 61: 0123456789
|
||
|
|
if (zero <= charCode && charCode <= nine) {
|
||
|
|
return (charCode - zero + numberOffset);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 62: +
|
||
|
|
if (charCode == plus) {
|
||
|
|
return 62;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 63: /
|
||
|
|
if (charCode == slash) {
|
||
|
|
return 63;
|
||
|
|
}
|
||
|
|
|
||
|
|
// Invalid base64 digit.
|
||
|
|
return -1;
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/***/ }
|
||
|
|
/******/ ]);
|
||
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgODE2ZmNlY2MyY2FkYmFiMjRjOGIiLCJ3ZWJwYWNrOi8vLy4vdGVzdC90ZXN0LWJhc2U2NC12bHEuanMiLCJ3ZWJwYWNrOi8vLy4vbGliL2Jhc2U2NC12bHEuanMiLCJ3ZWJwYWNrOi8vLy4vbGliL2Jhc2U2NC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUFlO0FBQ2Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7QUN0Q0EsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUJBQXNCLFNBQVM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNsQkEsaUJBQWdCLG9CQUFvQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTJEO0FBQzNELHFCQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLOztBQUVMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7Ozs7OztBQzVJQSxpQkFBZ0Isb0JBQW9CO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQWtCO0FBQ2xCLG1CQUFrQjs7QUFFbEIsc0JBQXFCO0FBQ3JCLHVCQUFzQjs7QUFFdEIsbUJBQWtCO0FBQ2xCLG1CQUFrQjs7QUFFbEIsbUJBQWtCO0FBQ2xCLG9CQUFtQjs7QUFFbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJ0ZXN0X2Jhc2U2NF92bHEuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0ZXhwb3J0czoge30sXG4gXHRcdFx0aWQ6IG1vZHVsZUlkLFxuIFx0XHRcdGxvYWRlZDogZmFsc2VcbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubG9hZGVkID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIHdlYnBhY2svYm9vdHN0cmFwIDgxNmZjZWNjMmNhZGJhYjI0YzhiXG4gKiovIiwiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xue1xuICB2YXIgYmFzZTY0VkxRID0gcmVxdWlyZSgnLi4vbGliL2Jhc2U2NC12bHEnKTtcblxuICBleHBvcnRzWyd0ZXN0IG5vcm1hbCBlbmNvZGluZyBhbmQgZGVjb
|