var Core = /******/ (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] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = 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; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./src/index.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./src/builtins/24hour.js": /*!********************************!*\ !*** ./src/builtins/24hour.js ***! \********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class TwentyFourHour extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"24Hour\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"twentyFourHour\";\n }\n\n enabled() {\n this.inject24Hour();\n }\n\n disabled() {\n if (!this.cancel24Hour) return;\n this.cancel24Hour();\n delete this.cancel24Hour;\n }\n\n inject24Hour() {\n if (this.cancel24Hour) return;\n const twelveHour = new RegExp(`([0-9]{1,2}):([0-9]{1,2})\\\\s(AM|PM)`);\n\n const convert = data => {\n const matched = data.returnValue.match(twelveHour);\n if (!matched || matched.length !== 4) return;\n if (matched[3] === \"AM\") return data.returnValue = data.returnValue.replace(matched[0], `${matched[1] === \"12\" ? \"00\" : matched[1].padStart(2, \"0\")}:${matched[2]}`);\n return data.returnValue = data.returnValue.replace(matched[0], `${matched[1] === \"12\" ? \"12\" : parseInt(matched[1]) + 12}:${matched[2]}`);\n };\n\n const cancelCozy = modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].TimeFormatter, \"calendarFormat\", {\n after: convert\n }); // Called in Cozy mode\n\n const cancelCompact = modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].TimeFormatter, \"dateFormat\", {\n after: convert\n }); // Called in Compact mode\n\n this.cancel24Hour = () => {\n cancelCozy();\n cancelCompact();\n }; // Cancel both\n\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zLzI0aG91ci5qcz9kZTc4Il0sIm5hbWVzIjpbIlR3ZW50eUZvdXJIb3VyIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiZW5hYmxlZCIsImluamVjdDI0SG91ciIsImRpc2FibGVkIiwiY2FuY2VsMjRIb3VyIiwidHdlbHZlSG91ciIsIlJlZ0V4cCIsImNvbnZlcnQiLCJkYXRhIiwibWF0Y2hlZCIsInJldHVyblZhbHVlIiwibWF0Y2giLCJsZW5ndGgiLCJyZXBsYWNlIiwicGFkU3RhcnQiLCJwYXJzZUludCIsImNhbmNlbENvenkiLCJVdGlsaXRpZXMiLCJtb25rZXlQYXRjaCIsIkRpc2NvcmRNb2R1bGVzIiwiVGltZUZvcm1hdHRlciIsImFmdGVyIiwiY2FuY2VsQ29tcGFjdCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVlLG1FQUFJLE1BQU1BLGNBQU4sU0FBNkJDLHdEQUE3QixDQUFxQztBQUNwRCxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLFFBQVA7QUFBaUI7O0FBQzdCLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxnQkFBUDtBQUF5Qjs7QUFFbkNDLFNBQU8sR0FBRztBQUNOLFNBQUtDLFlBQUw7QUFDSDs7QUFFREMsVUFBUSxHQUFHO0FBQ1AsUUFBSSxDQUFDLEtBQUtDLFlBQVYsRUFBd0I7QUFDeEIsU0FBS0EsWUFBTDtBQUNBLFdBQU8sS0FBS0EsWUFBWjtBQUNIOztBQUVERixjQUFZLEdBQUc7QUFDWCxRQUFJLEtBQUtFLFlBQVQsRUFBdUI7QUFFdkIsVUFBTUMsVUFBVSxHQUFHLElBQUlDLE1BQUosQ0FBWSxxQ0FBWixDQUFuQjs7QUFDQSxVQUFNQyxPQUFPLEdBQUlDLElBQUQsSUFBVTtBQUN0QixZQUFNQyxPQUFPLEdBQUdELElBQUksQ0FBQ0UsV0FBTCxDQUFpQkMsS0FBakIsQ0FBdUJOLFVBQXZCLENBQWhCO0FBQ0EsVUFBSSxDQUFDSSxPQUFELElBQVlBLE9BQU8sQ0FBQ0csTUFBUixLQUFtQixDQUFuQyxFQUFzQztBQUN0QyxVQUFJSCxPQUFPLENBQUMsQ0FBRCxDQUFQLEtBQWUsSUFBbkIsRUFBeUIsT0FBT0QsSUFBSSxDQUFDRSxXQUFMLEdBQW1CRixJQUFJLENBQUNFLFdBQUwsQ0FBaUJHLE9BQWpCLENBQXlCSixPQUFPLENBQUMsQ0FBRCxDQUFoQyxFQUFzQyxHQUFFQSxPQUFPLENBQUMsQ0FBRCxDQUFQLEtBQWUsSUFBZixHQUFzQixJQUF0QixHQUE2QkEsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXSyxRQUFYLENBQW9CLENBQXBCLEVBQXVCLEdBQXZCLENBQTRCLElBQUdMLE9BQU8sQ0FBQyxDQUFELENBQUksRUFBL0csQ0FBMUI7QUFDekIsYUFBT0QsSUFBSSxDQUFDRSxXQUFMLEdBQW1CRixJQUFJLENBQUNFLFdBQUwsQ0FBaUJHLE9BQWpCLENBQXlCSixPQUFPLENBQUMsQ0FBRCxDQUFoQyxFQUFzQyxHQUFFQSxPQUFPLENBQUMsQ0FBRCxDQUFQLEtBQWUsSUFBZixHQUFzQixJQUF0QixHQUE2Qk0sUUFBUSxDQUFDTixPQUFPLENBQUMsQ0FBRCxDQUFSLENBQVIsR0FBdUIsRUFBRyxJQUFHQSxPQUFPLENBQUMsQ0FBRCxDQUFJLEVBQTdHLENBQTFCO0FBQ0gsS0FMRDs7QUFPQSxVQUFNTyxVQUFVLEdBQUdDLGlEQUFTLENBQUNDLFdBQVYsQ0FBc0JDLHNEQUFjLENBQUNDLGFBQXJDLEVBQW9ELGdCQUFwRCxFQUFzRTtBQUFDQyxXQUFLLEVBQUVkO0FBQVIsS0FBdEUsQ0FBbkIsQ0FYVyxDQVdpRzs7QUFDNUcsVUFBTWUsYUFBYSxHQUFHTCxpREFBUyxDQUFDQyxXQUFWLENBQXNCQyxzREFBYyxDQUFDQyxhQUFyQyxFQUFvRCxZQUFwRCxFQUFrRTtBQUFDQyxXQUFLLEVBQUVkO0FBQVIsS0FBbEUsQ0FBdEIsQ0FaVyxDQVlnRzs7QUFDM0csU0FBS0gsWUFBTCxHQUFvQixNQUFNO0FBQUNZLGdCQUFVO0FBQUlNLG1CQUFhO0FBQUksS0FBMUQsQ0FiVyxDQWFpRDs7QUFDL0Q7O0FBN0JtRCxDQUF6QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zLzI0aG91ci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtVdGlsaXRpZXMsIERpc2NvcmRNb2R1bGVzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFR3ZW50eUZvdXJIb3VyIGV4dGVuZHMgQnVpbHRpbiB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCIyNEhvdXJcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJ0d2VudHlGb3VySG91clwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgIHRoaXMuaW5qZWN0MjRIb3VyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNhbmNlbDI0SG91cikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuY2FuY2VsMjRIb3VyKCk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuY2FuY2VsMjRIb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIGluamVjdDI0SG91cigpIHtcclxuICAgICAgICBpZiAodGhpcy5jYW5jZWwyNEhvdXIpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgdHdlbHZlSG91ciA9IG5ldyBSZWdFeHAoYChbMC05XXsxLDJ9KTooWzAtOV17MSwyfSlcXFxccyhBTXxQTSlgKTtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ID0gKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbWF0Y2hlZCA9IGRhdGEucmV0dXJuVmFsdWUubWF0Y2godHdlbHZlSG91cik7XHJcbiAgICAgICAgICAgIGlmICghbWF0Y2hlZCB8fCBtYXRjaGVkLmxlbmd0aCAhPT0gNCkgcmV0dXJuO1xyXG4gICAgICAgICAgICBpZiAobWF0Y2hlZFszXSA9PT0gXCJBTVwiKSByZXR1cm4gZGF0YS5yZXR1cm5WYWx1ZSA9IGRhdGEucmV0dXJuVmFsdWUucmVwbGFjZShtYXRjaGVkWzBdLCBgJHttYXRjaGVkWzFdID09PSBcIjEyXCIgPyBcIjAwXCIgOiBtYXRjaGVkWzFdLnBhZFN0YXJ0KDIsIFwiMFwiKX06JHttYXRjaGVkWzJdfWApO1xyXG4gICAgICAgICAgICByZXR1cm4gZGF0YS5yZXR1cm5WYWx1ZSA9IGRhdGEucmV0dXJuVmFsdWUucmVwbGFjZShtYXRjaGVkWzBdLCBgJHttYXRjaGVkWzFdID09PSBcIjEyXCIgPyBcIjEyXCIgOiBwYXJzZUludChtYXRjaGVkWzFdKSArIDEyfToke21hdGNoZWRbMl19YCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgY2FuY2VsQ296eSA9IFV0aWxpdGllcy5tb25rZXlQYXRjaChEaXNjb3JkTW9kdWxlcy5UaW1lRm9ybWF0dGVyLCBcImNhbGVuZGFyRm9ybWF0XCIsIHthZnRlcjogY29udmVydH0pOyAvLyBDYWxsZWQgaW4gQ296eSBtb2RlXHJcbiAgICAgICAgY29uc3QgY2FuY2VsQ29tcGFjdCA9IFV0aWxpdGllcy5tb25rZXlQYXRjaChEaXNjb3JkTW9kdWxlcy5UaW1lRm9ybWF0dGVyLCBcImRhdGVGb3JtYXRcIiwge2FmdGVyOiBjb252ZXJ0fSk7IC8vIENhbGxlZCBpbiBDb21wYWN0IG1vZGVcclxuICAgICAgICB0aGlzLmNhbmNlbDI0SG91ciA9ICgpID0+IHtjYW5jZWxDb3p5KCk7IGNhbmNlbENvbXBhY3QoKTt9OyAvLyBDYW5jZWwgYm90aFxyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/24hour.js\n"); /***/ }), /***/ "./src/builtins/builtins.js": /*!**********************************!*\ !*** ./src/builtins/builtins.js ***! \**********************************/ /*! exports provided: VoiceMode, ClassNormalizer, DeveloperMode, PublicServers, DarkMode, MinimalMode, TwentyFourHour, ColoredText, VoiceDisconnect, EmoteMenu, EmoteAutocaps, EmoteModule */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _voicemode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./voicemode */ \"./src/builtins/voicemode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceMode\", function() { return _voicemode__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _classnormalizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classnormalizer */ \"./src/builtins/classnormalizer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClassNormalizer\", function() { return _classnormalizer__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _developermode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./developermode */ \"./src/builtins/developermode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeveloperMode\", function() { return _developermode__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _publicservers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./publicservers */ \"./src/builtins/publicservers.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PublicServers\", function() { return _publicservers__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _darkmode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./darkmode */ \"./src/builtins/darkmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DarkMode\", function() { return _darkmode__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _minimalmode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./minimalmode */ \"./src/builtins/minimalmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MinimalMode\", function() { return _minimalmode__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _24hour__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./24hour */ \"./src/builtins/24hour.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TwentyFourHour\", function() { return _24hour__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _coloredtext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./coloredtext */ \"./src/builtins/coloredtext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColoredText\", function() { return _coloredtext__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./voicedisconnect */ \"./src/builtins/voicedisconnect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceDisconnect\", function() { return _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _emotemenu__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./emotemenu */ \"./src/builtins/emotemenu.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteMenu\", function() { return _emotemenu__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./emoteautocaps */ \"./src/builtins/emoteautocaps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteAutocaps\", function() { return _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteModule\", function() { return _emotes__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2J1aWx0aW5zLmpzPzU5YTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL2J1aWx0aW5zLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtkZWZhdWx0IGFzIFZvaWNlTW9kZX0gZnJvbSBcIi4vdm9pY2Vtb2RlXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDbGFzc05vcm1hbGl6ZXJ9IGZyb20gXCIuL2NsYXNzbm9ybWFsaXplclwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRGV2ZWxvcGVyTW9kZX0gZnJvbSBcIi4vZGV2ZWxvcGVybW9kZVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgUHVibGljU2VydmVyc30gZnJvbSBcIi4vcHVibGljc2VydmVyc1wiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRGFya01vZGV9IGZyb20gXCIuL2Rhcmttb2RlXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBNaW5pbWFsTW9kZX0gZnJvbSBcIi4vbWluaW1hbG1vZGVcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIFR3ZW50eUZvdXJIb3VyfSBmcm9tIFwiLi8yNGhvdXJcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIENvbG9yZWRUZXh0fSBmcm9tIFwiLi9jb2xvcmVkdGV4dFwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgVm9pY2VEaXNjb25uZWN0fSBmcm9tIFwiLi92b2ljZWRpc2Nvbm5lY3RcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIEVtb3RlTWVudX0gZnJvbSBcIi4vZW1vdGVtZW51XCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbW90ZUF1dG9jYXBzfSBmcm9tIFwiLi9lbW90ZWF1dG9jYXBzXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbW90ZU1vZHVsZX0gZnJvbSBcIi4vZW1vdGVzXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/builtins/builtins.js\n"); /***/ }), /***/ "./src/builtins/classnormalizer.js": /*!*****************************************!*\ !*** ./src/builtins/classnormalizer.js ***! \*****************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\nconst normalizedPrefix = \"da\";\nconst randClass = new RegExp(`^(?!${normalizedPrefix}-)((?:[A-Za-z]|[0-9]|-)+)-(?:[A-Za-z]|[0-9]|-|_){6}$`);\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class ClassNormalizer extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get id() {\n return \"classNormalizer\";\n }\n\n get category() {\n return \"general\";\n }\n\n get name() {\n return \"ClassNormalizer\";\n }\n\n enabled() {\n if (this.hasPatched) return;\n this.patchClassModules(modules__WEBPACK_IMPORTED_MODULE_1__[\"WebpackModules\"].getModules(this.moduleFilter.bind(this)));\n this.normalizeElement(document.querySelector(\"#app-mount\"));\n this.hasPatched = true;\n this.patchDOMMethods();\n }\n\n disabled() {\n if (!this.hasPatched) return;\n this.unpatchClassModules(modules__WEBPACK_IMPORTED_MODULE_1__[\"WebpackModules\"].getModules(this.moduleFilter.bind(this)));\n this.revertElement(document.querySelector(\"#app-mount\"));\n this.hasPatched = false;\n }\n\n patchClassModules(modules) {\n for (const module of modules) {\n this.patchClassModule(normalizedPrefix, module);\n }\n }\n\n unpatchClassModules(modules) {\n for (const module of modules) {\n this.unpatchClassModule(normalizedPrefix, module);\n }\n }\n\n shouldIgnore(value) {\n if (!isNaN(value)) return true;\n if (value.endsWith(\"px\") || value.endsWith(\"ch\") || value.endsWith(\"em\") || value.endsWith(\"ms\")) return true;\n if (value.startsWith(\"layerContainer-\")) return true;\n if (value.startsWith(\"#\") && (value.length == 7 || value.length == 4)) return true;\n if (value.includes(\"calc(\") || value.includes(\"rgba\")) return true;\n return false;\n }\n\n moduleFilter(module) {\n if (typeof module !== \"object\" || Array.isArray(module)) return false;\n if (module.__esModule) return false;\n if (!Object.keys(module).length) return false;\n\n for (const baseClassName in module) {\n const value = module[baseClassName];\n if (typeof value !== \"string\") return false;\n if (this.shouldIgnore(value)) continue;\n if (value.split(\"-\").length === 1) return false;\n if (!randClass.test(value.split(\" \")[0])) return false;\n }\n\n return true;\n }\n\n patchClassModule(componentName, classNames) {\n for (const baseClassName in classNames) {\n const value = classNames[baseClassName];\n if (this.shouldIgnore(value)) continue;\n const classList = value.split(\" \");\n\n for (const normalClass of classList) {\n const match = normalClass.match(randClass)[1];\n if (!match) continue; // Shouldn't ever happen since they passed the moduleFilter, but you never know\n\n const camelCase = match.split(\"-\").map((s, i) => i ? s[0].toUpperCase() + s.slice(1) : s).join(\"\");\n classNames[baseClassName] += ` ${componentName}-${camelCase}`;\n }\n }\n }\n\n unpatchClassModule(componentName, classNames) {\n for (const baseClassName in classNames) {\n const value = classNames[baseClassName];\n if (this.shouldIgnore(value)) continue;\n let newString = \"\";\n const classList = value.split(\" \");\n\n for (const normalClass of classList) {\n if (normalClass.startsWith(`${componentName}-`)) continue;\n newString += ` ${normalClass}`;\n }\n\n classNames[baseClassName] = newString.trim();\n }\n }\n\n normalizeElement(element) {\n if (!(element instanceof Element)) return;\n const classes = element.classList;\n\n for (let c = 0, clen = classes.length; c < clen; c++) {\n if (!randClass.test(classes[c])) continue;\n const match = classes[c].match(randClass)[1];\n const newClass = match.split(\"-\").map((s, i) => i ? s[0].toUpperCase() + s.slice(1) : s).join(\"\");\n element.classList.add(`${normalizedPrefix}-${newClass}`);\n }\n\n for (const child of element.children) this.normalizeElement(child);\n }\n\n revertElement(element) {\n if (!(element instanceof Element)) return;\n if (element.children && element.children.length) this.revertElement(element.children[0]);\n if (element.nextElementSibling) this.revertElement(element.nextElementSibling);\n const classes = element.classList;\n const toRemove = [];\n\n for (let c = 0; c < classes.length; c++) {\n if (classes[c].startsWith(`${normalizedPrefix}-`)) toRemove.push(classes[c]);\n }\n\n element.classList.remove(...toRemove);\n }\n\n patchDOMMethods() {\n const contains = DOMTokenList.prototype.contains;\n\n DOMTokenList.prototype.contains = function (token) {\n const tokens = token.split(\" \");\n return tokens.every(t => contains.call(this, t));\n };\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2NsYXNzbm9ybWFsaXplci5qcz9kZDc4Il0sIm5hbWVzIjpbIm5vcm1hbGl6ZWRQcmVmaXgiLCJyYW5kQ2xhc3MiLCJSZWdFeHAiLCJDbGFzc05vcm1hbGl6ZXIiLCJCdWlsdGluIiwiaWQiLCJjYXRlZ29yeSIsIm5hbWUiLCJlbmFibGVkIiwiaGFzUGF0Y2hlZCIsInBhdGNoQ2xhc3NNb2R1bGVzIiwiV2VicGFja01vZHVsZXMiLCJnZXRNb2R1bGVzIiwibW9kdWxlRmlsdGVyIiwiYmluZCIsIm5vcm1hbGl6ZUVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJwYXRjaERPTU1ldGhvZHMiLCJkaXNhYmxlZCIsInVucGF0Y2hDbGFzc01vZHVsZXMiLCJyZXZlcnRFbGVtZW50IiwibW9kdWxlcyIsIm1vZHVsZSIsInBhdGNoQ2xhc3NNb2R1bGUiLCJ1bnBhdGNoQ2xhc3NNb2R1bGUiLCJzaG91bGRJZ25vcmUiLCJ2YWx1ZSIsImlzTmFOIiwiZW5kc1dpdGgiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwiaW5jbHVkZXMiLCJBcnJheSIsImlzQXJyYXkiLCJfX2VzTW9kdWxlIiwiT2JqZWN0Iiwia2V5cyIsImJhc2VDbGFzc05hbWUiLCJzcGxpdCIsInRlc3QiLCJjb21wb25lbnROYW1lIiwiY2xhc3NOYW1lcyIsImNsYXNzTGlzdCIsIm5vcm1hbENsYXNzIiwibWF0Y2giLCJjYW1lbENhc2UiLCJtYXAiLCJzIiwiaSIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJqb2luIiwibmV3U3RyaW5nIiwidHJpbSIsImVsZW1lbnQiLCJFbGVtZW50IiwiY2xhc3NlcyIsImMiLCJjbGVuIiwibmV3Q2xhc3MiLCJhZGQiLCJjaGlsZCIsImNoaWxkcmVuIiwibmV4dEVsZW1lbnRTaWJsaW5nIiwidG9SZW1vdmUiLCJwdXNoIiwicmVtb3ZlIiwiY29udGFpbnMiLCJET01Ub2tlbkxpc3QiLCJwcm90b3R5cGUi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TyxDQUFDWixTQUF4QjtBQUNBLFVBQU1zQixRQUFRLEdBQUcsRUFBakI7O0FBQ0EsU0FBSyxJQUFJUCxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRCxPQUFPLENBQUMxQixNQUE1QixFQUFvQzJCLENBQUMsRUFBckMsRUFBeUM7QUFDckMsVUFBSUQsT0FBTyxDQUFDQyxDQUFELENBQVAsQ0FBVzVCLFVBQVgsQ0FBdUIsR0FBRTlCLGdCQUFpQixHQUExQyxDQUFKLEVBQW1EaUUsUUFBUSxDQUFDQyxJQUFULENBQWNULE9BQU8sQ0FBQ0MsQ0FBRCxDQUFyQjtBQUN0RDs7QUFDREgsV0FBTyxDQUFDWixTQUFSLENBQWtCd0IsTUFBbEIsQ0FBeUIsR0FBR0YsUUFBNUI7QUFDSDs7QUFFRC9DLGlCQUFlLEdBQUc7QUFDZCxVQUFNa0QsUUFBUSxHQUFHQyxZQUFZLENBQUNDLFNBQWIsQ0FBdUJGLFFBQXhDOztBQUNBQyxnQkFBWSxDQUFDQyxTQUFiLENBQXVCRixRQUF2QixHQUFrQyxVQUFTRyxLQUFULEVBQWdCO0FBQzlDLFlBQU1DLE1BQU0sR0FBR0QsS0FBSyxDQUFDaEMsS0FBTixDQUFZLEdBQVosQ0FBZjtBQUNBLGFBQU9pQyxNQUFNLENBQUNDLEtBQVAsQ0FBYUMsQ0FBQyxJQUFJTixRQUFRLENBQUNPLElBQVQsQ0FBYyxJQUFkLEVBQW9CRCxDQUFwQixDQUFsQixDQUFQO0FBQ0gsS0FIRDtBQUlIOztBQWxIb0QsQ0FBMUMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9jbGFzc25vcm1hbGl6ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcbmltcG9ydCB7V2VicGFja01vZHVsZXN9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5jb25zdCBub3JtYWxpemVkUHJlZml4ID0gXCJkYVwiO1xyXG5jb25zdCByYW5kQ2xhc3MgPSBuZXcgUmVnRXhwKGBeKD8hJHtub3JtYWxpemVkUHJlZml4fS0pKCg/OltBLVphLXpdfFswLTldfC0pKyktKD86W0EtWmEtel18WzAtOV18LXxfKXs2fSRgKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBDbGFzc05vcm1hbGl6ZXIgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJjbGFzc05vcm1hbGl6ZXJcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkNsYXNzTm9ybWFsaXplclwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1BhdGNoZWQpIHJldHVybjtcclxuICAgICAgICB0aGlzLnBhdGNoQ2xhc3NNb2R1bGVzKFdlYnBhY2tNb2R1bGVzLmdldE1vZHVsZXModGhpcy5tb2R1bGVGaWx0ZXIuYmluZCh0aGlzKSkpO1xyXG4gICAgICAgIHRoaXMubm9ybWFsaXplRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2FwcC1tb3VudFwiKSk7XHJcbiAgICAgICAgdGhpcy5oYXNQYXRjaGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdGNoRE9NTWV0aG9kcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5oYXNQYXRjaGVkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy51bnBhdGNoQ2xhc3NNb2R1bGVzKFdlYnBhY2tNb2R1bGVzLmdldE1vZHVsZXModGhpcy5tb2R1bGVGaWx0ZXIuYmluZCh0aGlzKSkpO1xyXG4gICAgICAgIHRoaXMucmV2ZXJ0RWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2FwcC1tb3VudFwiKSk7XHJcbiAgICAgICAgdGhpcy5oYXNQYXRjaGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0Y2hDbGFzc01vZHVsZXMobW9kdWxlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgbW9kdWxlIG9mIG1vZHVsZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5wYXRjaENsYXNzTW9kdWxlKG5vcm1hbGl6ZWRQcmVmaXgsIG1vZHVsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVucGF0Y2hDbGFzc01vZHVsZXMobW9kdWxlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgbW9kdWxlIG9mIG1vZHVsZXMpIHtcclxuICAgICAgICAgICAgdGhpcy51bnBhdGNoQ2xhc3NNb2R1bGUobm9ybWFsaXplZFByZWZpeCwgbW9kdWxlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2hvdWxkSWdub3JlKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIGlmICh2YWx1ZS5lbmRzV2l0aChcInB4XCIpIHx8IHZhbHVlLmVuZHNXaXRoKFwiY2hcIikgfHwgdmFsdWUuZW5kc1dpdGgoXCJlbVwiKSB8fCB2YWx1ZS5lbmRzV2l0aChcIm1zXCIpKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aChcImxheWVyQ29udGFpbmVyLVwiKSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoXCIjXCIpICYmICh2YWx1ZS5sZW5ndGggPT0gNyB8fCB2YWx1ZS5sZW5ndGggPT0gNCkpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcyhcImNhbGMoXCIpIHx8IHZhbHVlLmluY2x1ZGVzKFwicmdiYVwiKSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG1vZHVsZUZpbHRlcihtb2R1bGUpIHtcclxuICAgICAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KG1vZHVsZSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBpZiAobW9kdWxlLl9fZXNNb2R1bGUpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBpZiAoIU9iamVjdC5rZXlzKG1vZHVsZSkubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgZm9yIChjb25zdCBiYXNlQ2xhc3NOYW1lIGluIG1vZHVsZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG1vZHVsZVtiYXNlQ2xhc3NOYW1lXTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zaG91bGRJZ25vcmUodmFsdWUpKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlLnNwbGl0KFwiLVwiKS5sZW5ndGggPT09IDEpIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKCFyYW5kQ2xhc3MudGVzdCh2YWx1ZS5zcGxpdChcIiBcIilbMF0pKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwYXRjaENsYXNzTW9kdWxlKGNvbXBvbmVudE5hbWUsIGNsYXNzTmFtZXMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGJhc2VDbGFzc05hbWUgaW4gY2xhc3NOYW1lcykge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNsYXNzTmFtZXNbYmFzZUNsYXNzTmFtZV07XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZElnbm9yZSh2YWx1ZSkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSB2YWx1ZS5zcGxpdChcIiBcIik7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qgbm9ybWFsQ2xhc3Mgb2YgY2xhc3NMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IG5vcm1hbENsYXNzLm1hdGNoKHJhbmRDbGFzcylbMV07XHJcbiAgICAgICAgICAgICAgICBpZiAoIW1hdGNoKSBjb250aW51ZTsgLy8gU2hvdWxkbid0IGV2ZXIgaGFwcGVuIHNpbmNlIHRoZXkgcGFzc2VkIHRoZSBtb2R1bGVGaWx0ZXIsIGJ1dCB5b3UgbmV2ZXIga25vd1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2FtZWxDYXNlID0gbWF0Y2guc3BsaXQoXCItXCIpLm1hcCgocywgaSkgPT4gaSA/IHNbMF0udG9VcHBlckNhc2UoKSArIHMuc2xpY2UoMSkgOiBzKS5qb2luKFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lc1tiYXNlQ2xhc3NOYW1lXSArPSBgICR7Y29tcG9uZW50TmFtZX0tJHtjYW1lbENhc2V9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bnBhdGNoQ2xhc3NNb2R1bGUoY29tcG9uZW50TmFtZSwgY2xhc3NOYW1lcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgYmFzZUNsYXNzTmFtZSBpbiBjbGFzc05hbWVzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY2xhc3NOYW1lc1tiYXNlQ2xhc3NOYW1lXTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkSWdub3JlKHZhbHVlKSkgY29udGludWU7XHJcbiAgICAgICAgICAgIGxldCBuZXdTdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSB2YWx1ZS5zcGxpdChcIiBcIik7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qgbm9ybWFsQ2xhc3Mgb2YgY2xhc3NMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobm9ybWFsQ2xhc3Muc3RhcnRzV2l0aChgJHtjb21wb25lbnROYW1lfS1gKSkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBuZXdTdHJpbmcgKz0gYCAke25vcm1hbENsYXNzfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lc1tiYXNlQ2xhc3NOYW1lXSA9IG5ld1N0cmluZy50cmltKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5vcm1hbGl6ZUVsZW1lbnQoZWxlbWVudCkge1xyXG4gICAgICAgIGlmICghKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBlbGVtZW50LmNsYXNzTGlzdDtcclxuICAgICAgICBmb3IgKGxldCBjID0gMCwgY2xlbiA9IGNsYXNzZXMubGVuZ3RoOyBjIDwgY2xlbjsgYysrKSB7XHJcbiAgICAgICAgICAgIGlmICghcmFuZENsYXNzLnRlc3QoY2xhc3Nlc1tjXSkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IGNsYXNzZXNbY10ubWF0Y2gocmFuZENsYXNzKVsxXTtcclxuICAgICAgICAgICAgY29uc3QgbmV3Q2xhc3MgPSBtYXRjaC5zcGxpdChcIi1cIikubWFwKChzLCBpKSA9PiBpID8gc1swXS50b1VwcGVyQ2FzZSgpICsgcy5zbGljZSgxKSA6IHMpLmpvaW4oXCJcIik7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChgJHtub3JtYWxpemVkUHJlZml4fS0ke25ld0NsYXNzfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGVsZW1lbnQuY2hpbGRyZW4pIHRoaXMubm9ybWFsaXplRWxlbWVudChjaGlsZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV2ZXJ0RWxlbWVudChlbGVtZW50KSB7XHJcbiAgICAgICAgaWYgKCEoZWxlbWVudCBpbnN0YW5jZW9mIEVsZW1lbnQpKSByZXR1cm47XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuY2hpbGRyZW4gJiYgZWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHRoaXMucmV2ZXJ0RWxlbWVudChlbGVtZW50LmNoaWxkcmVuWzBdKTtcclxuICAgICAgICBpZiAoZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpIHRoaXMucmV2ZXJ0RWxlbWVudChlbGVtZW50Lm5leHRFbGVtZW50U2libGluZyk7XHJcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGVsZW1lbnQuY2xhc3NMaXN0O1xyXG4gICAgICAgIGNvbnN0IHRvUmVtb3ZlID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgYyA9IDA7IGMgPCBjbGFzc2VzLmxlbmd0aDsgYysrKSB7XHJcbiAgICAgICAgICAgIGlmIChjbGFzc2VzW2NdLnN0YXJ0c1dpdGgoYCR7bm9ybWFsaXplZFByZWZpeH0tYCkpIHRvUmVtb3ZlLnB1c2goY2xhc3Nlc1tjXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi50b1JlbW92ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHBhdGNoRE9NTWV0aG9kcygpIHtcclxuICAgICAgICBjb25zdCBjb250YWlucyA9IERPTVRva2VuTGlzdC5wcm90b3R5cGUuY29udGFpbnM7XHJcbiAgICAgICAgRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5jb250YWlucyA9IGZ1bmN0aW9uKHRva2VuKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRva2VucyA9IHRva2VuLnNwbGl0KFwiIFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRva2Vucy5ldmVyeSh0ID0+IGNvbnRhaW5zLmNhbGwodGhpcywgdCkpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/classnormalizer.js\n"); /***/ }), /***/ "./src/builtins/coloredtext.js": /*!*************************************!*\ !*** ./src/builtins/coloredtext.js ***! \*************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\nconst MessageContent = modules__WEBPACK_IMPORTED_MODULE_1__[\"WebpackModules\"].getModule(m => m.defaultProps && m.defaultProps.hasOwnProperty(\"disableButtons\"));\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class ColoredText extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"ColoredText\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"coloredText\";\n }\n\n enabled() {\n this.injectColoredText();\n }\n\n disabled() {\n if (!this.cancelColoredText) return;\n this.cancelColoredText();\n delete this.cancelColoredText;\n }\n\n injectColoredText() {\n if (this.cancelColoredText) return;\n this.cancelColoredText = modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(MessageContent.prototype, \"render\", {\n after: data => {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(data.returnValue.props, \"children\", {\n silent: true,\n after: ({\n returnValue\n }) => {\n const markup = returnValue.props.children[1];\n const roleColor = data.thisObject.props.message.colorString;\n if (markup && roleColor) markup.props.style = {\n color: roleColor\n };\n return returnValue;\n }\n });\n }\n });\n }\n\n removeColoredText() {\n document.querySelectorAll(\".markup-2BOw-j\").forEach(elem => {\n elem.style.setProperty(\"color\", \"\");\n });\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2NvbG9yZWR0ZXh0LmpzP2RlMDkiXSwibmFtZXMiOlsiTWVzc2FnZUNvbnRlbnQiLCJXZWJwYWNrTW9kdWxlcyIsImdldE1vZHVsZSIsIm0iLCJkZWZhdWx0UHJvcHMiLCJoYXNPd25Qcm9wZXJ0eSIsIkNvbG9yZWRUZXh0IiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiZW5hYmxlZCIsImluamVjdENvbG9yZWRUZXh0IiwiZGlzYWJsZWQiLCJjYW5jZWxDb2xvcmVkVGV4dCIsIlV0aWxpdGllcyIsIm1vbmtleVBhdGNoIiwicHJvdG90eXBlIiwiYWZ0ZXIiLCJkYXRhIiwicmV0dXJuVmFsdWUiLCJwcm9wcyIsInNpbGVudCIsIm1hcmt1cCIsImNoaWxkcmVuIiwicm9sZUNvbG9yIiwidGhpc09iamVjdCIsIm1lc3NhZ2UiLCJjb2xvclN0cmluZyIsInN0eWxlIiwiY29sb3IiLCJyZW1vdmVDb2xvcmVkVGV4dCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJlbGVtIiwic2V0UHJvcGVydHkiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQSxNQUFNQSxjQUFjLEdBQUdDLHNEQUFjLENBQUNDLFNBQWYsQ0FBeUJDLENBQUMsSUFBSUEsQ0FBQyxDQUFDQyxZQUFGLElBQWtCRCxDQUFDLENBQUNDLFlBQUYsQ0FBZUMsY0FBZixDQUE4QixnQkFBOUIsQ0FBaEQsQ0FBdkI7QUFFZSxtRUFBSSxNQUFNQyxXQUFOLFNBQTBCQyx3REFBMUIsQ0FBa0M7QUFDakQsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBTyxhQUFQO0FBQXNCOztBQUNsQyxNQUFJQyxRQUFKLEdBQWU7QUFBQyxXQUFPLFlBQVA7QUFBcUI7O0FBQ3JDLE1BQUlDLEVBQUosR0FBUztBQUFDLFdBQU8sYUFBUDtBQUFzQjs7QUFFaENDLFNBQU8sR0FBRztBQUNOLFNBQUtDLGlCQUFMO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQLFFBQUksQ0FBQyxLQUFLQyxpQkFBVixFQUE2QjtBQUM3QixTQUFLQSxpQkFBTDtBQUNBLFdBQU8sS0FBS0EsaUJBQVo7QUFDSDs7QUFFREYsbUJBQWlCLEdBQUc7QUFDaEIsUUFBSSxLQUFLRSxpQkFBVCxFQUE0QjtBQUU1QixTQUFLQSxpQkFBTCxHQUF5QkMsaURBQVMsQ0FBQ0MsV0FBVixDQUFzQmhCLGNBQWMsQ0FBQ2lCLFNBQXJDLEVBQWdELFFBQWhELEVBQTBEO0FBQUNDLFdBQUssRUFBR0MsSUFBRCxJQUFVO0FBQ2pHSix5REFBUyxDQUFDQyxXQUFWLENBQXNCRyxJQUFJLENBQUNDLFdBQUwsQ0FBaUJDLEtBQXZDLEVBQThDLFVBQTlDLEVBQTBEO0FBQUNDLGdCQUFNLEVBQUUsSUFBVDtBQUFlSixlQUFLLEVBQUUsQ0FBQztBQUFDRTtBQUFELFdBQUQsS0FBbUI7QUFDL0Ysa0JBQU1HLE1BQU0sR0FBR0gsV0FBVyxDQUFDQyxLQUFaLENBQWtCRyxRQUFsQixDQUEyQixDQUEzQixDQUFmO0FBQ0Esa0JBQU1DLFNBQVMsR0FBR04sSUFBSSxDQUFDTyxVQUFMLENBQWdCTCxLQUFoQixDQUFzQk0sT0FBdEIsQ0FBOEJDLFdBQWhEO0FBQ0EsZ0JBQUlMLE1BQU0sSUFBSUUsU0FBZCxFQUF5QkYsTUFBTSxDQUFDRixLQUFQLENBQWFRLEtBQWIsR0FBcUI7QUFBQ0MsbUJBQUssRUFBRUw7QUFBUixhQUFyQjtBQUN6QixtQkFBT0wsV0FBUDtBQUNIO0FBTHlELFNBQTFEO0FBTUg7QUFQa0YsS0FBMUQsQ0FBekI7QUFRSDs7QUFFRFcsbUJBQWlCLEdBQUc7QUFDaEJDLFlBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsZ0JBQTFCLEVBQTRDQyxPQUE1QyxDQUFvREMsSUFBSSxJQUFJO0FBQ3hEQSxVQUFJLENBQUNOLEtBQUwsQ0FBV08sV0FBWCxDQUF1QixPQUF2QixFQUFnQyxFQUFoQztBQUNILEtBRkQ7QUFHSDs7QUFoQ2dELENBQXRDLEVBQWYiLCJmaWxlIjoiLi9zcmMvYnVpbHRpbnMvY29sb3JlZHRleHQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcbmltcG9ydCB7VXRpbGl0aWVzLCBXZWJwYWNrTW9kdWxlc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmNvbnN0IE1lc3NhZ2VDb250ZW50ID0gV2VicGFja01vZHVsZXMuZ2V0TW9kdWxlKG0gPT4gbS5kZWZhdWx0UHJvcHMgJiYgbS5kZWZhdWx0UHJvcHMuaGFzT3duUHJvcGVydHkoXCJkaXNhYmxlQnV0dG9uc1wiKSk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgY2xhc3MgQ29sb3JlZFRleHQgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkNvbG9yZWRUZXh0XCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImFwcGVhcmFuY2VcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwiY29sb3JlZFRleHRcIjt9XHJcblxyXG4gICAgZW5hYmxlZCgpIHtcclxuICAgICAgICB0aGlzLmluamVjdENvbG9yZWRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNhbmNlbENvbG9yZWRUZXh0KSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5jYW5jZWxDb2xvcmVkVGV4dCgpO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLmNhbmNlbENvbG9yZWRUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGluamVjdENvbG9yZWRUZXh0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNhbmNlbENvbG9yZWRUZXh0KSByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuY2FuY2VsQ29sb3JlZFRleHQgPSBVdGlsaXRpZXMubW9ua2V5UGF0Y2goTWVzc2FnZUNvbnRlbnQucHJvdG90eXBlLCBcInJlbmRlclwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIFV0aWxpdGllcy5tb25rZXlQYXRjaChkYXRhLnJldHVyblZhbHVlLnByb3BzLCBcImNoaWxkcmVuXCIsIHtzaWxlbnQ6IHRydWUsIGFmdGVyOiAoe3JldHVyblZhbHVlfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWFya3VwID0gcmV0dXJuVmFsdWUucHJvcHMuY2hpbGRyZW5bMV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb2xlQ29sb3IgPSBkYXRhLnRoaXNPYmplY3QucHJvcHMubWVzc2FnZS5jb2xvclN0cmluZztcclxuICAgICAgICAgICAgICAgIGlmIChtYXJrdXAgJiYgcm9sZUNvbG9yKSBtYXJrdXAucHJvcHMuc3R5bGUgPSB7Y29sb3I6IHJvbGVDb2xvcn07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgICAgIH19KTtcclxuICAgICAgICB9fSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ29sb3JlZFRleHQoKSB7XHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5tYXJrdXAtMkJPdy1qXCIpLmZvckVhY2goZWxlbSA9PiB7XHJcbiAgICAgICAgICAgIGVsZW0uc3R5bGUuc2V0UHJvcGVydHkoXCJjb2xvclwiLCBcIlwiKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/coloredtext.js\n"); /***/ }), /***/ "./src/builtins/darkmode.js": /*!**********************************!*\ !*** ./src/builtins/darkmode.js ***! \**********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DarkMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"DarkMode\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"darkMode\";\n }\n\n enabled() {\n $(\"#app-mount\").addClass(\"bda-dark\").addClass(\"bd-dark\");\n }\n\n disabled() {\n $(\"#app-mount\").removeClass(\"bda-dark\").removeClass(\"bd-dark\");\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Rhcmttb2RlLmpzPzVkZGUiXSwibmFtZXMiOlsiRGFya01vZGUiLCJCdWlsdGluIiwibmFtZSIsImNhdGVnb3J5IiwiaWQiLCJlbmFibGVkIiwiJCIsImFkZENsYXNzIiwiZGlzYWJsZWQiLCJyZW1vdmVDbGFzcyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBRWUsbUVBQUksTUFBTUEsUUFBTixTQUF1QkMsd0RBQXZCLENBQStCO0FBQzlDLE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sVUFBUDtBQUFtQjs7QUFDL0IsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUNyQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLFVBQVA7QUFBbUI7O0FBRTdCQyxTQUFPLEdBQUc7QUFDTkMsS0FBQyxDQUFDLFlBQUQsQ0FBRCxDQUFnQkMsUUFBaEIsQ0FBeUIsVUFBekIsRUFBcUNBLFFBQXJDLENBQThDLFNBQTlDO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQRixLQUFDLENBQUMsWUFBRCxDQUFELENBQWdCRyxXQUFoQixDQUE0QixVQUE1QixFQUF3Q0EsV0FBeEMsQ0FBb0QsU0FBcEQ7QUFDSDs7QUFYNkMsQ0FBbkMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9kYXJrbW9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBEYXJrTW9kZSBleHRlbmRzIEJ1aWx0aW4ge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiRGFya01vZGVcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiYXBwZWFyYW5jZVwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJkYXJrTW9kZVwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgICQoXCIjYXBwLW1vdW50XCIpLmFkZENsYXNzKFwiYmRhLWRhcmtcIikuYWRkQ2xhc3MoXCJiZC1kYXJrXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgICQoXCIjYXBwLW1vdW50XCIpLnJlbW92ZUNsYXNzKFwiYmRhLWRhcmtcIikucmVtb3ZlQ2xhc3MoXCJiZC1kYXJrXCIpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/darkmode.js\n"); /***/ }), /***/ "./src/builtins/developermode.js": /*!***************************************!*\ !*** ./src/builtins/developermode.js ***! \***************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DeveloperMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"DeveloperMode\";\n }\n\n get category() {\n return \"developer\";\n }\n\n get id() {\n return \"developerMode\";\n }\n\n get selectorModeID() {\n return \"copySelector\";\n }\n\n get selectorMode() {\n return this.get(this.selectorModeID);\n }\n\n constructor() {\n super();\n this.enableSelectors = this.enableSelectors.bind(this);\n this.disableSelectors = this.disableSelectors.bind(this);\n }\n\n enabled() {\n $(window).on(\"keydown.bdDevmode\", e => {\n if (e.which === 119 || e.which == 118) {\n //F8\n this.log(\"Debugger Activated\");\n debugger; // eslint-disable-line no-debugger\n }\n });\n if (this.selectorMode) this.enableSelectors();\n this.selectorCancel = this.registerSetting(this.selectorModeID, this.enableSelectors, this.disableSelectors);\n }\n\n disabled() {\n $(window).off(\"keydown.bdDevmode\");\n if (this.selectorMode) this.disableSelectors();\n if (this.selectorCancel) this.selectorCancel();\n }\n\n enableSelectors() {\n $(document).on(\"contextmenu.bdDevmode\", e => {\n this.lastSelector = this.getSelector(e.toElement);\n\n const attach = () => {\n let cm = $(\".contextMenu-HLZMGh\");\n\n if (cm.length <= 0) {\n cm = $(\"
\");\n cm.addClass($(\".app, .app-2rEoOp\").hasClass(\"theme-dark\") ? \"theme-dark\" : \"theme-light\");\n cm.appendTo(\".app, .app-2rEoOp\");\n cm.css(\"top\", e.clientY);\n cm.css(\"left\", e.clientX);\n $(document).on(\"click.bdDevModeCtx\", () => {\n cm.remove();\n $(document).off(\".bdDevModeCtx\");\n });\n $(document).on(\"contextmenu.bdDevModeCtx\", () => {\n cm.remove();\n $(document).off(\".bdDevModeCtx\");\n });\n $(document).on(\"keyup.bdDevModeCtx\", e => {\n if (e.keyCode === 27) {\n cm.remove();\n $(document).off(\".bdDevModeCtx\");\n }\n });\n }\n\n const cmo = $(\"
\", {\n \"class\": \"itemGroup-1tL0uz\"\n });\n const cmi = $(\"
\", {\n \"class\": \"item-1Yvehc\",\n \"click\": () => {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ElectronModule.copy(this.lastSelector);\n cm.hide();\n }\n }).append($(\"\", {\n text: \"Copy Selector\"\n }));\n cmo.append(cmi);\n cm.append(cmo);\n if (cm.hasClass(\"undefined\")) cm.css(\"top\", \"-=\" + cmo.outerHeight());\n };\n\n setImmediate(attach);\n e.stopPropagation();\n });\n }\n\n disableSelectors() {\n $(document).off(\"contextmenu.bdDevmode\");\n $(document).off(\"contextmenu.bdDevModeCtx\");\n }\n\n getRules(element, css = element.ownerDocument.styleSheets) {\n // return [].concat(...[...css].map(s => [...s.cssRules || []])).filter(r => r && r.selectorText && element.matches(r.selectorText) && r.style.length && r.selectorText.split(\", \").length < 8);\n const sheets = [...css].filter(s => !s.href || !s.href.includes(\"BetterDiscordApp\"));\n const rules = sheets.map(s => [...(s.cssRules || [])]).flat();\n const elementRules = rules.filter(r => r && r.selectorText && element.matches(r.selectorText) && r.style.length && r.selectorText.split(\", \").length < 8 && !r.selectorText.split(\", \").includes(\"*\"));\n return elementRules;\n }\n\n getSelector(element) {\n if (element.id) return `#${element.id}`;\n const rules = this.getRules(element);\n const latestRule = rules[rules.length - 1];\n if (latestRule) return latestRule.selectorText;else if (element.classList.length) return `.${Array.from(element.classList).join(\".\")}`;\n return `.${Array.from(element.parentElement.classList).join(\".\")}`;\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2RldmVsb3Blcm1vZGUuanM/NjY2OSJdLCJuYW1lcyI6WyJEZXZlbG9wZXJNb2RlIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwic2VsZWN0b3JNb2RlSUQiLCJzZWxlY3Rvck1vZGUiLCJnZXQiLCJjb25zdHJ1Y3RvciIsImVuYWJsZVNlbGVjdG9ycyIsImJpbmQiLCJkaXNhYmxlU2VsZWN0b3JzIiwiZW5hYmxlZCIsIiQiLCJ3aW5kb3ciLCJvbiIsImUiLCJ3aGljaCIsImxvZyIsInNlbGVjdG9yQ2FuY2VsIiwicmVnaXN0ZXJTZXR0aW5nIiwiZGlzYWJsZWQiLCJvZmYiLCJkb2N1bWVudCIsImxhc3RTZWxlY3RvciIsImdldFNlbGVjdG9yIiwidG9FbGVtZW50IiwiYXR0YWNoIiwiY20iLCJsZW5ndGgiLCJhZGRDbGFzcyIsImhhc0NsYXNzIiwiYXBwZW5kVG8iLCJjc3MiLCJjbGllbnRZIiwiY2xpZW50WCIsInJlbW92ZSIsImtleUNvZGUiLCJjbW8iLCJjbWkiLCJEaXNjb3JkTW9kdWxlcyIsIkVsZWN0cm9uTW9kdWxlIiwiY29weSIsImhpZGUiLCJhcHBlbmQiLCJ0ZXh0Iiwib3V0ZXJIZWlnaHQiLCJzZXRJbW1lZGlhdGUiLCJzdG9wUHJvcGFnYXRpb24iLCJnZXRSdWxlcyIsImVsZW1lbnQiLCJvd25lckRvY3VtZW50Iiwic3R5bGVTaGVldHMiLCJzaGVldHMiLCJmaWx0ZXIiLCJzIiwiaHJlZiIsImluY2x1ZGVzIiwicnVsZXMiLCJtYXAiLCJjc3NSdWxlcyIsImZsYXQiLCJlbGVtZW50UnVsZXMiLCJyIiwic2VsZWN0b3JUZXh0IiwibWF0Y2hlcyIsInN0eWxlIiwic3BsaXQiLCJsYXRlc3RSdWxlIiwiY2xhc3NMaXN0IiwiQXJyYXkiLCJmcm9tIiwiam9pbiIsInBhcmVudEVsZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFZSxtRUFB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QUFDQSxLQUFLLENBQUM3QixNQUFOLEdBQWUsQ0FBaEIsQ0FBeEI7QUFDQSxRQUFJdUMsVUFBSixFQUFnQixPQUFPQSxVQUFVLENBQUNKLFlBQWxCLENBQWhCLEtBQ0ssSUFBSWQsT0FBTyxDQUFDbUIsU0FBUixDQUFrQnhDLE1BQXRCLEVBQThCLE9BQVEsSUFBR3lDLEtBQUssQ0FBQ0MsSUFBTixDQUFXckIsT0FBTyxDQUFDbUIsU0FBbkIsRUFBOEJHLElBQTlCLENBQW1DLEdBQW5DLENBQXdDLEVBQW5EO0FBQ25DLFdBQVEsSUFBR0YsS0FBSyxDQUFDQyxJQUFOLENBQVdyQixPQUFPLENBQUN1QixhQUFSLENBQXNCSixTQUFqQyxFQUE0Q0csSUFBNUMsQ0FBaUQsR0FBakQsQ0FBc0QsRUFBakU7QUFDSDs7QUFsR2tELENBQXhDLEVBQWYiLCJmaWxlIjoiLi9zcmMvYnVpbHRpbnMvZGV2ZWxvcGVybW9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBEZXZlbG9wZXJNb2RlIGV4dGVuZHMgQnVpbHRpbiB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJEZXZlbG9wZXJNb2RlXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImRldmVsb3BlclwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJkZXZlbG9wZXJNb2RlXCI7fVxyXG4gICAgZ2V0IHNlbGVjdG9yTW9kZUlEKCkge3JldHVybiBcImNvcHlTZWxlY3RvclwiO31cclxuICAgIGdldCBzZWxlY3Rvck1vZGUoKSB7cmV0dXJuIHRoaXMuZ2V0KHRoaXMuc2VsZWN0b3JNb2RlSUQpO31cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlU2VsZWN0b3JzID0gdGhpcy5lbmFibGVTZWxlY3RvcnMuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmRpc2FibGVTZWxlY3RvcnMgPSB0aGlzLmRpc2FibGVTZWxlY3RvcnMuYmluZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgICQod2luZG93KS5vbihcImtleWRvd24uYmREZXZtb2RlXCIsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlLndoaWNoID09PSAxMTkgfHwgZS53aGljaCA9PSAxMTgpIHsvL0Y4XHJcbiAgICAgICAgICAgICAgIHRoaXMubG9nKFwiRGVidWdnZXIgQWN0aXZhdGVkXCIpO1xyXG4gICAgICAgICAgICAgICBkZWJ1Z2dlcjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1kZWJ1Z2dlclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0b3JNb2RlKSB0aGlzLmVuYWJsZVNlbGVjdG9ycygpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0b3JDYW5jZWwgPSB0aGlzLnJlZ2lzdGVyU2V0dGluZyh0aGlzLnNlbGVjdG9yTW9kZUlELCB0aGlzLmVuYWJsZVNlbGVjdG9ycywgdGhpcy5kaXNhYmxlU2VsZWN0b3JzKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlZCgpIHtcclxuICAgICAgICAkKHdpbmRvdykub2ZmKFwia2V5ZG93bi5iZERldm1vZGVcIik7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0b3JNb2RlKSB0aGlzLmRpc2FibGVTZWxlY3RvcnMoKTtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RvckNhbmNlbCkgdGhpcy5zZWxlY3RvckNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZVNlbGVjdG9ycygpIHtcclxuICAgICAgICAkKGRvY3VtZW50KS5vbihcImNvbnRleHRtZW51LmJkRGV2bW9kZVwiLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxhc3RTZWxlY3RvciA9IHRoaXMuZ2V0U2VsZWN0b3IoZS50b0VsZW1lbnQpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgYXR0YWNoID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICBsZXQgY20gPSAkKFwiLmNvbnRleHRNZW51LUhMWk1HaFwiKTtcclxuICAgICAgICAgICAgICAgaWYgKGNtLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICBjbSA9ICQoXCI8ZGl2IGNsYXNzPVxcXCJjb250ZXh0TWVudS1ITFpNR2ggYmQtY29udGV4dC1tZW51XFxcIj48L2Rpdj5cIik7XHJcbiAgICAgICAgICAgICAgICAgICBjbS5hZGRDbGFzcygkKFwiLmFwcCwgLmFwcC0yckVvT3BcIikuaGFzQ2xhc3MoXCJ0aGVtZS1kYXJrXCIpID8gXCJ0aGVtZS1kYXJrXCIgOiBcInRoZW1lLWxpZ2h0XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgY20uYXBwZW5kVG8oXCIuYXBwLCAuYXBwLTJyRW9PcFwiKTtcclxuICAgICAgICAgICAgICAgICAgIGNtLmNzcyhcInRvcFwiLCBlLmNsaWVudFkpO1xyXG4gICAgICAgICAgICAgICAgICAgY20uY3NzKFwibGVmdFwiLCBlLmNsaWVudFgpO1xyXG4gICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJjbGljay5iZERldk1vZGVDdHhcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGNtLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9mZihcIi5iZERldk1vZGVDdHhcIik7XHJcbiAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY29udGV4dG1lbnUuYmREZXZNb2RlQ3R4XCIsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICBjbS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCIuYmREZXZNb2RlQ3R4XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImtleXVwLmJkRGV2TW9kZUN0eFwiLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleUNvZGUgPT09IDI3KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCIuYmREZXZNb2RlQ3R4XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICBjb25zdCBjbW8gPSAkKFwiPGRpdi8+XCIsIHtcclxuICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogXCJpdGVtR3JvdXAtMXRMMHV6XCJcclxuICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgIGNvbnN0IGNtaSA9ICQoXCI8ZGl2Lz5cIiwge1xyXG4gICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0ZW0tMVl2ZWhjXCIsXHJcbiAgICAgICAgICAgICAgICAgICBcImNsaWNrXCI6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICBEaXNjb3JkTW9kdWxlcy5FbGVjdHJvbk1vZHVsZS5jb3B5KHRoaXMubGFzdFNlbGVjdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICBjbS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIH0pLmFwcGVuZCgkKFwiPHNwYW4vPlwiLCB7dGV4dDogXCJDb3B5IFNlbGVjdG9yXCJ9KSk7XHJcbiAgICAgICAgICAgICAgIGNtby5hcHBlbmQoY21pKTtcclxuICAgICAgICAgICAgICAgY20uYXBwZW5kKGNtbyk7XHJcbiAgICAgICAgICAgICAgIGlmIChjbS5oYXNDbGFzcyhcInVuZGVmaW5lZFwiKSkgY20uY3NzKFwidG9wXCIsICBcIi09XCIgKyBjbW8ub3V0ZXJIZWlnaHQoKSk7XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBzZXRJbW1lZGlhdGUoYXR0YWNoKTtcclxuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlU2VsZWN0b3JzKCkge1xyXG4gICAgICAgICQoZG9jdW1lbnQpLm9mZihcImNvbnRleHRtZW51LmJkRGV2bW9kZVwiKTtcclxuICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJjb250ZXh0bWVudS5iZERldk1vZGVDdHhcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UnVsZXMoZWxlbWVudCwgY3NzID0gZWxlbWVudC5vd25lckRvY3VtZW50LnN0eWxlU2hlZXRzKSB7XHJcbiAgICAgICAgLy8gcmV0dXJuIFtdLmNvbmNhdCguLi5bLi4uY3NzXS5tYXAocyA9PiBbLi4ucy5jc3NSdWxlcyB8fCBbXV0pKS5maWx0ZXIociA9PiByICYmIHIuc2VsZWN0b3JUZXh0ICYmIGVsZW1lbnQubWF0Y2hlcyhyLnNlbGVjdG9yVGV4dCkgJiYgci5zdHlsZS5sZW5ndGggJiYgci5zZWxlY3RvclRleHQuc3BsaXQoXCIsIFwiKS5sZW5ndGggPCA4KTtcclxuICAgICAgICBjb25zdCBzaGVldHMgPSBbLi4uY3NzXS5maWx0ZXIocyA9PiAhcy5ocmVmIHx8ICFzLmhyZWYuaW5jbHVkZXMoXCJCZXR0ZXJEaXNjb3JkQXBwXCIpKTtcclxuICAgICAgICBjb25zdCBydWxlcyA9IHNoZWV0cy5tYXAocyA9PiBbLi4uKHMuY3NzUnVsZXMgfHwgW10pXSkuZmxhdCgpO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRSdWxlcyA9IHJ1bGVzLmZpbHRlcihyID0+IHIgJiYgci5zZWxlY3RvclRleHQgJiYgZWxlbWVudC5tYXRjaGVzKHIuc2VsZWN0b3JUZXh0KSAmJiByLnN0eWxlLmxlbmd0aCAmJiByLnNlbGVjdG9yVGV4dC5zcGxpdChcIiwgXCIpLmxlbmd0aCA8IDggJiYgIXIuc2VsZWN0b3JUZXh0LnNwbGl0KFwiLCBcIikuaW5jbHVkZXMoXCIqXCIpKTtcclxuICAgICAgICByZXR1cm4gZWxlbWVudFJ1bGVzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFNlbGVjdG9yKGVsZW1lbnQpIHtcclxuICAgICAgICBpZiAoZWxlbWVudC5pZCkgcmV0dXJuIGAjJHtlbGVtZW50LmlkfWA7XHJcbiAgICAgICAgY29uc3QgcnVsZXMgPSB0aGlzLmdldFJ1bGVzKGVsZW1lbnQpO1xyXG4gICAgICAgIGNvbnN0IGxhdGVzdFJ1bGUgPSBydWxlc1tydWxlcy5sZW5ndGggLSAxXTtcclxuICAgICAgICBpZiAobGF0ZXN0UnVsZSkgcmV0dXJuIGxhdGVzdFJ1bGUuc2VsZWN0b3JUZXh0O1xyXG4gICAgICAgIGVsc2UgaWYgKGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCkgcmV0dXJuIGAuJHtBcnJheS5mcm9tKGVsZW1lbnQuY2xhc3NMaXN0KS5qb2luKFwiLlwiKX1gO1xyXG4gICAgICAgIHJldHVybiBgLiR7QXJyYXkuZnJvbShlbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0KS5qb2luKFwiLlwiKX1gO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/developermode.js\n"); /***/ }), /***/ "./src/builtins/emoteautocaps.js": /*!***************************************!*\ !*** ./src/builtins/emoteautocaps.js ***! \***************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class EmoteAutocaps extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"EmoteAutocapitalize\";\n }\n\n get collection() {\n return \"emotes\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"autoCaps\";\n }\n\n enabled() {\n $(\"body\").off(\".bdac\");\n $(\"body\").on(\"keyup.bdac change.bdac paste.bdac\", $(\".channelTextArea-1LDbYG textarea:first\"), () => {\n const text = $(\".channelTextArea-1LDbYG textarea:first\").val();\n if (text == undefined) return;\n const lastWord = text.split(\" \").pop();\n\n if (lastWord.length > 3) {\n if (lastWord == \"danSgame\") return;\n const ret = this.capitalize(lastWord.toLowerCase());\n\n if (ret !== null && ret !== undefined) {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].insertText(modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].getTextArea()[0], text.replace(lastWord, ret));\n }\n }\n });\n }\n\n disabled() {\n $(\"body\").off(\".bdac\");\n }\n\n capitalize(value) {\n const res = _emotes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getCategory(\"TwitchGlobal\");\n\n for (const p in res) {\n if (res.hasOwnProperty(p) && value == (p + \"\").toLowerCase()) {\n return p;\n }\n }\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Vtb3RlYXV0b2NhcHMuanM/MTY0NyJdLCJuYW1lcyI6WyJFbW90ZUF1dG9jYXBzIiwiQnVpbHRpbiIsIm5hbWUiLCJjb2xsZWN0aW9uIiwiY2F0ZWdvcnkiLCJpZCIsImVuYWJsZWQiLCIkIiwib2ZmIiwib24iLCJ0ZXh0IiwidmFsIiwidW5kZWZpbmVkIiwibGFzdFdvcmQiLCJzcGxpdCIsInBvcCIsImxlbmd0aCIsInJldCIsImNhcGl0YWxpemUiLCJ0b0xvd2VyQ2FzZSIsIlV0aWxpdGllcyIsImluc2VydFRleHQiLCJnZXRUZXh0QXJlYSIsInJlcGxhY2UiLCJkaXNhYmxlZCIsInZhbHVlIiwicmVzIiwiRW1vdGVNb2R1bGUiLCJnZXRDYXRlZ29yeSIsInAiLCJoYXNPd25Qcm9wZXJ0eSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFFZSxtRUFBSSxNQUFNQSxhQUFOLFNBQTRCQyx3REFBNUIsQ0FBb0M7QUFDbkQsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBTyxxQkFBUDtBQUE4Qjs7QUFDMUMsTUFBSUMsVUFBSixHQUFpQjtBQUFDLFdBQU8sUUFBUDtBQUFpQjs7QUFDbkMsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxTQUFQO0FBQWtCOztBQUNsQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLFVBQVA7QUFBbUI7O0FBRTdCQyxTQUFPLEdBQUc7QUFDTkMsS0FBQyxDQUFDLE1BQUQsQ0FBRCxDQUFVQyxHQUFWLENBQWMsT0FBZDtBQUNBRCxLQUFDLENBQUMsTUFBRCxDQUFELENBQVVFLEVBQVYsQ0FBYSxtQ0FBYixFQUFrREYsQ0FBQyxDQUFDLHdDQUFELENBQW5ELEVBQStGLE1BQU07QUFDakcsWUFBTUcsSUFBSSxHQUFHSCxDQUFDLENBQUMsd0NBQUQsQ0FBRCxDQUE0Q0ksR0FBNUMsRUFBYjtBQUNBLFVBQUlELElBQUksSUFBSUUsU0FBWixFQUF1QjtBQUV2QixZQUFNQyxRQUFRLEdBQUdILElBQUksQ0FBQ0ksS0FBTCxDQUFXLEdBQVgsRUFBZ0JDLEdBQWhCLEVBQWpCOztBQUNBLFVBQUlGLFFBQVEsQ0FBQ0csTUFBVCxHQUFrQixDQUF0QixFQUF5QjtBQUNyQixZQUFJSCxRQUFRLElBQUksVUFBaEIsRUFBNEI7QUFDNUIsY0FBTUksR0FBRyxHQUFHLEtBQUtDLFVBQUwsQ0FBZ0JMLFFBQVEsQ0FBQ00sV0FBVCxFQUFoQixDQUFaOztBQUNBLFlBQUlGLEdBQUcsS0FBSyxJQUFSLElBQWdCQSxHQUFHLEtBQUtMLFNBQTVCLEVBQXVDO0FBQ25DUSwyREFBUyxDQUFDQyxVQUFWLENBQXFCRCxpREFBUyxDQUFDRSxXQUFWLEdBQXdCLENBQXhCLENBQXJCLEVBQWlEWixJQUFJLENBQUNhLE9BQUwsQ0FBYVYsUUFBYixFQUF1QkksR0FBdkIsQ0FBakQ7QUFDSDtBQUNKO0FBQ0osS0FaRDtBQWFIOztBQUVETyxVQUFRLEdBQUc7QUFDUGpCLEtBQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUMsR0FBVixDQUFjLE9BQWQ7QUFDSDs7QUFFRFUsWUFBVSxDQUFDTyxLQUFELEVBQVE7QUFDZCxVQUFNQyxHQUFHLEdBQUdDLCtDQUFXLENBQUNDLFdBQVosQ0FBd0IsY0FBeEIsQ0FBWjs7QUFDQSxTQUFLLE1BQU1DLENBQVgsSUFBZ0JILEdBQWhCLEVBQXFCO0FBQ2pCLFVBQUlBLEdBQUcsQ0FBQ0ksY0FBSixDQUFtQkQsQ0FBbkIsS0FBeUJKLEtBQUssSUFBSSxDQUFDSSxDQUFDLEdBQUcsRUFBTCxFQUFTVixXQUFULEVBQXRDLEVBQThEO0FBQzFELGVBQU9VLENBQVA7QUFDSDtBQUNKO0FBQ0o7O0FBbENrRCxDQUF4QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL2Vtb3RlYXV0b2NhcHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcblxyXG5pbXBvcnQge1V0aWxpdGllc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmltcG9ydCBFbW90ZU1vZHVsZSBmcm9tIFwiLi9lbW90ZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBFbW90ZUF1dG9jYXBzIGV4dGVuZHMgQnVpbHRpbiB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJFbW90ZUF1dG9jYXBpdGFsaXplXCI7fVxyXG4gICAgZ2V0IGNvbGxlY3Rpb24oKSB7cmV0dXJuIFwiZW1vdGVzXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImdlbmVyYWxcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwiYXV0b0NhcHNcIjt9XHJcblxyXG4gICAgZW5hYmxlZCgpIHtcclxuICAgICAgICAkKFwiYm9keVwiKS5vZmYoXCIuYmRhY1wiKTtcclxuICAgICAgICAkKFwiYm9keVwiKS5vbihcImtleXVwLmJkYWMgY2hhbmdlLmJkYWMgcGFzdGUuYmRhY1wiLCAkKFwiLmNoYW5uZWxUZXh0QXJlYS0xTERiWUcgdGV4dGFyZWE6Zmlyc3RcIiksICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdGV4dCA9ICQoXCIuY2hhbm5lbFRleHRBcmVhLTFMRGJZRyB0ZXh0YXJlYTpmaXJzdFwiKS52YWwoKTtcclxuICAgICAgICAgICAgaWYgKHRleHQgPT0gdW5kZWZpbmVkKSByZXR1cm47XHJcblxyXG4gICAgICAgICAgICBjb25zdCBsYXN0V29yZCA9IHRleHQuc3BsaXQoXCIgXCIpLnBvcCgpO1xyXG4gICAgICAgICAgICBpZiAobGFzdFdvcmQubGVuZ3RoID4gMykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxhc3RXb3JkID09IFwiZGFuU2dhbWVcIikgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmV0ID0gdGhpcy5jYXBpdGFsaXplKGxhc3RXb3JkLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJldCAhPT0gbnVsbCAmJiByZXQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIFV0aWxpdGllcy5pbnNlcnRUZXh0KFV0aWxpdGllcy5nZXRUZXh0QXJlYSgpWzBdLCB0ZXh0LnJlcGxhY2UobGFzdFdvcmQsIHJldCkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikub2ZmKFwiLmJkYWNcIik7XHJcbiAgICB9XHJcblxyXG4gICAgY2FwaXRhbGl6ZSh2YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IEVtb3RlTW9kdWxlLmdldENhdGVnb3J5KFwiVHdpdGNoR2xvYmFsXCIpO1xyXG4gICAgICAgIGZvciAoY29uc3QgcCBpbiByZXMpIHtcclxuICAgICAgICAgICAgaWYgKHJlcy5oYXNPd25Qcm9wZXJ0eShwKSAmJiB2YWx1ZSA9PSAocCArIFwiXCIpLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/emoteautocaps.js\n"); /***/ }), /***/ "./src/builtins/emotemenu.js": /*!***********************************!*\ !*** ./src/builtins/emotemenu.js ***! \***********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n\n\n\n\nconst headerHTML = `
\n \n \n
`;\nconst twitchEmoteHTML = `
\n
\n
\n
\n\n
\n
\n
\n
`;\nconst favoritesHTML = `
\n
\n
\n
\n\n
\n
\n
\n
`;\n\nconst makeEmote = (emote, url, options = {}) => {\n const {\n onContextMenu,\n onClick\n } = options;\n const emoteContainer = $(`
\n \"${emote}\"\n
`)[0];\n if (onContextMenu) emoteContainer.addEventListener(\"contextmenu\", onContextMenu);\n emoteContainer.addEventListener(\"click\", onClick);\n return emoteContainer;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class EmoteMenu extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"EmoteMenu\";\n }\n\n get collection() {\n return \"emotes\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"emoteMenu\";\n }\n\n get hideEmojisID() {\n return \"hideEmojiMenu\";\n }\n\n get hideEmojis() {\n return this.get(this.hideEmojisID);\n }\n\n constructor() {\n super();\n this.lastTab = \"bda-qem-emojis\";\n this.favoriteEmotes = {};\n this.qmeHeader = $(headerHTML)[0];\n\n for (const button of this.qmeHeader.getElementsByTagName(\"button\")) button.addEventListener(\"click\", this.switchMenu.bind(this));\n\n this.teContainer = $(twitchEmoteHTML)[0];\n this.teContainerInner = this.teContainer.querySelector(\".emote-menu-inner\");\n this.faContainer = $(favoritesHTML)[0];\n this.faContainerInner = this.faContainer.querySelector(\".emote-menu-inner\");\n this.observer = new MutationObserver(mutations => {\n for (const mutation of mutations) this.observe(mutation);\n });\n this.enableHideEmojis = this.enableHideEmojis.bind(this);\n this.disableHideEmojis = this.disableHideEmojis.bind(this);\n this.updateTwitchEmotes = this.updateTwitchEmotes.bind(this);\n }\n\n initialize() {\n super.initialize();\n const fe = modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].getBDData(\"bdfavemotes\");\n if (fe !== \"\" && fe !== null) this.favoriteEmotes = JSON.parse(atob(fe));\n this.updateFavorites();\n }\n\n async enabled() {\n this.log(\"Starting to observe\");\n this.observer.observe(document.getElementById(\"app-mount\"), {\n childList: true,\n subtree: true\n });\n this.hideEmojiCancel = this.registerSetting(this.hideEmojisID, this.enableHideEmojis, this.disableHideEmojis);\n if (this.hideEmojis) this.enableHideEmojis(); // await this.waitForEmotes();\n // this.updateTwitchEmotes();\n\n if (data__WEBPACK_IMPORTED_MODULE_1__[\"State\"].emotesLoaded) this.updateTwitchEmotes();\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Events\"].on(\"emotes-loaded\", this.updateTwitchEmotes);\n }\n\n disabled() {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Events\"].off(\"emotes-loaded\", this.updateTwitchEmotes);\n this.observer.disconnect();\n this.disableHideEmojis();\n if (this.hideEmojiCancel) this.hideEmojiCancel();\n }\n\n async waitForEmotes() {\n if (data__WEBPACK_IMPORTED_MODULE_1__[\"State\"].emotesLoaded) return;\n return new Promise(resolve => {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Events\"].on(\"emotes-loaded\", resolve);\n });\n }\n\n enableHideEmojis() {\n $(\".emojiPicker-3m1S-j\").addClass(\"bda-qme-hidden\");\n }\n\n disableHideEmojis() {\n $(\".emojiPicker-3m1S-j\").removeClass(\"bda-qme-hidden\");\n }\n\n insertEmote(emote) {\n const ta = modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].getTextArea();\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].insertText(ta[0], ta.val().slice(-1) == \" \" ? ta.val() + emote : ta.val() + \" \" + emote);\n }\n\n favContext(e) {\n e.stopPropagation();\n const em = e.target.closest(\".emote-container\").children[0];\n const menu = $(`
Remove
`);\n menu.css({\n top: e.pageY - $(\"#bda-qem-favourite-container\").offset().top,\n left: e.pageX - $(\"#bda-qem-favourite-container\").offset().left\n });\n $(em).parent().append(menu);\n menu.on(\"click\", e => {\n e.preventDefault();\n e.stopPropagation();\n $(em).remove();\n delete this.favoriteEmotes[$(em).attr(\"title\")];\n this.updateFavorites();\n $(document).off(\"mousedown.emotemenu\");\n });\n $(document).on(\"mousedown.emotemenu\", function (e) {\n if (e.target.id == \"removemenu\") return;\n $(\"#removemenu\").remove();\n $(document).off(\"mousedown.emotemenu\");\n });\n }\n\n switchMenu(e) {\n let id = typeof e == \"string\" ? e : $(e.target).attr(\"id\");\n if (id == \"bda-qem-emojis\" && this.hideEmojis) id = \"bda-qem-favourite\";\n const twitch = $(\"#bda-qem-twitch\");\n const fav = $(\"#bda-qem-favourite\");\n const emojis = $(\"#bda-qem-emojis\");\n twitch.removeClass(\"active\");\n fav.removeClass(\"active\");\n emojis.removeClass(\"active\");\n $(\".emojiPicker-3m1S-j\").hide();\n $(\"#bda-qem-favourite-container\").hide();\n $(\"#bda-qem-twitch-container\").hide();\n\n switch (id) {\n case \"bda-qem-twitch\":\n twitch.addClass(\"active\");\n $(\"#bda-qem-twitch-container\").show();\n break;\n\n case \"bda-qem-favourite\":\n fav.addClass(\"active\");\n $(\"#bda-qem-favourite-container\").show();\n break;\n\n case \"bda-qem-emojis\":\n emojis.addClass(\"active\");\n $(\".emojiPicker-3m1S-j\").show();\n $(\".emojiPicker-3m1S-j input\").focus();\n break;\n }\n\n if (id) this.lastTab = id;\n }\n\n observe(mutation) {\n if (!mutation.addedNodes.length || !(mutation.addedNodes[0] instanceof Element)) return;\n const node = mutation.addedNodes[0];\n if (!node.classList.contains(\"popout-3sVMXz\") || node.classList.contains(\"popoutLeft-30WmrD\") || !node.getElementsByClassName(\"emojiPicker-3m1S-j\").length) return;\n const e = $(node);\n if (this.hideEmojis) e.addClass(\"bda-qme-hidden\");else e.removeClass(\"bda-qme-hidden\");\n e.prepend(this.qmeHeader);\n e.append(this.teContainer);\n e.append(this.faContainer);\n this.switchMenu(this.lastTab);\n }\n\n favorite(name, url) {\n if (!this.favoriteEmotes.hasOwnProperty(name)) this.favoriteEmotes[name] = url;\n this.updateFavorites();\n }\n\n updateTwitchEmotes() {\n while (this.teContainerInner.firstChild) this.teContainerInner.firstChild.remove();\n\n for (const emote in _emotes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getCategory(\"TwitchGlobal\")) {\n if (!_emotes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getCategory(\"TwitchGlobal\").hasOwnProperty(emote)) continue;\n const url = _emotes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getCategory(\"TwitchGlobal\")[emote];\n const emoteElement = makeEmote(emote, url, {\n onClick: this.insertEmote.bind(this, emote)\n });\n this.teContainerInner.append(emoteElement);\n }\n }\n\n updateFavorites() {\n while (this.faContainerInner.firstChild) this.faContainerInner.firstChild.remove();\n\n for (const emote in this.favoriteEmotes) {\n const url = this.favoriteEmotes[emote];\n const emoteElement = makeEmote(emote, url, {\n onClick: this.insertEmote.bind(this, emote),\n onContextMenu: this.favContext.bind(this)\n });\n this.faContainerInner.append(emoteElement);\n }\n\n modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].setBDData(\"bdfavemotes\", btoa(JSON.stringify(this.favoriteEmotes)));\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Vtb3RlbWVudS5qcz8yYWNlIl0sIm5hbWVzIjpbImhlYWRlckhUTUwiLCJ0d2l0Y2hFbW90ZUhUTUwiLCJmYXZvcml0ZXNIVE1MIiwibWFrZUVtb3RlIiwiZW1vdGUiLCJ1cmwiLCJvcHRpb25zIiwib25Db250ZXh0TWVudSIsIm9uQ2xpY2siLCJlbW90ZUNvbnRhaW5lciIsIiQiLCJhZGRFdmVudExpc3RlbmVyIiwiRW1vdGVNZW51IiwiQnVpbHRpbiIsIm5hbWUiLCJjb2xsZWN0aW9uIiwiY2F0ZWdvcnkiLCJpZCIsImhpZGVFbW9qaXNJRCIsImhpZGVFbW9qaXMiLCJnZXQiLCJjb25zdHJ1Y3RvciIsImxhc3RUYWIiLCJmYXZvcml0ZUVtb3RlcyIsInFtZUhlYWRlciIsImJ1dHRvbiIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwic3dpdGNoTWVudSIsImJpbmQiLCJ0ZUNvbnRhaW5lciIsInRlQ29udGFpbmVySW5uZXIiLCJxdWVyeVNlbGVjdG9yIiwiZmFDb250YWluZXIiLCJmYUNvbnRhaW5lcklubmVyIiwib2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwibXV0YXRpb25zIiwibXV0YXRpb24iLCJvYnNlcnZlIiwiZW5hYmxlSGlkZUVtb2ppcyIsImRpc2FibGVIaWRlRW1vamlzIiwidXBkYXRlVHdpdGNoRW1vdGVzIiwiaW5pdGlhbGl6ZSIsImZlIiwiRGF0YVN0b3JlIiwiZ2V0QkREYXRhIiwiSlNPTiIsInBhcnNlIiwiYXRvYiIsInVwZGF0ZUZhdm9yaXRlcyIsImVuYWJsZWQiLCJsb2ciLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsImhpZGVFbW9qaUNhbmNlbCIsInJlZ2lzdGVyU2V0dGluZyIsIlN0YXRlIiwiZW1vdGVzTG9hZGVkIiwiRXZlbnRzIiwib24iLCJkaXNhYmxlZCIsIm9mZiIsImRpc2Nvbm5lY3QiLCJ3YWl0Rm9yRW1vdGVzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJhZGRDbGFzcyIsInJlbW92ZUNsYXNzIiwiaW5zZXJ0RW1vdGUiLCJ0YSIsIlV0aWxpdGllcyIsImdldFRleHRBcmVhIiwiaW5zZXJ0VGV4dCIsInZhbCIsInNsaWNlIiwiZmF2Q29udGV4dCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJlbSIsInRhcmdldCIsImNsb3Nlc3QiLCJjaGlsZHJlbiIsIm1lbnUiLCJjc3MiLCJ0b3AiLCJwYWdlWSIsIm9mZnNldCIsImxlZnQiLCJwYWdlWCIsInBhcmVudCIsImFwcGVuZCIsInByZXZlbnREZWZhdWx0IiwicmVtb3ZlIiwiYXR0ciIsInR3aXRjaCIsImZhdiIsImVtb2ppcyIsImhpZGUiLCJzaG93IiwiZm9jdXMiLCJhZGRlZE5vZGVzIiwibGVuZ3RoIiwiRWxlbWVudCIsIm5vZGUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJwcmVwZW5kIiwiZmF2b3JpdGUiLCJoYXNPd25Qcm9wZXJ0eSIsImZpcnN0Q2hpbGQiLCJFbW90ZU1vZHVsZSIsImdldENhdGVnb3J5IiwiZW1vdGVFbGVtZW50Iiwic2V0QkREYXRhIiwiYnRvYSIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBRUEsTUFBTUEsVUFBVSxHQUFJOzs7O09BQXBCO0FBTUEsTUFBTUMsZUFBZSxHQUFJOzs7Ozs7OztPQUF6QjtBQVVBLE1BQU1DLGFBQWEsR0FBSTs7Ozs7Ozs7T0FBdkI7O0FBVUEsTUFBTUMsU0FBUyxHQUFHLENBQUNDLEtBQUQsRUFBUUMsR0FBUixFQUFhQyxPQUFPLEdBQUcsRUFBdkIsS0FBOEI7QUFDNUMsUUFBTTtBQUFDQyxpQkFBRDtBQUFnQkM7QUFBaEIsTUFBMkJGLE9BQWpDO0FBQ0EsUUFBTUcsY0FBYyxHQUFHQyxDQUFDLENBQUU7dUNBQ1NOLEtBQU0sVUFBU0MsR0FBSSxZQUFXRCxLQUFNO1dBRC9DLENBQUQsQ0FFZCxDQUZjLENBQXZCO0FBR0EsTUFBSUcsYUFBSixFQUFtQkUsY0FBYyxDQUFDRSxnQkFBZixDQUFnQyxhQUFoQyxFQUErQ0osYUFBL0M7QUFDbkJFLGdCQUFjLENBQUNFLGdCQUFmLENBQWdDLE9BQWhDLEVBQXlDSCxPQUF6QztBQUNBLFNBQU9DLGNBQVA7QUFDSCxDQVJEOztBQVVlLG1FQUFJLE1BQU1HLFNBQU4sU0FBd0JDLHdEQUF4QixDQUFnQztBQUMvQyxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLFdBQVA7QUFBb0I7O0FBQ2hDLE1BQUlDLFVBQUosR0FBaUI7QUFBQyxXQUFPLFFBQVA7QUFBaUI7O0FBQ25DLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxXQUFQO0FBQW9COztBQUM5QixNQUFJQyxZQUFKLEdBQW1CO0FBQUMsV0FBTyxlQUFQO0FBQXdCOztBQUM1QyxNQUFJQyxVQUFKLEdBQWlCO0FBQUMsV0FBTyxLQUFLQyxHQUFMLENBQVMsS0FBS0YsWUFBZCxDQUFQO0FBQW9DOztBQUV0REcsYUFBVyxHQUFHO0FBQ1Y7QUFDQSxTQUFLQyxPQUFMLEdBQWUsZ0JBQWY7QUFDQSxTQUFLQyxjQUFMLEdBQXNCLEVBQXRCO0FBRUEsU0FBS0MsU0FBTCxHQUFpQmQsQ0FBQyxDQUFDVixVQUFELENBQUQsQ0FBYyxDQUFkLENBQWpCOztBQUNBLFNBQUssTUFBTXlCLE1BQVgsSUFBcUIsS0FBS0QsU0FBTCxDQUFlRSxvQkFBZixDQUFvQyxRQUFwQyxDQUFyQixFQUFvRUQsTUFBTSxDQUFDZCxnQkFBUCxDQUF3QixPQUF4QixFQUFpQyxLQUFLZ0IsVUFBTCxDQUFnQkMsSUFBaEIsQ0FBcUIsSUFBckIsQ0FBakM7O0FBRXBFLFNBQUtDLFdBQUwsR0FBbUJuQixDQUFDLENBQUNULGVBQUQsQ0FBRCxDQUFtQixDQUFuQixDQUFuQjtBQUNBLFNBQUs2QixnQkFBTCxHQUF3QixLQUFLRCxXQUFMLENBQWlCRSxhQUFqQixDQUErQixtQkFBL0IsQ0FBeEI7QUFFQSxTQUFLQyxXQUFMLEdBQW1CdEIsQ0FBQyxDQUFDUixhQUFELENBQUQsQ0FBaUIsQ0FBakIsQ0FBbkI7QUFDQSxTQUFLK0IsZ0JBQUwsR0FBd0IsS0FBS0QsV0FBTCxDQUFpQkQsYUFBakIsQ0FBK0IsbUJBQS9CLENBQXhCO0FBRUEsU0FBS0csUUFBTCxHQUFnQixJQUFJQyxnQkFBSixDQUFxQkMsU0FBUyxJQUFJO0FBQUMsV0FBSyxNQUFNQyxRQUFYLElBQXVCRCxTQUF2QixFQUFrQyxLQUFLRSxPQUFMLENBQWFELFFBQWI7QUFBd0IsS0FBN0YsQ0FBaEI7QUFDQSxTQUFLRSxnQkFBTCxHQUF3QixLQUFLQSxnQkFBTCxDQUFzQlgsSUFBdEIsQ0FBMkIsSUFBM0IsQ0FBeEI7QUFDQSxTQUFLWSxpQkFBTCxHQUF5QixLQUFLQSxpQkFBTCxDQUF1QlosSUFBdkIsQ0FBNEIsSUFBNUIsQ0FBekI7QUFDQSxTQUFLYSxrQkFBTCxHQUEwQixLQUFLQSxrQkFBTCxDQUF3QmIsSUFBeEIsQ0FBNkIsSUFBN0IsQ0FBMUI7QUFDSDs7QUFFRGMsWUFBVSxHQUFHO0FBQ1QsVUFBTUEsVUFBTjtBQUNBLFVBQU1DLEVBQUUsR0FBR0MsaURBQVMsQ0FBQ0MsU0FBVixDQUFvQixhQUFwQixDQUFYO0FBQ0EsUUFBSUYsRUFBRSxLQUFLLEVBQVAsSUFBYUEsRUFBRSxLQUFLLElBQXhCLEVBQThCLEtBQUtwQixjQUFMLEdBQXNCdUIsSUFBSSxDQUFDQyxLQUFMLENBQVdDLElBQUksQ0FBQ0wsRUFBRCxDQUFmLENBQXRCO0FBQzlCLFNBQUtNLGVBQUw7QUFDSDs7QUFFRCxRQUFNQyxPQUFOLEdBQWdCO0FBQ1osU0FBS0MsR0FBTCxDQUFTLHFCQUFUO0FBQ0EsU0FBS2pCLFFBQUwsQ0FBY0ksT0FBZCxDQUFzQmMsUUFBUSxDQUFDQyxjQUFULENBQXdCLFdBQXhCLENBQXRCLEVBQTREO0FBQ3hEQyxlQUFTLEVBQUUsSUFENkM7QUFFeERDLGFBQU8sRUFBRTtBQUYrQyxLQUE1RDtBQUlBLFNBQUtDLGVBQUwsR0FBdUIsS0FBS0MsZUFBTCxDQUFxQixLQUFLdkMsWUFBMUIsRUFBd0MsS0FBS3FCLGdCQUE3QyxFQUErRCxLQUFLQyxpQkFBcEUsQ0FBdkI7QUFDQSxRQUFJLEtBQUtyQixVQUFULEVBQXFCLEtBQUtvQixnQkFBTCxHQVBULENBUVo7QUFDQTs7QUFDQSxRQUFJbUIsMENBQUssQ0FBQ0MsWUFBVixFQUF3QixLQUFLbEIsa0JBQUw7QUFDeEJtQixrREFBTSxDQUFDQyxFQUFQLENBQVUsZUFBVixFQUEyQixLQUFLcEIsa0JBQWhDO0FBQ0g7O0FBRURxQixVQUFRLEdBQUc7QUFDUEYsa0RBQU0sQ0FBQ0csR0FBUCxDQUFXLGVBQVgsRUFBNEIsS0FBS3RCLGtCQUFqQztBQUNBLFNBQUtQLFFBQUwsQ0FBYzhCLFVBQWQ7QUFDQSxTQUFLeEIsaUJBQUw7QUFDQSxRQUFJLEtBQUtnQixlQUFULEVBQTBCLEtBQUtBLGVBQUw7QUFDN0I7O0FBRUQsUUFBTVMsYUFBTixHQUFzQjtBQUNsQixRQUFJUCwwQ0FBSyxDQUFDQyxZQUFWLEVBQXdCO0FBQ3hCLFdBQU8sSUFBSU8sT0FBSixDQUFZQyxPQUFPLElBQUk7QUFDMUJQLG9EQUFNLENBQUNDLEVBQVAsQ0FBVSxlQUFWLEVBQTJCTSxPQUEzQjtBQUNILEtBRk0sQ0FBUDtBQUdIOztBQUVENUIsa0JBQWdCLEdBQUc7QUFDZjdCLEtBQUMsQ0FBQyxxQkFBRCxDQUFELENBQXlCMEQsUUFBekIsQ0FBa0MsZ0JBQWxDO0FBQ0g7O0FBRUQ1QixtQkFBaUIsR0FBRztBQUNoQjlCLEtBQUMsQ0FBQyxxQkFBRCxDQUFELENBQXlCMkQsV0FBekIsQ0FBcUMsZ0JBQXJDO0FBQ0g7O0FBRURDLGFBQVcsQ0FBQ2xFLEtBQUQsRUFBUTtBQUNmLFVBQU1tRSxFQUFFLEdBQUdDLGlEQUFTLENBQUNDLFdBQVYsRUFBWDtBQUNBRCxxREFBUyxDQUFDRSxVQUFWLENBQXFCSCxFQUFFLENBQUMsQ0FBRCxDQUF2QixFQUE0QkEsRUFBRSxDQUFDSSxHQUFILEdBQVNDLEtBQVQsQ0FBZSxDQUFDLENBQWhCLEtBQXNCLEdBQXRCLEdBQTRCTCxFQUFFLENBQUNJLEdBQUgsS0FBV3ZFLEtBQXZDLEdBQStDbUUsRUFBRSxDQUFDSSxHQUFILEtBQVcsR0FBWCxHQUFpQnZFLEtBQTVGO0FBQ0g7O0FBRUR5RSxZQUFVLENBQUNDLENBQUQsRUFBSTtBQUNWQSxLQUFDLENBQUNDLGVBQUY7QUFDQSxVQUFNQyxFQUFFLEdBQUdGLENBQUMsQ0FBQ0csTUFBRixDQUFTQyxPQUFULENBQWlCLGtCQUFqQixFQUFxQ0MsUUFBckMsQ0FBOEMsQ0FBOUMsQ0FBWDtBQUNBLFVBQU1DLElBQUksR0FBRzFFLENBQUMsQ0FBRSxtRkFBRixDQUFkO0FBQ0EwRSxRQUFJLENBQUNDLEdBQUwsQ0FBUztBQUNMQyxTQUFHLEVBQUVSLENBQUMsQ0FBQ1MsS0FBRixHQUFVN0UsQ0FBQyxDQUFDLDhCQUFELENBQUQsQ0FBa0M4RSxNQUFsQyxHQUEyQ0YsR0FEckQ7QUFFTEcsVUFBSSxFQUFFWCxDQUFDLENBQUNZLEtBQUYsR0FBVWhGLENBQUMsQ0FBQyw4QkFBRCxDQUFELENBQWtDOEUsTUFBbEMsR0FBMkNDO0FBRnRELEtBQVQ7QUFJQS9FLEtBQUMsQ0FBQ3NFLEVBQUQsQ0FBRCxDQUFNVyxNQUFOLEdBQWVDLE1BQWYsQ0FBc0JSLElBQXRCO0FBQ0FBLFFBQUksQ0FBQ3ZCLEVBQUwsQ0FBUSxPQUFSLEVBQWtCaUIsQ0FBRCxJQUFPO0FBQ3BCQSxPQUFDLENBQUNlLGNBQUY7QUFDQWYsT0FBQyxDQUFDQyxlQUFGO0FBQ0FyRSxPQUFDLENBQUNzRSxFQUFELENBQUQsQ0FBTWMsTUFBTjtBQUNBLGFBQU8sS0FBS3ZFLGNBQUwsQ0FBb0JiLENBQUMsQ0FBQ3NFLEVBQUQsQ0FBRCxDQUFNZSxJQUFOLENBQVcsT0FBWCxDQUFwQixDQUFQO0FBQ0EsV0FBSzlDLGVBQUw7QUFDQXZDLE9BQUMsQ0FBQzBDLFFBQUQsQ0FBRCxDQUFZVyxHQUFaLENBQWdCLHFCQUFoQjtBQUNILEtBUEQ7QUFRQXJELEtBQUMsQ0FBQzBDLFFBQUQsQ0FBRCxDQUFZUyxFQUFaLENBQWUscUJBQWYsRUFBc0MsVUFBU2lCLENBQVQsRUFBWTtBQUM5QyxVQUFJQSxDQUFDLENBQUNHLE1BQUYsQ0FBU2hFLEVBQVQsSUFBZSxZQUFuQixFQUFpQztBQUNqQ1AsT0FBQyxDQUFDLGFBQUQsQ0FBRCxDQUFpQm9GLE1BQWpCO0FBQ0FwRixPQUFDLENBQUMwQyxRQUFELENBQUQsQ0FBWVcsR0FBWixDQUFnQixxQkFBaEI7QUFDSCxLQUpEO0FBS0g7O0FBRURwQyxZQUFVLENBQUNtRCxDQUFELEVBQUk7QUFDVixRQUFJN0QsRUFBRSxHQUFHLE9BQU82RCxDQUFQLElBQWEsUUFBYixHQUF3QkEsQ0FBeEIsR0FBNEJwRSxDQUFDLENBQUNvRSxDQUFDLENBQUNHLE1BQUgsQ0FBRCxDQUFZYyxJQUFaLENBQWlCLElBQWpCLENBQXJDO0FBQ0EsUUFBSTlFLEVBQUUsSUFBSSxnQkFBTixJQUEwQixLQUFLRSxVQUFuQyxFQUErQ0YsRUFBRSxHQUFHLG1CQUFMO0FBQy9DLFVBQU0rRSxNQUFNLEdBQUd0RixDQUFDLENBQUMsaUJBQUQsQ0FBaEI7QUFDQSxVQUFNdUYsR0FBRyxHQUFHdkYsQ0FBQyxDQUFDLG9CQUFELENBQWI7QUFDQSxVQUFNd0YsTUFBTSxHQUFHeEYsQ0FBQyxDQUFDLGlCQUFELENBQWhCO0FBQ0FzRixVQUFNLENBQUMzQixXQUFQLENBQW1CLFFBQW5CO0FBQ0E0QixPQUFHLENBQUM1QixXQUFKLENBQWdCLFFBQWhCO0FBQ0E2QixVQUFNLENBQUM3QixXQUFQLENBQW1CLFFBQW5CO0FBRUEzRCxLQUFDLENBQUMscUJBQUQsQ0FBRCxDQUF5QnlGLElBQXpCO0FBQ0F6RixLQUFDLENBQUMsOEJBQUQsQ0FBRCxDQUFrQ3lGLElBQWxDO0FBQ0F6RixLQUFDLENBQUMsMkJBQUQsQ0FBRCxDQUErQnlGLElBQS9COztBQUVBLFlBQVFsRixFQUFSO0FBQ0ksV0FBSyxnQkFBTDtBQUNJK0UsY0FBTSxDQUFDNUIsUUFBUCxDQUFnQixRQUFoQjtBQUNBMUQsU0FBQyxDQUFDLDJCQUFELENBQUQsQ0FBK0IwRixJQUEvQjtBQUNBOztBQUNKLFdBQUssbUJBQUw7QUFDSUgsV0FBRyxDQUFDN0IsUUFBSixDQUFhLFFBQWI7QUFDQTFELFNBQUMsQ0FBQyw4QkFBRCxDQUFELENBQWtDMEYsSUFBbEM7QUFDQTs7QUFDSixXQUFLLGdCQUFMO0FBQ0lGLGNBQU0sQ0FBQzlCLFFBQVAsQ0FBZ0IsUUFBaEI7QUFDQTFELFNBQUMsQ0FBQyxxQkFBRCxDQUFELENBQXlCMEYsSUFBekI7QUFDQTFGLFNBQUMsQ0FBQywyQkFBRCxDQUFELENBQStCMkYsS0FBL0I7QUFDQTtBQWJSOztBQWVBLFFBQUlwRixFQUFKLEVBQVEsS0FBS0ssT0FBTCxHQUFlTCxFQUFmO0FBQ1g7O0FBRURxQixTQUFPLENBQUNELFFBQUQsRUFBVztBQUNkLFFBQUksQ0FBQ0EsUUFBUSxDQUFDaUUsVUFBVCxDQUFvQkMsTUFBckIsSUFBK0IsRUFBRWxFLFFBQVEsQ0FBQ2lFLFVBQVQsQ0FBb0IsQ0FBcEIsYUFBa0NFLE9BQXBDLENBQW5DLEVBQWlGO0FBQ2pGLFVBQU1DLElBQUksR0FBR3BFLFFBQVEsQ0FBQ2lFLFVBQVQsQ0FBb0IsQ0FBcEIsQ0FBYjtBQUNBLFFBQUksQ0FBQ0csSUFBSSxDQUFDQyxTQUFMLENBQWVDLFFBQWYsQ0FBd0IsZUFBeEIsQ0FBRCxJQUE2Q0YsSUFBSSxDQUFDQyxTQUFMLENBQWVDLFFBQWYsQ0FBd0IsbUJBQXhCLENBQTdDLElBQTZGLENBQUNGLElBQUksQ0FBQ0csc0JBQUwsQ0FBNEIsb0JBQTVCLEVBQWtETCxNQUFwSixFQUE0SjtBQUU1SixVQUFNekIsQ0FBQyxHQUFHcEUsQ0FBQyxDQUFDK0YsSUFBRCxDQUFYO0FBQ0EsUUFBSSxLQUFLdEYsVUFBVCxFQUFxQjJELENBQUMsQ0FBQ1YsUUFBRixDQUFXLGdCQUFYLEVBQXJCLEtBQ0tVLENBQUMsQ0FBQ1QsV0FBRixDQUFjLGdCQUFkO0FBRUxTLEtBQUMsQ0FBQytCLE9BQUYsQ0FBVSxLQUFLckYsU0FBZjtBQUNBc0QsS0FBQyxDQUFDYyxNQUFGLENBQVMsS0FBSy9ELFdBQWQ7QUFDQWlELEtBQUMsQ0FBQ2MsTUFBRixDQUFTLEtBQUs1RCxXQUFkO0FBRUEsU0FBS0wsVUFBTCxDQUFnQixLQUFLTCxPQUFyQjtBQUNIOztBQUVEd0YsVUFBUSxDQUFDaEcsSUFBRCxFQUFPVCxHQUFQLEVBQVk7QUFDaEIsUUFBSSxDQUFDLEtBQUtrQixjQUFMLENBQW9Cd0YsY0FBcEIsQ0FBbUNqRyxJQUFuQyxDQUFMLEVBQStDLEtBQUtTLGNBQUwsQ0FBb0JULElBQXBCLElBQTRCVCxHQUE1QjtBQUMvQyxTQUFLNEMsZUFBTDtBQUNIOztBQUVEUixvQkFBa0IsR0FBRztBQUNqQixXQUFPLEtBQUtYLGdCQUFMLENBQXNCa0YsVUFBN0IsRUFBeUMsS0FBS2xGLGdCQUFMLENBQXNCa0YsVUFBdEIsQ0FBaUNsQixNQUFqQzs7QUFDekMsU0FBSyxNQUFNMUYsS0FBWCxJQUFvQjZHLCtDQUFXLENBQUNDLFdBQVosQ0FBd0IsY0FBeEIsQ0FBcEIsRUFBNkQ7QUFDekQsVUFBSSxDQUFDRCwrQ0FBVyxDQUFDQyxXQUFaLENBQXdCLGNBQXhCLEVBQXdDSCxjQUF4QyxDQUF1RDNHLEtBQXZELENBQUwsRUFBb0U7QUFDcEUsWUFBTUMsR0FBRyxHQUFHNEcsK0NBQVcsQ0FBQ0MsV0FBWixDQUF3QixjQUF4QixFQUF3QzlHLEtBQXhDLENBQVo7QUFDQSxZQUFNK0csWUFBWSxHQUFHaEgsU0FBUyxDQUFDQyxLQUFELEVBQVFDLEdBQVIsRUFBYTtBQUFDRyxlQUFPLEVBQUUsS0FBSzhELFdBQUwsQ0FBaUIxQyxJQUFqQixDQUFzQixJQUF0QixFQUE0QnhCLEtBQTVCO0FBQVYsT0FBYixDQUE5QjtBQUNBLFdBQUswQixnQkFBTCxDQUFzQjhELE1BQXRCLENBQTZCdUIsWUFBN0I7QUFDSDtBQUNKOztBQUVEbEUsaUJBQWUsR0FBRztBQUNkLFdBQU8sS0FBS2hCLGdCQUFMLENBQXNCK0UsVUFBN0IsRUFBeUMsS0FBSy9FLGdCQUFMLENBQXNCK0UsVUFBdEIsQ0FBaUNsQixNQUFqQzs7QUFDekMsU0FBSyxNQUFNMUYsS0FBWCxJQUFvQixLQUFLbUIsY0FBekIsRUFBeUM7QUFDckMsWUFBTWxCLEdBQUcsR0FBRyxLQUFLa0IsY0FBTCxDQUFvQm5CLEtBQXBCLENBQVo7QUFDQSxZQUFNK0csWUFBWSxHQUFHaEgsU0FBUyxDQUFDQyxLQUFELEVBQVFDLEdBQVIsRUFBYTtBQUFDRyxlQUFPLEVBQUUsS0FBSzhELFdBQUwsQ0FBaUIxQyxJQUFqQixDQUFzQixJQUF0QixFQUE0QnhCLEtBQTVCLENBQVY7QUFBOENHLHFCQUFhLEVBQUUsS0FBS3NFLFVBQUwsQ0FBZ0JqRCxJQUFoQixDQUFxQixJQUFyQjtBQUE3RCxPQUFiLENBQTlCO0FBQ0EsV0FBS0ssZ0JBQUwsQ0FBc0IyRCxNQUF0QixDQUE2QnVCLFlBQTdCO0FBQ0g7O0FBQ0R2RSxxREFBUyxDQUFDd0UsU0FBVixDQUFvQixhQUFwQixFQUFtQ0MsSUFBSSxDQUFDdkUsSUFBSSxDQUFDd0UsU0FBTCxDQUFlLEtBQUsvRixjQUFwQixDQUFELENBQXZDO0FBQ0g7O0FBM0s4QyxDQUFwQyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL2Vtb3RlbWVudS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtTdGF0ZX0gZnJvbSBcImRhdGFcIjtcclxuaW1wb3J0IHtEYXRhU3RvcmUsIFV0aWxpdGllcywgRXZlbnRzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuaW1wb3J0IEVtb3RlTW9kdWxlIGZyb20gXCIuL2Vtb3Rlc1wiO1xyXG5cclxuY29uc3QgaGVhZGVySFRNTCA9IGA8ZGl2IGlkPVwiYmRhLXFlbVwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImFjdGl2ZVwiIGlkPVwiYmRhLXFlbS10d2l0Y2hcIj5Ud2l0Y2g8L2J1dHRvbj5cclxuICAgIDxidXR0b24gaWQ9XCJiZGEtcWVtLWZhdm91cml0ZVwiPkZhdm91cml0ZTwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBpZD1cImJkYS1xZW0tZW1vamlzXCI+RW1vamlzPC9idXR0b25kPlxyXG48L2Rpdj5gO1xyXG5cclxuY29uc3QgdHdpdGNoRW1vdGVIVE1MID0gYDxkaXYgaWQ9XCJiZGEtcWVtLXR3aXRjaC1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlci13cmFwIHNjcm9sbGVyV3JhcC0ybEpFa2QgZmFkZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlciBzY3JvbGxlci0yRktGUEdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtb3RlLW1lbnUtaW5uZXJcIj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PmA7XHJcblxyXG5jb25zdCBmYXZvcml0ZXNIVE1MID0gYDxkaXYgaWQ9XCJiZGEtcWVtLWZhdm91cml0ZS1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlci13cmFwIHNjcm9sbGVyV3JhcC0ybEpFa2QgZmFkZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlciBzY3JvbGxlci0yRktGUEdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVtb3RlLW1lbnUtaW5uZXJcIj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PmA7XHJcblxyXG5jb25zdCBtYWtlRW1vdGUgPSAoZW1vdGUsIHVybCwgb3B0aW9ucyA9IHt9KSA9PiB7XHJcbiAgICBjb25zdCB7b25Db250ZXh0TWVudSwgb25DbGlja30gPSBvcHRpb25zO1xyXG4gICAgY29uc3QgZW1vdGVDb250YWluZXIgPSAkKGA8ZGl2IGNsYXNzPVwiZW1vdGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGltZyBjbGFzcz1cImVtb3RlLWljb25cIiBhbHQ9XCIke2Vtb3RlfVwiIHNyYz1cIiR7dXJsfVwiIHRpdGxlPVwiJHtlbW90ZX1cIj5cclxuICAgIDwvZGl2PmApWzBdO1xyXG4gICAgaWYgKG9uQ29udGV4dE1lbnUpIGVtb3RlQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoXCJjb250ZXh0bWVudVwiLCBvbkNvbnRleHRNZW51KTtcclxuICAgIGVtb3RlQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBvbkNsaWNrKTtcclxuICAgIHJldHVybiBlbW90ZUNvbnRhaW5lcjtcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBFbW90ZU1lbnUgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkVtb3RlTWVudVwiO31cclxuICAgIGdldCBjb2xsZWN0aW9uKCkge3JldHVybiBcImVtb3Rlc1wiO31cclxuICAgIGdldCBjYXRlZ29yeSgpIHtyZXR1cm4gXCJnZW5lcmFsXCI7fVxyXG4gICAgZ2V0IGlkKCkge3JldHVybiBcImVtb3RlTWVudVwiO31cclxuICAgIGdldCBoaWRlRW1vamlzSUQoKSB7cmV0dXJuIFwiaGlkZUVtb2ppTWVudVwiO31cclxuICAgIGdldCBoaWRlRW1vamlzKCkge3JldHVybiB0aGlzLmdldCh0aGlzLmhpZGVFbW9qaXNJRCk7fVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5sYXN0VGFiID0gXCJiZGEtcWVtLWVtb2ppc1wiO1xyXG4gICAgICAgIHRoaXMuZmF2b3JpdGVFbW90ZXMgPSB7fTtcclxuXHJcbiAgICAgICAgdGhpcy5xbWVIZWFkZXIgPSAkKGhlYWRlckhUTUwpWzBdO1xyXG4gICAgICAgIGZvciAoY29uc3QgYnV0dG9uIG9mIHRoaXMucW1lSGVhZGVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYnV0dG9uXCIpKSBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuc3dpdGNoTWVudS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgICAgdGhpcy50ZUNvbnRhaW5lciA9ICQodHdpdGNoRW1vdGVIVE1MKVswXTtcclxuICAgICAgICB0aGlzLnRlQ29udGFpbmVySW5uZXIgPSB0aGlzLnRlQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoXCIuZW1vdGUtbWVudS1pbm5lclwiKTtcclxuXHJcbiAgICAgICAgdGhpcy5mYUNvbnRhaW5lciA9ICQoZmF2b3JpdGVzSFRNTClbMF07XHJcbiAgICAgICAgdGhpcy5mYUNvbnRhaW5lcklubmVyID0gdGhpcy5mYUNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKFwiLmVtb3RlLW1lbnUtaW5uZXJcIik7XHJcblxyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihtdXRhdGlvbnMgPT4ge2ZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB0aGlzLm9ic2VydmUobXV0YXRpb24pO30pO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlSGlkZUVtb2ppcyA9IHRoaXMuZW5hYmxlSGlkZUVtb2ppcy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUhpZGVFbW9qaXMgPSB0aGlzLmRpc2FibGVIaWRlRW1vamlzLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVUd2l0Y2hFbW90ZXMgPSB0aGlzLnVwZGF0ZVR3aXRjaEVtb3Rlcy5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemUoKSB7XHJcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xyXG4gICAgICAgIGNvbnN0IGZlID0gRGF0YVN0b3JlLmdldEJERGF0YShcImJkZmF2ZW1vdGVzXCIpO1xyXG4gICAgICAgIGlmIChmZSAhPT0gXCJcIiAmJiBmZSAhPT0gbnVsbCkgdGhpcy5mYXZvcml0ZUVtb3RlcyA9IEpTT04ucGFyc2UoYXRvYihmZSkpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRmF2b3JpdGVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZW5hYmxlZCgpIHtcclxuICAgICAgICB0aGlzLmxvZyhcIlN0YXJ0aW5nIHRvIG9ic2VydmVcIik7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYXBwLW1vdW50XCIpLCB7XHJcbiAgICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcclxuICAgICAgICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaGlkZUVtb2ppQ2FuY2VsID0gdGhpcy5yZWdpc3RlclNldHRpbmcodGhpcy5oaWRlRW1vamlzSUQsIHRoaXMuZW5hYmxlSGlkZUVtb2ppcywgdGhpcy5kaXNhYmxlSGlkZUVtb2ppcyk7XHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZUVtb2ppcykgdGhpcy5lbmFibGVIaWRlRW1vamlzKCk7XHJcbiAgICAgICAgLy8gYXdhaXQgdGhpcy53YWl0Rm9yRW1vdGVzKCk7XHJcbiAgICAgICAgLy8gdGhpcy51cGRhdGVUd2l0Y2hFbW90ZXMoKTtcclxuICAgICAgICBpZiAoU3RhdGUuZW1vdGVzTG9hZGVkKSB0aGlzLnVwZGF0ZVR3aXRjaEVtb3RlcygpO1xyXG4gICAgICAgIEV2ZW50cy5vbihcImVtb3Rlcy1sb2FkZWRcIiwgdGhpcy51cGRhdGVUd2l0Y2hFbW90ZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIEV2ZW50cy5vZmYoXCJlbW90ZXMtbG9hZGVkXCIsIHRoaXMudXBkYXRlVHdpdGNoRW1vdGVzKTtcclxuICAgICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICB0aGlzLmRpc2FibGVIaWRlRW1vamlzKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZUVtb2ppQ2FuY2VsKSB0aGlzLmhpZGVFbW9qaUNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdhaXRGb3JFbW90ZXMoKSB7XHJcbiAgICAgICAgaWYgKFN0YXRlLmVtb3Rlc0xvYWRlZCkgcmV0dXJuO1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgRXZlbnRzLm9uKFwiZW1vdGVzLWxvYWRlZFwiLCByZXNvbHZlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBlbmFibGVIaWRlRW1vamlzKCkge1xyXG4gICAgICAgICQoXCIuZW1vamlQaWNrZXItM20xUy1qXCIpLmFkZENsYXNzKFwiYmRhLXFtZS1oaWRkZW5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZUhpZGVFbW9qaXMoKSB7XHJcbiAgICAgICAgJChcIi5lbW9qaVBpY2tlci0zbTFTLWpcIikucmVtb3ZlQ2xhc3MoXCJiZGEtcW1lLWhpZGRlblwiKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnNlcnRFbW90ZShlbW90ZSkge1xyXG4gICAgICAgIGNvbnN0IHRhID0gVXRpbGl0aWVzLmdldFRleHRBcmVhKCk7XHJcbiAgICAgICAgVXRpbGl0aWVzLmluc2VydFRleHQodGFbMF0sIHRhLnZhbCgpLnNsaWNlKC0xKSA9PSBcIiBcIiA/IHRhLnZhbCgpICsgZW1vdGUgOiB0YS52YWwoKSArIFwiIFwiICsgZW1vdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGZhdkNvbnRleHQoZSkge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgY29uc3QgZW0gPSBlLnRhcmdldC5jbG9zZXN0KFwiLmVtb3RlLWNvbnRhaW5lclwiKS5jaGlsZHJlblswXTtcclxuICAgICAgICBjb25zdCBtZW51ID0gJChgPGRpdiBpZD1cInJlbW92ZW1lbnVcIiBjbGFzcz1cImJkLWNvbnRleHQtbWVudSBjb250ZXh0LW1lbnUgdGhlbWUtZGFya1wiPlJlbW92ZTwvZGl2PmApO1xyXG4gICAgICAgIG1lbnUuY3NzKHtcclxuICAgICAgICAgICAgdG9wOiBlLnBhZ2VZIC0gJChcIiNiZGEtcWVtLWZhdm91cml0ZS1jb250YWluZXJcIikub2Zmc2V0KCkudG9wLFxyXG4gICAgICAgICAgICBsZWZ0OiBlLnBhZ2VYIC0gJChcIiNiZGEtcWVtLWZhdm91cml0ZS1jb250YWluZXJcIikub2Zmc2V0KCkubGVmdFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgICQoZW0pLnBhcmVudCgpLmFwcGVuZChtZW51KTtcclxuICAgICAgICBtZW51Lm9uKFwiY2xpY2tcIiwgKGUpID0+IHtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAkKGVtKS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgZGVsZXRlIHRoaXMuZmF2b3JpdGVFbW90ZXNbJChlbSkuYXR0cihcInRpdGxlXCIpXTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVGYXZvcml0ZXMoKTtcclxuICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKFwibW91c2Vkb3duLmVtb3RlbWVudVwiKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAkKGRvY3VtZW50KS5vbihcIm1vdXNlZG93bi5lbW90ZW1lbnVcIiwgZnVuY3Rpb24oZSkge1xyXG4gICAgICAgICAgICBpZiAoZS50YXJnZXQuaWQgPT0gXCJyZW1vdmVtZW51XCIpIHJldHVybjtcclxuICAgICAgICAgICAgJChcIiNyZW1vdmVtZW51XCIpLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJtb3VzZWRvd24uZW1vdGVtZW51XCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaE1lbnUoZSkge1xyXG4gICAgICAgIGxldCBpZCA9IHR5cGVvZihlKSA9PSBcInN0cmluZ1wiID8gZSA6ICQoZS50YXJnZXQpLmF0dHIoXCJpZFwiKTtcclxuICAgICAgICBpZiAoaWQgPT0gXCJiZGEtcWVtLWVtb2ppc1wiICYmIHRoaXMuaGlkZUVtb2ppcykgaWQgPSBcImJkYS1xZW0tZmF2b3VyaXRlXCI7XHJcbiAgICAgICAgY29uc3QgdHdpdGNoID0gJChcIiNiZGEtcWVtLXR3aXRjaFwiKTtcclxuICAgICAgICBjb25zdCBmYXYgPSAkKFwiI2JkYS1xZW0tZmF2b3VyaXRlXCIpO1xyXG4gICAgICAgIGNvbnN0IGVtb2ppcyA9ICQoXCIjYmRhLXFlbS1lbW9qaXNcIik7XHJcbiAgICAgICAgdHdpdGNoLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgICAgIGZhdi5yZW1vdmVDbGFzcyhcImFjdGl2ZVwiKTtcclxuICAgICAgICBlbW9qaXMucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XHJcblxyXG4gICAgICAgICQoXCIuZW1vamlQaWNrZXItM20xUy1qXCIpLmhpZGUoKTtcclxuICAgICAgICAkKFwiI2JkYS1xZW0tZmF2b3VyaXRlLWNvbnRhaW5lclwiKS5oaWRlKCk7XHJcbiAgICAgICAgJChcIiNiZGEtcWVtLXR3aXRjaC1jb250YWluZXJcIikuaGlkZSgpO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKGlkKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJiZGEtcWVtLXR3aXRjaFwiOlxyXG4gICAgICAgICAgICAgICAgdHdpdGNoLmFkZENsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICAgICAgICAgJChcIiNiZGEtcWVtLXR3aXRjaC1jb250YWluZXJcIikuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJiZGEtcWVtLWZhdm91cml0ZVwiOlxyXG4gICAgICAgICAgICAgICAgZmF2LmFkZENsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICAgICAgICAgJChcIiNiZGEtcWVtLWZhdm91cml0ZS1jb250YWluZXJcIikuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgXCJiZGEtcWVtLWVtb2ppc1wiOlxyXG4gICAgICAgICAgICAgICAgZW1vamlzLmFkZENsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICAgICAgICAgJChcIi5lbW9qaVBpY2tlci0zbTFTLWpcIikuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgJChcIi5lbW9qaVBpY2tlci0zbTFTLWogaW5wdXRcIikuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWQpIHRoaXMubGFzdFRhYiA9IGlkO1xyXG4gICAgfVxyXG5cclxuICAgIG9ic2VydmUobXV0YXRpb24pIHtcclxuICAgICAgICBpZiAoIW11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoIHx8ICEobXV0YXRpb24uYWRkZWROb2Rlc1swXSBpbnN0YW5jZW9mIEVsZW1lbnQpKSByZXR1cm47XHJcbiAgICAgICAgY29uc3Qgbm9kZSA9IG11dGF0aW9uLmFkZGVkTm9kZXNbMF07XHJcbiAgICAgICAgaWYgKCFub2RlLmNsYXNzTGlzdC5jb250YWlucyhcInBvcG91dC0zc1ZNWHpcIikgfHwgbm9kZS5jbGFzc0xpc3QuY29udGFpbnMoXCJwb3BvdXRMZWZ0LTMwV21yRFwiKSB8fCAhbm9kZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiZW1vamlQaWNrZXItM20xUy1qXCIpLmxlbmd0aCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zdCBlID0gJChub2RlKTtcclxuICAgICAgICBpZiAodGhpcy5oaWRlRW1vamlzKSBlLmFkZENsYXNzKFwiYmRhLXFtZS1oaWRkZW5cIik7XHJcbiAgICAgICAgZWxzZSBlLnJlbW92ZUNsYXNzKFwiYmRhLXFtZS1oaWRkZW5cIik7XHJcblxyXG4gICAgICAgIGUucHJlcGVuZCh0aGlzLnFtZUhlYWRlcik7XHJcbiAgICAgICAgZS5hcHBlbmQodGhpcy50ZUNvbnRhaW5lcik7XHJcbiAgICAgICAgZS5hcHBlbmQodGhpcy5mYUNvbnRhaW5lcik7XHJcblxyXG4gICAgICAgIHRoaXMuc3dpdGNoTWVudSh0aGlzLmxhc3RUYWIpO1xyXG4gICAgfVxyXG5cclxuICAgIGZhdm9yaXRlKG5hbWUsIHVybCkge1xyXG4gICAgICAgIGlmICghdGhpcy5mYXZvcml0ZUVtb3Rlcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgdGhpcy5mYXZvcml0ZUVtb3Rlc1tuYW1lXSA9IHVybDtcclxuICAgICAgICB0aGlzLnVwZGF0ZUZhdm9yaXRlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVR3aXRjaEVtb3RlcygpIHtcclxuICAgICAgICB3aGlsZSAodGhpcy50ZUNvbnRhaW5lcklubmVyLmZpcnN0Q2hpbGQpIHRoaXMudGVDb250YWluZXJJbm5lci5maXJzdENoaWxkLnJlbW92ZSgpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZW1vdGUgaW4gRW1vdGVNb2R1bGUuZ2V0Q2F0ZWdvcnkoXCJUd2l0Y2hHbG9iYWxcIikpIHtcclxuICAgICAgICAgICAgaWYgKCFFbW90ZU1vZHVsZS5nZXRDYXRlZ29yeShcIlR3aXRjaEdsb2JhbFwiKS5oYXNPd25Qcm9wZXJ0eShlbW90ZSkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSBFbW90ZU1vZHVsZS5nZXRDYXRlZ29yeShcIlR3aXRjaEdsb2JhbFwiKVtlbW90ZV07XHJcbiAgICAgICAgICAgIGNvbnN0IGVtb3RlRWxlbWVudCA9IG1ha2VFbW90ZShlbW90ZSwgdXJsLCB7b25DbGljazogdGhpcy5pbnNlcnRFbW90ZS5iaW5kKHRoaXMsIGVtb3RlKX0pO1xyXG4gICAgICAgICAgICB0aGlzLnRlQ29udGFpbmVySW5uZXIuYXBwZW5kKGVtb3RlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUZhdm9yaXRlcygpIHtcclxuICAgICAgICB3aGlsZSAodGhpcy5mYUNvbnRhaW5lcklubmVyLmZpcnN0Q2hpbGQpIHRoaXMuZmFDb250YWluZXJJbm5lci5maXJzdENoaWxkLnJlbW92ZSgpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZW1vdGUgaW4gdGhpcy5mYXZvcml0ZUVtb3Rlcykge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmZhdm9yaXRlRW1vdGVzW2Vtb3RlXTtcclxuICAgICAgICAgICAgY29uc3QgZW1vdGVFbGVtZW50ID0gbWFrZUVtb3RlKGVtb3RlLCB1cmwsIHtvbkNsaWNrOiB0aGlzLmluc2VydEVtb3RlLmJpbmQodGhpcywgZW1vdGUpLCBvbkNvbnRleHRNZW51OiB0aGlzLmZhdkNvbnRleHQuYmluZCh0aGlzKX0pO1xyXG4gICAgICAgICAgICB0aGlzLmZhQ29udGFpbmVySW5uZXIuYXBwZW5kKGVtb3RlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIERhdGFTdG9yZS5zZXRCRERhdGEoXCJiZGZhdmVtb3Rlc1wiLCBidG9hKEpTT04uc3RyaW5naWZ5KHRoaXMuZmF2b3JpdGVFbW90ZXMpKSk7XHJcbiAgICB9XHJcblxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/emotemenu.js\n"); /***/ }), /***/ "./src/builtins/emotes.js": /*!********************************!*\ !*** ./src/builtins/emotes.js ***! \********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _ui_emote__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui/emote */ \"./src/ui/emote.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n\n\nconst Emotes = {\n TwitchGlobal: {},\n TwitchSubscriber: {},\n BTTV: {},\n FrankerFaceZ: {},\n BTTV2: {}\n};\nconst bdEmoteSettingIDs = {\n TwitchGlobal: \"twitch\",\n TwitchSubscriber: \"twitch\",\n BTTV: \"bttv\",\n FrankerFaceZ: \"ffz\",\n BTTV2: \"bttv\"\n};\nconst blacklist = [];\nconst overrides = [\"twitch\", \"bttv\", \"ffz\"];\nconst modifiers = [\"flip\", \"spin\", \"pulse\", \"spin2\", \"spin3\", \"1spin\", \"2spin\", \"3spin\", \"tr\", \"bl\", \"br\", \"shake\", \"shake2\", \"shake3\", \"flap\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class EmoteModule extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"Emotes\";\n }\n\n get collection() {\n return \"settings\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"emotes\";\n }\n\n get categories() {\n return Object.keys(bdEmoteSettingIDs).filter(k => this.isCategoryEnabled(bdEmoteSettingIDs[k]));\n }\n\n isCategoryEnabled(id) {\n return super.get(\"emotes\", \"categories\", id);\n }\n\n get(id) {\n return super.get(\"emotes\", \"general\", id);\n }\n\n get MessageContentComponent() {\n return modules__WEBPACK_IMPORTED_MODULE_2__[\"WebpackModules\"].getModule(m => m.defaultProps && m.defaultProps.hasOwnProperty(\"disableButtons\"));\n }\n\n get Emotes() {\n return Emotes;\n }\n\n get TwitchGlobal() {\n return Emotes.TwitchGlobal;\n }\n\n get TwitchSubscriber() {\n return Emotes.TwitchSubscriber;\n }\n\n get BTTV() {\n return Emotes.BTTV;\n }\n\n get FrankerFaceZ() {\n return Emotes.FrankerFaceZ;\n }\n\n get BTTV2() {\n return Emotes.BTTV2;\n }\n\n get blacklist() {\n return blacklist;\n }\n\n getCategory(category) {\n return Emotes[category];\n }\n\n initialize() {\n super.initialize(); // EmoteConfig;\n // emoteCollection.button = {title: \"Clear Emote Cache\", onClick: () => { this.clearEmoteData(); this.loadEmoteData(EmoteInfo); }};\n }\n\n async enabled() {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].registerCollection(\"emotes\", \"Emotes\", data__WEBPACK_IMPORTED_MODULE_1__[\"EmoteConfig\"], {\n title: \"Clear Emote Cache\",\n onClick: () => {\n this.clearEmoteData();\n this.loadEmoteData(data__WEBPACK_IMPORTED_MODULE_1__[\"EmoteInfo\"]);\n }\n }); // Disable emote module for now because it's annoying and slow\n // await this.getBlacklist();\n // await this.loadEmoteData(EmoteInfo);\n // while (!this.MessageContentComponent) await new Promise(resolve => setTimeout(resolve, 100));\n // this.patchMessageContent();\n }\n\n disabled() {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].removeCollection(\"emotes\");\n this.emptyEmotes();\n if (!this.cancelEmoteRender) return;\n this.cancelEmoteRender();\n delete this.cancelEmoteRender;\n }\n\n emptyEmotes() {\n for (const cat in Emotes) Object.assign(Emotes, {\n [cat]: {}\n });\n }\n\n patchMessageContent() {\n if (this.cancelEmoteRender) return;\n this.cancelEmoteRender = modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].monkeyPatch(this.MessageContentComponent.prototype, \"render\", {\n after: ({\n returnValue\n }) => {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].monkeyPatch(returnValue.props, \"children\", {\n silent: true,\n after: ({\n returnValue\n }) => {\n if (this.categories.length == 0) return;\n const markup = returnValue.props.children[1];\n if (!markup.props.children) return;\n const nodes = markup.props.children[1];\n if (!nodes || !nodes.length) return;\n\n for (let n = 0; n < nodes.length; n++) {\n const node = nodes[n];\n if (typeof node !== \"string\") continue;\n const words = node.split(/([^\\s]+)([\\s]|$)/g);\n\n for (let c = 0, clen = this.categories.length; c < clen; c++) {\n for (let w = 0, wlen = words.length; w < wlen; w++) {\n const emote = words[w];\n const emoteSplit = emote.split(\":\");\n const emoteName = emoteSplit[0];\n let emoteModifier = emoteSplit[1] ? emoteSplit[1] : \"\";\n let emoteOverride = emoteModifier.slice(0);\n if (emoteName.length < 4 || blacklist.includes(emoteName)) continue;\n if (!modifiers.includes(emoteModifier) || !modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].get(this.category, \"general\", \"modifiers\")) emoteModifier = \"\";\n if (!overrides.includes(emoteOverride)) emoteOverride = \"\";else emoteModifier = emoteOverride;\n let current = this.categories[c];\n\n if (emoteOverride === \"twitch\") {\n if (Emotes.TwitchGlobal[emoteName]) current = \"TwitchGlobal\";else if (Emotes.TwitchSubscriber[emoteName]) current = \"TwitchSubscriber\";\n } else if (emoteOverride === \"bttv\") {\n if (Emotes.BTTV[emoteName]) current = \"BTTV\";else if (Emotes.BTTV2[emoteName]) current = \"BTTV2\";\n } else if (emoteOverride === \"ffz\") {\n if (Emotes.FrankerFaceZ[emoteName]) current = \"FrankerFaceZ\";\n }\n\n if (!Emotes[current][emoteName] || !modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].get(this.category, \"categories\", bdEmoteSettingIDs[current])) continue;\n const results = nodes[n].match(new RegExp(`([\\\\s]|^)${modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].escape(emoteModifier ? emoteName + \":\" + emoteModifier : emoteName)}([\\\\s]|$)`));\n if (!results) continue;\n const pre = nodes[n].substring(0, results.index + results[1].length);\n const post = nodes[n].substring(results.index + results[0].length - results[2].length);\n nodes[n] = pre;\n const emoteComponent = modules__WEBPACK_IMPORTED_MODULE_2__[\"DiscordModules\"].React.createElement(_ui_emote__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n name: emoteName,\n url: Emotes[current][emoteName],\n modifier: emoteModifier\n });\n nodes.splice(n + 1, 0, post);\n nodes.splice(n + 1, 0, emoteComponent);\n }\n }\n }\n\n const onlyEmotes = nodes.every(r => {\n if (typeof r == \"string\" && r.replace(/\\s*/, \"\") == \"\") return true;else if (r.type && r.type.name == \"BDEmote\") return true;else if (r.props && r.props.children && r.props.children.props && r.props.children.props.emojiName) return true;\n return false;\n });\n if (!onlyEmotes) return;\n\n for (const node of nodes) {\n if (typeof node != \"object\") continue;\n if (node.type.name == \"BDEmote\") node.props.jumboable = true;else if (node.props && node.props.children && node.props.children.props && node.props.children.props.emojiName) node.props.children.props.jumboable = true;\n }\n }\n });\n }\n });\n }\n\n async loadEmoteData(emoteInfo) {\n const _fs = __webpack_require__(/*! fs */ \"fs\");\n\n const emoteFile = \"emote_data.json\";\n const file = data__WEBPACK_IMPORTED_MODULE_1__[\"Config\"].dataPath + emoteFile;\n\n const exists = _fs.existsSync(file);\n\n if (exists && this.isCacheValid()) {\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"Loading emotes from cache.\", {\n type: \"info\"\n });\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Loading emotes from local cache.\");\n const data = await new Promise(resolve => {\n _fs.readFile(file, \"utf8\", (err, data) => {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Emotes loaded from cache.\");\n if (err) data = {};\n resolve(data);\n });\n });\n let isValid = modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].testJSON(data);\n if (isValid) Object.assign(Emotes, JSON.parse(data));\n\n for (const e in emoteInfo) {\n isValid = Object.keys(Emotes[emoteInfo[e].variable]).length > 0;\n }\n\n if (isValid) {\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"Emotes successfully loaded.\", {\n type: \"success\"\n });\n data__WEBPACK_IMPORTED_MODULE_1__[\"State\"].emotesLoaded = true;\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Events\"].dispatch(\"emotes-loaded\");\n return;\n }\n\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Cache was corrupt, downloading...\");\n\n _fs.unlinkSync(file);\n }\n\n if (!modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].get(this.category, \"general\", \"download\")) return;\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"Downloading emotes in the background do not reload.\", {\n type: \"info\"\n });\n\n for (const e in emoteInfo) {\n await new Promise(r => setTimeout(r, 1000));\n const data = await this.downloadEmotes(emoteInfo[e]);\n Emotes[emoteInfo[e].variable] = data;\n }\n\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"All emotes successfully downloaded.\", {\n type: \"success\"\n });\n\n try {\n _fs.writeFileSync(file, JSON.stringify(Emotes), \"utf8\");\n } catch (err) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].err(\"Emotes\", \"Could not save emote data.\", err);\n }\n\n data__WEBPACK_IMPORTED_MODULE_1__[\"State\"].emotesLoaded = true;\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Events\"].dispatch(\"emotes-loaded\");\n }\n\n downloadEmotes(emoteMeta) {\n const request = __webpack_require__(/*! request */ \"request\");\n\n const options = {\n url: emoteMeta.url,\n timeout: emoteMeta.timeout ? emoteMeta.timeout : 5000\n };\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", `Downloading: ${emoteMeta.variable} (${emoteMeta.url})`);\n return new Promise((resolve, reject) => {\n request(options, (error, response, body) => {\n if (error) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].err(\"Emotes\", \"Could not download \" + emoteMeta.variable, error);\n\n if (emoteMeta.backup) {\n emoteMeta.url = emoteMeta.backup;\n emoteMeta.backup = null;\n if (emoteMeta.backupParser) emoteMeta.parser = emoteMeta.backupParser;\n return resolve(this.downloadEmotes(emoteMeta));\n }\n\n return reject({});\n }\n\n let parsedData = {};\n\n try {\n parsedData = JSON.parse(body);\n } catch (err) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].err(\"Emotes\", \"Could not download \" + emoteMeta.variable, err);\n\n if (emoteMeta.backup) {\n emoteMeta.url = emoteMeta.backup;\n emoteMeta.backup = null;\n if (emoteMeta.backupParser) emoteMeta.parser = emoteMeta.backupParser;\n return resolve(this.downloadEmotes(emoteMeta));\n }\n\n return reject({});\n }\n\n if (typeof emoteMeta.parser === \"function\") parsedData = emoteMeta.parser(parsedData);\n\n for (const emote in parsedData) {\n if (emote.length < 4 || blacklist.includes(emote)) {\n delete parsedData[emote];\n continue;\n }\n\n parsedData[emote] = emoteMeta.getEmoteURL(parsedData[emote]);\n }\n\n resolve(parsedData);\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Downloaded: \" + emoteMeta.variable);\n });\n });\n }\n\n getBlacklist() {\n return new Promise(resolve => {\n $.getJSON(`https://rauenzi.github.io/BetterDiscordApp/data/emotefilter.json`, function (data) {\n resolve(blacklist.push(...data.blacklist));\n });\n });\n }\n\n isCacheValid() {\n const cacheLength = modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].getBDData(\"emoteCacheDays\") || modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].setBDData(\"emoteCacheDays\", 7) || 7;\n const cacheDate = new Date(modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].getBDData(\"emoteCacheDate\") || null);\n const currentDate = new Date();\n const daysBetween = Math.round(Math.abs((currentDate.getTime() - cacheDate.getTime()) / (24 * 60 * 60 * 1000)));\n\n if (daysBetween > cacheLength) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].setBDData(\"emoteCacheDate\", currentDate.toJSON());\n return false;\n }\n\n return true;\n }\n\n clearEmoteData() {\n const _fs = __webpack_require__(/*! fs */ \"fs\");\n\n const emoteFile = \"emote_data.json\";\n const file = data__WEBPACK_IMPORTED_MODULE_1__[\"Config\"].dataPath + emoteFile;\n\n const exists = _fs.existsSync(file);\n\n if (exists) _fs.unlinkSync(file);\n modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].setBDData(\"emoteCacheDate\", new Date().toJSON());\n\n for (const category in Emotes) Object.assign(Emotes, {\n [category]: {}\n });\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Vtb3Rlcy5qcz82YTA0Il0sIm5hbWVzIjpbIkVtb3RlcyIsIlR3aXRjaEdsb2JhbCIsIlR3aXRjaFN1YnNjcmliZXIiLCJCVFRWIiwiRnJhbmtlckZhY2VaIiwiQlRUVjIiLCJiZEVtb3RlU2V0dGluZ0lEcyIsImJsYWNrbGlzdCIsIm92ZXJyaWRlcyIsIm1vZGlmaWVycyIsIkVtb3RlTW9kdWxlIiwiQnVpbHRpbiIsIm5hbWUiLCJjb2xsZWN0aW9uIiwiY2F0ZWdvcnkiLCJpZCIsImNhdGVnb3JpZXMiLCJPYmplY3QiLCJrZXlzIiwiZmlsdGVyIiwiayIsImlzQ2F0ZWdvcnlFbmFibGVkIiwiZ2V0IiwiTWVzc2FnZUNvbnRlbnRDb21wb25lbnQiLCJXZWJwYWNrTW9kdWxlcyIsImdldE1vZHVsZSIsIm0iLCJkZWZhdWx0UHJvcHMiLCJoYXNPd25Qcm9wZXJ0eSIsImdldENhdGVnb3J5IiwiaW5pdGlhbGl6ZSIsImVuYWJsZWQiLCJTZXR0aW5ncyIsInJlZ2lzdGVyQ29sbGVjdGlvbiIsIkVtb3RlQ29uZmlnIiwidGl0bGUiLCJvbkNsaWNrIiwiY2xlYXJFbW90ZURhdGEiLCJsb2FkRW1vdGVEYXRhIiwiRW1vdGVJbmZvIiwiZGlzYWJsZWQiLCJyZW1vdmVDb2xsZWN0aW9uIiwiZW1wdHlFbW90ZXMiLCJjYW5jZWxFbW90ZVJlbmRlciIsImNhdCIsImFzc2lnbiIsInBhdGNoTWVzc2FnZUNvbnRlbnQiLCJVdGlsaXRpZXMiLCJtb25rZXlQYXRjaCIsInByb3RvdHlwZSIsImFmdGVyIiwicmV0dXJuVmFsdWUiLCJwcm9wcyIsInNpbGVudCIsImxlbmd0aCIsIm1hcmt1cCIsImNoaWxkcmVuIiwibm9kZXMiLCJuIiwibm9kZSIsIndvcmRzIiwic3BsaXQiLCJjIiwiY2xlbiIsInciLCJ3bGVuIiwiZW1vdGUiLCJlbW90ZVNwbGl0IiwiZW1vdGVOYW1lIiwiZW1vdGVNb2RpZmllciIsImVtb3RlT3ZlcnJpZGUiLCJzbGljZSIsImluY2x1ZGVzIiwiY3VycmVudCIsInJlc3VsdHMiLCJtYXRjaCIsIlJlZ0V4cCIsImVzY2FwZSIsInByZSIsInN1YnN0cmluZyIsImluZGV4IiwicG9zdCIsImVtb3RlQ29tcG9uZW50IiwiRGlzY29yZE1vZHVsZXMiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJCREVtb3RlIiwidXJsIiwibW9kaWZpZXIiLCJzcGxpY2UiLCJvbmx5RW1vdGVzIiwiZXZlcnkiLCJyIiwicmVwbGFjZSIsInR5cGUiLCJlbW9qaU5hbWUiLCJqdW1ib2FibGUiLCJlbW90ZUluZm8iLCJfZnMiLCJyZXF1aXJlIiwiZW1vdGVGaWxlIiwiZmlsZSIsIkNvbmZpZyIsImRhdGFQYXRoIiwiZXhpc3RzIiwiZXhpc3RzU3luYyIsImlzQ2FjaGVWYWxpZCIsIlRvYXN0cyIsInNob3ciLCJsb2ciLCJkYXRhIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWFkRmlsZSIsImVyciIsImlzVmFsaWQiLCJ0ZXN0SlNPTiIsIkpTT04iLCJwYXJzZSIsImUiLCJ2YXJpYWJsZSIsIlN0YXRlIiwiZW1vdGVzTG9hZGVkIiwiRXZlbnRzIiwiZGlzcGF0Y2giLCJ1bmxpbmtTeW5jIiwic2V0VGltZW91dCIsImRvd25sb2FkRW1vdGVzIiwid3JpdGVGaWxlU3luYyIsInN0cmluZ2lmeSIsImVtb3RlTWV0YSIsInJlcXVlc3QiLCJvcHRpb25zIiwidGltZW91dCIsInJlamVjdCIsImVycm9yIiwicmVzcG9uc2UiLCJib2R5IiwiYmFja3VwIiwiYmFja3VwUGFyc2VyIiwicGFyc2VyIiwicGFyc2VkRGF0YSIsImdldEVtb3RlVVJMIiwiZ2V0QmxhY2tsaXN0IiwiJCIsImdldEpTT04iLCJwdXNoIiwiY2FjaGVMZW5ndGgiLCJEYXRhU3RvcmUiLCJnZXRCRERhdGEiLCJzZXRCRERhdGEiLCJjYWNoZURhdGUiLCJEYXRlIiwiY3VycmVudERhdGUiLCJkYXlzQmV0d2VlbiIsIk1hdGgiLCJyb3VuZCIsImFicyIsImdldFRpbWUiLCJ0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LFNBQUssTUFBTWpKLFFBQVgsSUFBdUJkLE1BQXZCLEVBQStCaUIsTUFBTSxDQUFDNEIsTUFBUCxDQUFjN0MsTUFBZCxFQUFzQjtBQUFDLE9BQUNjLFFBQUQsR0FBWTtBQUFiLEtBQXRCO0FBQ2xDOztBQWxRZ0QsQ0FBdEMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9lbW90ZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcblxyXG5pbXBvcnQge0NvbmZpZywgRW1vdGVJbmZvLCBTdGF0ZSwgRW1vdGVDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmltcG9ydCB7VXRpbGl0aWVzLCBXZWJwYWNrTW9kdWxlcywgRGF0YVN0b3JlLCBEaXNjb3JkTW9kdWxlcywgRXZlbnRzLCBTZXR0aW5nc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuaW1wb3J0IEJERW1vdGUgZnJvbSBcIi4uL3VpL2Vtb3RlXCI7XHJcbmltcG9ydCB7VG9hc3RzfSBmcm9tIFwidWlcIjtcclxuXHJcbmNvbnN0IEVtb3RlcyA9IHtcclxuICAgIFR3aXRjaEdsb2JhbDoge30sXHJcbiAgICBUd2l0Y2hTdWJzY3JpYmVyOiB7fSxcclxuICAgIEJUVFY6IHt9LFxyXG4gICAgRnJhbmtlckZhY2VaOiB7fSxcclxuICAgIEJUVFYyOiB7fVxyXG59O1xyXG5cclxuY29uc3QgYmRFbW90ZVNldHRpbmdJRHMgPSB7XHJcbiAgICBUd2l0Y2hHbG9iYWw6IFwidHdpdGNoXCIsXHJcbiAgICBUd2l0Y2hTdWJzY3JpYmVyOiBcInR3aXRjaFwiLFxyXG4gICAgQlRUVjogXCJidHR2XCIsXHJcbiAgICBGcmFua2VyRmFjZVo6IFwiZmZ6XCIsXHJcbiAgICBCVFRWMjogXCJidHR2XCJcclxufTtcclxuXHJcbmNvbnN0IGJsYWNrbGlzdCA9IFtdO1xyXG5jb25zdCBvdmVycmlkZXMgPSBbXCJ0d2l0Y2hcIiwgXCJidHR2XCIsIFwiZmZ6XCJdO1xyXG5jb25zdCBtb2RpZmllcnMgPSBbXCJmbGlwXCIsIFwic3BpblwiLCBcInB1bHNlXCIsIFwic3BpbjJcIiwgXCJzcGluM1wiLCBcIjFzcGluXCIsIFwiMnNwaW5cIiwgXCIzc3BpblwiLCBcInRyXCIsIFwiYmxcIiwgXCJiclwiLCBcInNoYWtlXCIsIFwic2hha2UyXCIsIFwic2hha2UzXCIsIFwiZmxhcFwiXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBFbW90ZU1vZHVsZSBleHRlbmRzIEJ1aWx0aW4ge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiRW1vdGVzXCI7fVxyXG4gICAgZ2V0IGNvbGxlY3Rpb24oKSB7cmV0dXJuIFwic2V0dGluZ3NcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJlbW90ZXNcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcmllcygpIHsgcmV0dXJuIE9iamVjdC5rZXlzKGJkRW1vdGVTZXR0aW5nSURzKS5maWx0ZXIoayA9PiB0aGlzLmlzQ2F0ZWdvcnlFbmFibGVkKGJkRW1vdGVTZXR0aW5nSURzW2tdKSk7IH1cclxuXHJcbiAgICBpc0NhdGVnb3J5RW5hYmxlZChpZCkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5nZXQoXCJlbW90ZXNcIiwgXCJjYXRlZ29yaWVzXCIsIGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQoaWQpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0KFwiZW1vdGVzXCIsIFwiZ2VuZXJhbFwiLCBpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IE1lc3NhZ2VDb250ZW50Q29tcG9uZW50KCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRNb2R1bGUobSA9PiBtLmRlZmF1bHRQcm9wcyAmJiBtLmRlZmF1bHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShcImRpc2FibGVCdXR0b25zXCIpKTt9XHJcblxyXG4gICAgZ2V0IEVtb3RlcygpIHtyZXR1cm4gRW1vdGVzO31cclxuICAgIGdldCBUd2l0Y2hHbG9iYWwoKSB7cmV0dXJuIEVtb3Rlcy5Ud2l0Y2hHbG9iYWw7fVxyXG4gICAgZ2V0IFR3aXRjaFN1YnNjcmliZXIoKSB7cmV0dXJuIEVtb3Rlcy5Ud2l0Y2hTdWJzY3JpYmVyO31cclxuICAgIGdldCBCVFRWKCkge3JldHVybiBFbW90ZXMuQlRUVjt9XHJcbiAgICBnZXQgRnJhbmtlckZhY2VaKCkge3JldHVybiBFbW90ZXMuRnJhbmtlckZhY2VaO31cclxuICAgIGdldCBCVFRWMigpIHtyZXR1cm4gRW1vdGVzLkJUVFYyO31cclxuICAgIGdldCBibGFja2xpc3QoKSB7cmV0dXJuIGJsYWNrbGlzdDt9XHJcblxyXG4gICAgZ2V0Q2F0ZWdvcnkoY2F0ZWdvcnkpIHtcclxuICAgICAgICByZXR1cm4gRW1vdGVzW2NhdGVnb3J5XTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplKCkge1xyXG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcclxuICAgICAgICAvLyBFbW90ZUNvbmZpZztcclxuICAgICAgICAvLyBlbW90ZUNvbGxlY3Rpb24uYnV0dG9uID0ge3RpdGxlOiBcIkNsZWFyIEVtb3RlIENhY2hlXCIsIG9uQ2xpY2s6ICgpID0+IHsgdGhpcy5jbGVhckVtb3RlRGF0YSgpOyB0aGlzLmxvYWRFbW90ZURhdGEoRW1vdGVJbmZvKTsgfX07XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZW5hYmxlZCgpIHtcclxuICAgICAgICBTZXR0aW5ncy5yZWdpc3RlckNvbGxlY3Rpb24oXCJlbW90ZXNcIiwgXCJFbW90ZXNcIiwgRW1vdGVDb25maWcsIHt0aXRsZTogXCJDbGVhciBFbW90ZSBDYWNoZVwiLCBvbkNsaWNrOiAoKSA9PiB7IHRoaXMuY2xlYXJFbW90ZURhdGEoKTsgdGhpcy5sb2FkRW1vdGVEYXRhKEVtb3RlSW5mbyk7IH19KTtcclxuICAgICAgICAvLyBEaXNhYmxlIGVtb3RlIG1vZHVsZSBmb3Igbm93IGJlY2F1c2UgaXQncyBhbm5veWluZyBhbmQgc2xvd1xyXG4gICAgICAgIC8vIGF3YWl0IHRoaXMuZ2V0QmxhY2tsaXN0KCk7XHJcbiAgICAgICAgLy8gYXdhaXQgdGhpcy5sb2FkRW1vdGVEYXRhKEVtb3RlSW5mbyk7XHJcblxyXG4gICAgICAgIC8vIHdoaWxlICghdGhpcy5NZXNzYWdlQ29udGVudENvbXBvbmVudCkgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwMCkpO1xyXG4gICAgICAgIC8vIHRoaXMucGF0Y2hNZXNzYWdlQ29udGVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIFNldHRpbmdzLnJlbW92ZUNvbGxlY3Rpb24oXCJlbW90ZXNcIik7XHJcbiAgICAgICAgdGhpcy5lbXB0eUVtb3RlcygpO1xyXG4gICAgICAgIGlmICghdGhpcy5jYW5jZWxFbW90ZVJlbmRlcikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuY2FuY2VsRW1vdGVSZW5kZXIoKTtcclxuICAgICAgICBkZWxldGUgdGhpcy5jYW5jZWxFbW90ZVJlbmRlcjtcclxuICAgIH1cclxuXHJcbiAgICBlbXB0eUVtb3RlcygpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNhdCBpbiBFbW90ZXMpIE9iamVjdC5hc3NpZ24oRW1vdGVzLCB7W2NhdF06IHt9fSk7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0Y2hNZXNzYWdlQ29udGVudCgpIHtcclxuICAgICAgICBpZiAodGhpcy5jYW5jZWxFbW90ZVJlbmRlcikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuY2FuY2VsRW1vdGVSZW5kZXIgPSBVdGlsaXRpZXMubW9ua2V5UGF0Y2godGhpcy5NZXNzYWdlQ29udGVudENvbXBvbmVudC5wcm90b3R5cGUsIFwicmVuZGVyXCIsIHthZnRlcjogKHtyZXR1cm5WYWx1ZX0pID0+IHtcclxuICAgICAgICAgICAgVXRpbGl0aWVzLm1vbmtleVBhdGNoKHJldHVyblZhbHVlLnByb3BzLCBcImNoaWxkcmVuXCIsIHtzaWxlbnQ6IHRydWUsIGFmdGVyOiAoe3JldHVyblZhbHVlfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY2F0ZWdvcmllcy5sZW5ndGggPT0gMCkgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWFya3VwID0gcmV0dXJuVmFsdWUucHJvcHMuY2hpbGRyZW5bMV07XHJcbiAgICAgICAgICAgICAgICBpZiAoIW1hcmt1cC5wcm9wcy5jaGlsZHJlbikgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZXMgPSBtYXJrdXAucHJvcHMuY2hpbGRyZW5bMV07XHJcbiAgICAgICAgICAgICAgICBpZiAoIW5vZGVzIHx8ICFub2Rlcy5sZW5ndGgpIHJldHVybjtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IG4gPSAwOyBuIDwgbm9kZXMubGVuZ3RoOyBuKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlID0gbm9kZXNbbl07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZihub2RlKSAhPT0gXCJzdHJpbmdcIikgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd29yZHMgPSBub2RlLnNwbGl0KC8oW15cXHNdKykoW1xcc118JCkvZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgYyA9IDAsIGNsZW4gPSB0aGlzLmNhdGVnb3JpZXMubGVuZ3RoOyBjIDwgY2xlbjsgYysrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHcgPSAwLCB3bGVuID0gd29yZHMubGVuZ3RoOyB3IDwgd2xlbjsgdysrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbW90ZSA9IHdvcmRzW3ddO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW1vdGVTcGxpdCA9IGVtb3RlLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVtb3RlTmFtZSA9IGVtb3RlU3BsaXRbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZW1vdGVNb2RpZmllciA9IGVtb3RlU3BsaXRbMV0gPyBlbW90ZVNwbGl0WzFdIDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBlbW90ZU92ZXJyaWRlID0gZW1vdGVNb2RpZmllci5zbGljZSgwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW1vdGVOYW1lLmxlbmd0aCA8IDQgfHwgYmxhY2tsaXN0LmluY2x1ZGVzKGVtb3RlTmFtZSkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RpZmllcnMuaW5jbHVkZXMoZW1vdGVNb2RpZmllcikgfHwgIVNldHRpbmdzLmdldCh0aGlzLmNhdGVnb3J5LCBcImdlbmVyYWxcIiwgXCJtb2RpZmllcnNcIikpIGVtb3RlTW9kaWZpZXIgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvdmVycmlkZXMuaW5jbHVkZXMoZW1vdGVPdmVycmlkZSkpIGVtb3RlT3ZlcnJpZGUgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBlbW90ZU1vZGlmaWVyID0gZW1vdGVPdmVycmlkZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudCA9IHRoaXMuY2F0ZWdvcmllc1tjXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbW90ZU92ZXJyaWRlID09PSBcInR3aXRjaFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEVtb3Rlcy5Ud2l0Y2hHbG9iYWxbZW1vdGVOYW1lXSkgY3VycmVudCA9IFwiVHdpdGNoR2xvYmFsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoRW1vdGVzLlR3aXRjaFN1YnNjcmliZXJbZW1vdGVOYW1lXSkgY3VycmVudCA9IFwiVHdpdGNoU3Vic2NyaWJlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZW1vdGVPdmVycmlkZSA9PT0gXCJidHR2XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoRW1vdGVzLkJUVFZbZW1vdGVOYW1lXSkgY3VycmVudCA9IFwiQlRUVlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKEVtb3Rlcy5CVFRWMltlbW90ZU5hbWVdKSBjdXJyZW50ID0gXCJCVFRWMlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZW1vdGVPdmVycmlkZSA9PT0gXCJmZnpcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChFbW90ZXMuRnJhbmtlckZhY2VaW2Vtb3RlTmFtZV0pIGN1cnJlbnQgPSBcIkZyYW5rZXJGYWNlWlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghRW1vdGVzW2N1cnJlbnRdW2Vtb3RlTmFtZV0gfHwgIVNldHRpbmdzLmdldCh0aGlzLmNhdGVnb3J5LCBcImNhdGVnb3JpZXNcIiwgYmRFbW90ZVNldHRpbmdJRHNbY3VycmVudF0pKSBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBub2Rlc1tuXS5tYXRjaChuZXcgUmVnRXhwKGAoW1xcXFxzXXxeKSR7VXRpbGl0aWVzLmVzY2FwZShlbW90ZU1vZGlmaWVyID8gZW1vdGVOYW1lICsgXCI6XCIgKyBlbW90ZU1vZGlmaWVyIDogZW1vdGVOYW1lKX0oW1xcXFxzXXwkKWApKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0cykgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmUgPSBub2Rlc1tuXS5zdWJzdHJpbmcoMCwgcmVzdWx0cy5pbmRleCArIHJlc3VsdHNbMV0ubGVuZ3RoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc3QgPSBub2Rlc1tuXS5zdWJzdHJpbmcocmVzdWx0cy5pbmRleCArIHJlc3VsdHNbMF0ubGVuZ3RoIC0gcmVzdWx0c1syXS5sZW5ndGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXNbbl0gPSBwcmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbW90ZUNvbXBvbmVudCA9IERpc2NvcmRNb2R1bGVzLlJlYWN0LmNyZWF0ZUVsZW1lbnQoQkRFbW90ZSwge25hbWU6IGVtb3RlTmFtZSwgdXJsOiBFbW90ZXNbY3VycmVudF1bZW1vdGVOYW1lXSwgbW9kaWZpZXI6IGVtb3RlTW9kaWZpZXJ9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLnNwbGljZShuICsgMSwgMCwgcG9zdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5zcGxpY2UobiArIDEsIDAsIGVtb3RlQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IG9ubHlFbW90ZXMgPSBub2Rlcy5ldmVyeShyID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mKHIpID09IFwic3RyaW5nXCIgJiYgci5yZXBsYWNlKC9cXHMqLywgXCJcIikgPT0gXCJcIikgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoci50eXBlICYmIHIudHlwZS5uYW1lID09IFwiQkRFbW90ZVwiKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyLnByb3BzICYmIHIucHJvcHMuY2hpbGRyZW4gJiYgci5wcm9wcy5jaGlsZHJlbi5wcm9wcyAmJiByLnByb3BzLmNoaWxkcmVuLnByb3BzLmVtb2ppTmFtZSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIW9ubHlFbW90ZXMpIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mKG5vZGUpICE9IFwib2JqZWN0XCIpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChub2RlLnR5cGUubmFtZSA9PSBcIkJERW1vdGVcIikgbm9kZS5wcm9wcy5qdW1ib2FibGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG5vZGUucHJvcHMgJiYgbm9kZS5wcm9wcy5jaGlsZHJlbiAmJiBub2RlLnByb3BzLmNoaWxkcmVuLnByb3BzICYmIG5vZGUucHJvcHMuY2hpbGRyZW4ucHJvcHMuZW1vamlOYW1lKSBub2RlLnByb3BzLmNoaWxkcmVuLnByb3BzLmp1bWJvYWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH19KTtcclxuICAgICAgICB9fSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbG9hZEVtb3RlRGF0YShlbW90ZUluZm8pIHtcclxuICAgICAgICBjb25zdCBfZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcbiAgICAgICAgY29uc3QgZW1vdGVGaWxlID0gXCJlbW90ZV9kYXRhLmpzb25cIjtcclxuICAgICAgICBjb25zdCBmaWxlID0gQ29uZmlnLmRhdGFQYXRoICsgZW1vdGVGaWxlO1xyXG4gICAgICAgIGNvbnN0IGV4aXN0cyA9IF9mcy5leGlzdHNTeW5jKGZpbGUpO1xyXG5cclxuICAgICAgICBpZiAoZXhpc3RzICYmIHRoaXMuaXNDYWNoZVZhbGlkKCkpIHtcclxuICAgICAgICAgICAgVG9hc3RzLnNob3coXCJMb2FkaW5nIGVtb3RlcyBmcm9tIGNhY2hlLlwiLCB7dHlwZTogXCJpbmZvXCJ9KTtcclxuICAgICAgICAgICAgVXRpbGl0aWVzLmxvZyhcIkVtb3Rlc1wiLCBcIkxvYWRpbmcgZW1vdGVzIGZyb20gbG9jYWwgY2FjaGUuXCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgICAgICAgX2ZzLnJlYWRGaWxlKGZpbGUsIFwidXRmOFwiLCAoZXJyLCBkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgVXRpbGl0aWVzLmxvZyhcIkVtb3Rlc1wiLCBcIkVtb3RlcyBsb2FkZWQgZnJvbSBjYWNoZS5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycikgZGF0YSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBsZXQgaXNWYWxpZCA9IFV0aWxpdGllcy50ZXN0SlNPTihkYXRhKTtcclxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIE9iamVjdC5hc3NpZ24oRW1vdGVzLCBKU09OLnBhcnNlKGRhdGEpKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZSBpbiBlbW90ZUluZm8pIHtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBPYmplY3Qua2V5cyhFbW90ZXNbZW1vdGVJbmZvW2VdLnZhcmlhYmxlXSkubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcclxuICAgICAgICAgICAgICAgIFRvYXN0cy5zaG93KFwiRW1vdGVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuXCIsIHt0eXBlOiBcInN1Y2Nlc3NcIn0pO1xyXG4gICAgICAgICAgICAgICAgU3RhdGUuZW1vdGVzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIEV2ZW50cy5kaXNwYXRjaChcImVtb3Rlcy1sb2FkZWRcIik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIFV0aWxpdGllcy5sb2coXCJFbW90ZXNcIiwgXCJDYWNoZSB3YXMgY29ycnVwdCwgZG93bmxvYWRpbmcuLi5cIik7XHJcbiAgICAgICAgICAgIF9mcy51bmxpbmtTeW5jKGZpbGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFTZXR0aW5ncy5nZXQodGhpcy5jYXRlZ29yeSwgXCJnZW5lcmFsXCIsIFwiZG93bmxvYWRcIikpIHJldHVybjtcclxuICAgICAgICBUb2FzdHMuc2hvdyhcIkRvd25sb2FkaW5nIGVtb3RlcyBpbiB0aGUgYmFja2dyb3VuZCBkbyBub3QgcmVsb2FkLlwiLCB7dHlwZTogXCJpbmZvXCJ9KTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBlIGluIGVtb3RlSW5mbykge1xyXG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgMTAwMCkpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5kb3dubG9hZEVtb3RlcyhlbW90ZUluZm9bZV0pO1xyXG4gICAgICAgICAgICBFbW90ZXNbZW1vdGVJbmZvW2VdLnZhcmlhYmxlXSA9IGRhdGE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBUb2FzdHMuc2hvdyhcIkFsbCBlbW90ZXMgc3VjY2Vzc2Z1bGx5IGRvd25sb2FkZWQuXCIsIHt0eXBlOiBcInN1Y2Nlc3NcIn0pO1xyXG5cclxuICAgICAgICB0cnkgeyBfZnMud3JpdGVGaWxlU3luYyhmaWxlLCBKU09OLnN0cmluZ2lmeShFbW90ZXMpLCBcInV0ZjhcIik7IH1cclxuICAgICAgICBjYXRjaCAoZXJyKSB7IFV0aWxpdGllcy5lcnIoXCJFbW90ZXNcIiwgXCJDb3VsZCBub3Qgc2F2ZSBlbW90ZSBkYXRhLlwiLCBlcnIpOyB9XHJcblxyXG4gICAgICAgIFN0YXRlLmVtb3Rlc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgRXZlbnRzLmRpc3BhdGNoKFwiZW1vdGVzLWxvYWRlZFwiKTtcclxuICAgIH1cclxuXHJcbiAgICBkb3dubG9hZEVtb3RlcyhlbW90ZU1ldGEpIHtcclxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XHJcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgdXJsOiBlbW90ZU1ldGEudXJsLFxyXG4gICAgICAgICAgICB0aW1lb3V0OiBlbW90ZU1ldGEudGltZW91dCA/IGVtb3RlTWV0YS50aW1lb3V0IDogNTAwMFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIFV0aWxpdGllcy5sb2coXCJFbW90ZXNcIiwgYERvd25sb2FkaW5nOiAke2Vtb3RlTWV0YS52YXJpYWJsZX0gKCR7ZW1vdGVNZXRhLnVybH0pYCk7XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIHJlcXVlc3Qob3B0aW9ucywgKGVycm9yLCByZXNwb25zZSwgYm9keSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgVXRpbGl0aWVzLmVycihcIkVtb3Rlc1wiLCBcIkNvdWxkIG5vdCBkb3dubG9hZCBcIiArIGVtb3RlTWV0YS52YXJpYWJsZSwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbW90ZU1ldGEuYmFja3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtb3RlTWV0YS51cmwgPSBlbW90ZU1ldGEuYmFja3VwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbW90ZU1ldGEuYmFja3VwID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVtb3RlTWV0YS5iYWNrdXBQYXJzZXIpIGVtb3RlTWV0YS5wYXJzZXIgPSBlbW90ZU1ldGEuYmFja3VwUGFyc2VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0aGlzLmRvd25sb2FkRW1vdGVzKGVtb3RlTWV0YSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KHt9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgcGFyc2VkRGF0YSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJzZWREYXRhID0gSlNPTi5wYXJzZShib2R5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBVdGlsaXRpZXMuZXJyKFwiRW1vdGVzXCIsIFwiQ291bGQgbm90IGRvd25sb2FkIFwiICsgZW1vdGVNZXRhLnZhcmlhYmxlLCBlcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbW90ZU1ldGEuYmFja3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVtb3RlTWV0YS51cmwgPSBlbW90ZU1ldGEuYmFja3VwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbW90ZU1ldGEuYmFja3VwID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVtb3RlTWV0YS5iYWNrdXBQYXJzZXIpIGVtb3RlTWV0YS5wYXJzZXIgPSBlbW90ZU1ldGEuYmFja3VwUGFyc2VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSh0aGlzLmRvd25sb2FkRW1vdGVzKGVtb3RlTWV0YSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KHt9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YoZW1vdGVNZXRhLnBhcnNlcikgPT09IFwiZnVuY3Rpb25cIikgcGFyc2VkRGF0YSA9IGVtb3RlTWV0YS5wYXJzZXIocGFyc2VkRGF0YSk7XHJcblxyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlbW90ZSBpbiBwYXJzZWREYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVtb3RlLmxlbmd0aCA8IDQgfHwgYmxhY2tsaXN0LmluY2x1ZGVzKGVtb3RlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgcGFyc2VkRGF0YVtlbW90ZV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBwYXJzZWREYXRhW2Vtb3RlXSA9IGVtb3RlTWV0YS5nZXRFbW90ZVVSTChwYXJzZWREYXRhW2Vtb3RlXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKHBhcnNlZERhdGEpO1xyXG4gICAgICAgICAgICAgICAgVXRpbGl0aWVzLmxvZyhcIkVtb3Rlc1wiLCBcIkRvd25sb2FkZWQ6IFwiICsgZW1vdGVNZXRhLnZhcmlhYmxlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QmxhY2tsaXN0KCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgJC5nZXRKU09OKGBodHRwczovL3JhdWVuemkuZ2l0aHViLmlvL0JldHRlckRpc2NvcmRBcHAvZGF0YS9lbW90ZWZpbHRlci5qc29uYCwgZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmUoYmxhY2tsaXN0LnB1c2goLi4uZGF0YS5ibGFja2xpc3QpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaXNDYWNoZVZhbGlkKCkge1xyXG4gICAgICAgIGNvbnN0IGNhY2hlTGVuZ3RoID0gRGF0YVN0b3JlLmdldEJERGF0YShcImVtb3RlQ2FjaGVEYXlzXCIpIHx8IERhdGFTdG9yZS5zZXRCRERhdGEoXCJlbW90ZUNhY2hlRGF5c1wiLCA3KSB8fCA3O1xyXG4gICAgICAgIGNvbnN0IGNhY2hlRGF0ZSA9IG5ldyBEYXRlKERhdGFTdG9yZS5nZXRCRERhdGEoXCJlbW90ZUNhY2hlRGF0ZVwiKSB8fCBudWxsKTtcclxuICAgICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgY29uc3QgZGF5c0JldHdlZW4gPSBNYXRoLnJvdW5kKE1hdGguYWJzKChjdXJyZW50RGF0ZS5nZXRUaW1lKCkgLSBjYWNoZURhdGUuZ2V0VGltZSgpKSAvICgyNCAqIDYwICogNjAgKiAxMDAwKSkpO1xyXG4gICAgICAgIGlmIChkYXlzQmV0d2VlbiA+IGNhY2hlTGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIERhdGFTdG9yZS5zZXRCRERhdGEoXCJlbW90ZUNhY2hlRGF0ZVwiLCBjdXJyZW50RGF0ZS50b0pTT04oKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJFbW90ZURhdGEoKSB7XHJcbiAgICAgICAgY29uc3QgX2ZzID0gcmVxdWlyZShcImZzXCIpO1xyXG4gICAgICAgIGNvbnN0IGVtb3RlRmlsZSA9IFwiZW1vdGVfZGF0YS5qc29uXCI7XHJcbiAgICAgICAgY29uc3QgZmlsZSA9IENvbmZpZy5kYXRhUGF0aCArIGVtb3RlRmlsZTtcclxuICAgICAgICBjb25zdCBleGlzdHMgPSBfZnMuZXhpc3RzU3luYyhmaWxlKTtcclxuICAgICAgICBpZiAoZXhpc3RzKSBfZnMudW5saW5rU3luYyhmaWxlKTtcclxuICAgICAgICBEYXRhU3RvcmUuc2V0QkREYXRhKFwiZW1vdGVDYWNoZURhdGVcIiwgKG5ldyBEYXRlKCkpLnRvSlNPTigpKTtcclxuICAgICAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IGluIEVtb3RlcykgT2JqZWN0LmFzc2lnbihFbW90ZXMsIHtbY2F0ZWdvcnldOiB7fX0pO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/emotes.js\n"); /***/ }), /***/ "./src/builtins/minimalmode.js": /*!*************************************!*\ !*** ./src/builtins/minimalmode.js ***! \*************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class MinimalMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"MinimalMode\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"minimalMode\";\n }\n\n get hideChannelsID() {\n return \"hideChannels\";\n }\n\n get hideChannels() {\n return this.get(this.hideChannelsID);\n }\n\n constructor() {\n super();\n this.enableHideChannels = this.enableHideChannels.bind(this);\n this.disableHideChannels = this.disableHideChannels.bind(this);\n }\n\n enabled() {\n $(\"body\").addClass(\"bd-minimal\");\n if (this.hideChannels) this.enableHideChannels();\n this.hideChannelCancel = this.registerSetting(this.hideChannelsID, this.enableHideChannels, this.disableHideChannels);\n }\n\n disabled() {\n $(\"body\").removeClass(\"bd-minimal\");\n if (this.hideChannels) this.disableHideChannels();\n if (this.hideChannelCancel) this.hideChannelCancel();\n }\n\n enableHideChannels() {\n $(\"body\").addClass(\"bd-minimal-chan\");\n }\n\n disableHideChannels() {\n $(\"body\").removeClass(\"bd-minimal-chan\");\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL21pbmltYWxtb2RlLmpzPzgzMzgiXSwibmFtZXMiOlsiTWluaW1hbE1vZGUiLCJCdWlsdGluIiwibmFtZSIsImNhdGVnb3J5IiwiaWQiLCJoaWRlQ2hhbm5lbHNJRCIsImhpZGVDaGFubmVscyIsImdldCIsImNvbnN0cnVjdG9yIiwiZW5hYmxlSGlkZUNoYW5uZWxzIiwiYmluZCIsImRpc2FibGVIaWRlQ2hhbm5lbHMiLCJlbmFibGVkIiwiJCIsImFkZENsYXNzIiwiaGlkZUNoYW5uZWxDYW5jZWwiLCJyZWdpc3RlclNldHRpbmciLCJkaXNhYmxlZCIsInJlbW92ZUNsYXNzIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFFZSxtRUFBSSxNQUFNQSxXQUFOLFNBQTBCQyx3REFBMUIsQ0FBa0M7QUFDakQsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBTyxhQUFQO0FBQXNCOztBQUNsQyxNQUFJQyxRQUFKLEdBQWU7QUFBQyxXQUFPLFlBQVA7QUFBcUI7O0FBQ3JDLE1BQUlDLEVBQUosR0FBUztBQUFDLFdBQU8sYUFBUDtBQUFzQjs7QUFDaEMsTUFBSUMsY0FBSixHQUFxQjtBQUFDLFdBQU8sY0FBUDtBQUF1Qjs7QUFDN0MsTUFBSUMsWUFBSixHQUFtQjtBQUFDLFdBQU8sS0FBS0MsR0FBTCxDQUFTLEtBQUtGLGNBQWQsQ0FBUDtBQUFzQzs7QUFFMURHLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0Msa0JBQUwsR0FBMEIsS0FBS0Esa0JBQUwsQ0FBd0JDLElBQXhCLENBQTZCLElBQTdCLENBQTFCO0FBQ0EsU0FBS0MsbUJBQUwsR0FBMkIsS0FBS0EsbUJBQUwsQ0FBeUJELElBQXpCLENBQThCLElBQTlCLENBQTNCO0FBQ0g7O0FBRURFLFNBQU8sR0FBRztBQUNOQyxLQUFDLENBQUMsTUFBRCxDQUFELENBQVVDLFFBQVYsQ0FBbUIsWUFBbkI7QUFDQSxRQUFJLEtBQUtSLFlBQVQsRUFBdUIsS0FBS0csa0JBQUw7QUFDdkIsU0FBS00saUJBQUwsR0FBeUIsS0FBS0MsZUFBTCxDQUFxQixLQUFLWCxjQUExQixFQUEwQyxLQUFLSSxrQkFBL0MsRUFBbUUsS0FBS0UsbUJBQXhFLENBQXpCO0FBQ0g7O0FBRURNLFVBQVEsR0FBRztBQUNQSixLQUFDLENBQUMsTUFBRCxDQUFELENBQVVLLFdBQVYsQ0FBc0IsWUFBdEI7QUFDQSxRQUFJLEtBQUtaLFlBQVQsRUFBdUIsS0FBS0ssbUJBQUw7QUFDdkIsUUFBSSxLQUFLSSxpQkFBVCxFQUE0QixLQUFLQSxpQkFBTDtBQUMvQjs7QUFFRE4sb0JBQWtCLEdBQUc7QUFDakJJLEtBQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUMsUUFBVixDQUFtQixpQkFBbkI7QUFDSDs7QUFFREgscUJBQW1CLEdBQUc7QUFDbEJFLEtBQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUssV0FBVixDQUFzQixpQkFBdEI7QUFDSDs7QUEvQmdELENBQXRDLEVBQWYiLCJmaWxlIjoiLi9zcmMvYnVpbHRpbnMvbWluaW1hbG1vZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgY2xhc3MgTWluaW1hbE1vZGUgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIk1pbmltYWxNb2RlXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImFwcGVhcmFuY2VcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwibWluaW1hbE1vZGVcIjt9XHJcbiAgICBnZXQgaGlkZUNoYW5uZWxzSUQoKSB7cmV0dXJuIFwiaGlkZUNoYW5uZWxzXCI7fVxyXG4gICAgZ2V0IGhpZGVDaGFubmVscygpIHtyZXR1cm4gdGhpcy5nZXQodGhpcy5oaWRlQ2hhbm5lbHNJRCk7fVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5lbmFibGVIaWRlQ2hhbm5lbHMgPSB0aGlzLmVuYWJsZUhpZGVDaGFubmVscy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUhpZGVDaGFubmVscyA9IHRoaXMuZGlzYWJsZUhpZGVDaGFubmVscy5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikuYWRkQ2xhc3MoXCJiZC1taW5pbWFsXCIpO1xyXG4gICAgICAgIGlmICh0aGlzLmhpZGVDaGFubmVscykgdGhpcy5lbmFibGVIaWRlQ2hhbm5lbHMoKTtcclxuICAgICAgICB0aGlzLmhpZGVDaGFubmVsQ2FuY2VsID0gdGhpcy5yZWdpc3RlclNldHRpbmcodGhpcy5oaWRlQ2hhbm5lbHNJRCwgdGhpcy5lbmFibGVIaWRlQ2hhbm5lbHMsIHRoaXMuZGlzYWJsZUhpZGVDaGFubmVscyk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJiZC1taW5pbWFsXCIpO1xyXG4gICAgICAgIGlmICh0aGlzLmhpZGVDaGFubmVscykgdGhpcy5kaXNhYmxlSGlkZUNoYW5uZWxzKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZUNoYW5uZWxDYW5jZWwpIHRoaXMuaGlkZUNoYW5uZWxDYW5jZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBlbmFibGVIaWRlQ2hhbm5lbHMoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikuYWRkQ2xhc3MoXCJiZC1taW5pbWFsLWNoYW5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZUhpZGVDaGFubmVscygpIHtcclxuICAgICAgICAkKFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcImJkLW1pbmltYWwtY2hhblwiKTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/minimalmode.js\n"); /***/ }), /***/ "./src/builtins/publicservers.js": /*!***************************************!*\ !*** ./src/builtins/publicservers.js ***! \***************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class PublicServers extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"PublicServers\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"publicServers\";\n }\n\n enabled() {\n const wrapper = modules__WEBPACK_IMPORTED_MODULE_1__[\"BDV2\"].guildClasses.wrapper.split(\" \")[0];\n const guilds = $(`.${wrapper} .scroller-2FKFPG >:first-child`);\n guilds.after(this.button);\n }\n\n disabled() {\n $(\"#bd-pub-li\").remove();\n }\n\n get component() {\n return modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React.createElement(ui__WEBPACK_IMPORTED_MODULE_2__[\"PublicServers\"].Layer, {\n rootId: \"pubslayerroot\",\n id: \"pubslayer\"\n }, modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React.createElement(ui__WEBPACK_IMPORTED_MODULE_2__[\"PublicServers\"].Menu, {\n rootId: \"pubslayerroot\"\n }));\n }\n\n get root() {\n const _root = document.getElementById(\"pubslayerroot\");\n\n if (!_root) {\n if (!this.injectRoot()) return null;\n return this.root;\n }\n\n return _root;\n }\n\n injectRoot() {\n if (!$(\".layers, .layers-3iHuyZ\").length) return false;\n $(\".layers, .layers-3iHuyZ\").append($(\"
\", {\n id: \"pubslayerroot\"\n }));\n return true;\n }\n\n render() {\n const root = this.root;\n\n if (!root) {\n this.error(\"FAILED TO LOCATE ROOT: .layers\");\n return;\n }\n\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ReactDOM.render(this.component, root);\n }\n\n get button() {\n const btn = $(\"
\", {\n \"class\": modules__WEBPACK_IMPORTED_MODULE_1__[\"BDV2\"].guildClasses.listItem,\n \"id\": \"bd-pub-li\"\n }).append($(\"
\", {\n \"class\": \"wrapper-25eVIn \" + modules__WEBPACK_IMPORTED_MODULE_1__[\"BDV2\"].guildClasses.circleButtonMask,\n \"text\": \"public\",\n \"id\": \"bd-pub-button\",\n \"click\": () => {\n this.render();\n }\n }));\n return btn;\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3B1YmxpY3NlcnZlcnMuanM/MWY2NSJdLCJuYW1lcyI6WyJQdWJsaWNTZXJ2ZXJzIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiZW5hYmxlZCIsIndyYXBwZXIiLCJCRFYyIiwiZ3VpbGRDbGFzc2VzIiwic3BsaXQiLCJndWlsZHMiLCIkIiwiYWZ0ZXIiLCJidXR0b24iLCJkaXNhYmxlZCIsInJlbW92ZSIsImNvbXBvbmVudCIsIkRpc2NvcmRNb2R1bGVzIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiUFNDb21wb25lbnRzIiwiTGF5ZXIiLCJyb290SWQiLCJNZW51Iiwicm9vdCIsIl9yb290IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImluamVjdFJvb3QiLCJsZW5ndGgiLCJhcHBlbmQiLCJyZW5kZXIiLCJlcnJvciIsIlJlYWN0RE9NIiwiYnRuIiwibGlzdEl0ZW0iLCJjaXJjbGVCdXR0b25NYXNrIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVlLG1FQUFJLE1BQU1BLGFBQU4sU0FBNEJDLHdEQUE1QixDQUFvQztBQUNuRCxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLGVBQVA7QUFBd0I7O0FBQ3BDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxlQUFQO0FBQXdCOztBQUVsQ0MsU0FBTyxHQUFHO0FBQ04sVUFBTUMsT0FBTyxHQUFHQyw0Q0FBSSxDQUFDQyxZQUFMLENBQWtCRixPQUFsQixDQUEwQkcsS0FBMUIsQ0FBZ0MsR0FBaEMsRUFBcUMsQ0FBckMsQ0FBaEI7QUFDQSxVQUFNQyxNQUFNLEdBQUdDLENBQUMsQ0FBRSxJQUFHTCxPQUFRLGlDQUFiLENBQWhCO0FBQ0FJLFVBQU0sQ0FBQ0UsS0FBUCxDQUFhLEtBQUtDLE1BQWxCO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQSCxLQUFDLENBQUMsWUFBRCxDQUFELENBQWdCSSxNQUFoQjtBQUNIOztBQUVELE1BQUlDLFNBQUosR0FBZ0I7QUFDWixXQUFPQyxzREFBYyxDQUFDQyxLQUFmLENBQXFCQyxhQUFyQixDQUFtQ0MsZ0RBQVksQ0FBQ0MsS0FBaEQsRUFBdUQ7QUFDMURDLFlBQU0sRUFBRSxlQURrRDtBQUUxRGxCLFFBQUUsRUFBRTtBQUZzRCxLQUF2RCxFQUdKYSxzREFBYyxDQUFDQyxLQUFmLENBQXFCQyxhQUFyQixDQUFtQ0MsZ0RBQVksQ0FBQ0csSUFBaEQsRUFBc0Q7QUFBQ0QsWUFBTSxFQUFFO0FBQVQsS0FBdEQsQ0FISSxDQUFQO0FBSUg7O0FBRUQsTUFBSUUsSUFBSixHQUFXO0FBQ1AsVUFBTUMsS0FBSyxHQUFHQyxRQUFRLENBQUNDLGNBQVQsQ0FBd0IsZUFBeEIsQ0FBZDs7QUFDQSxRQUFJLENBQUNGLEtBQUwsRUFBWTtBQUNSLFVBQUksQ0FBQyxLQUFLRyxVQUFMLEVBQUwsRUFBd0IsT0FBTyxJQUFQO0FBQ3hCLGFBQU8sS0FBS0osSUFBWjtBQUNIOztBQUNELFdBQU9DLEtBQVA7QUFDSDs7QUFFREcsWUFBVSxHQUFHO0FBQ1QsUUFBSSxDQUFDakIsQ0FBQyxDQUFDLHlCQUFELENBQUQsQ0FBNkJrQixNQUFsQyxFQUEwQyxPQUFPLEtBQVA7QUFDMUNsQixLQUFDLENBQUMseUJBQUQsQ0FBRCxDQUE2Qm1CLE1BQTdCLENBQW9DbkIsQ0FBQyxDQUFDLFFBQUQsRUFBVztBQUM1Q1AsUUFBRSxFQUFFO0FBRHdDLEtBQVgsQ0FBckM7QUFHQSxXQUFPLElBQVA7QUFDSDs7QUFFRDJCLFFBQU0sR0FBRztBQUNMLFVBQU1QLElBQUksR0FBRyxLQUFLQSxJQUFsQjs7QUFDQSxRQUFJLENBQUNBLElBQUwsRUFBVztBQUNQLFdBQUtRLEtBQUwsQ0FBVyxnQ0FBWDtBQUNBO0FBQ0g7O0FBQ0RmLDBEQUFjLENBQUNnQixRQUFmLENBQXdCRixNQUF4QixDQUErQixLQUFLZixTQUFwQyxFQUErQ1EsSUFBL0M7QUFDSDs7QUFFRCxNQUFJWCxNQUFKLEdBQWE7QUFDVCxVQUFNcUIsR0FBRyxHQUFHdkIsQ0FBQyxDQUFDLFFBQUQsRUFBVztBQUNwQixlQUFTSiw0Q0FBSSxDQUFDQyxZQUFMLENBQWtCMkIsUUFEUDtBQUVwQixZQUFNO0FBRmMsS0FBWCxDQUFELENBR1RMLE1BSFMsQ0FHRm5CLENBQUMsQ0FBQyxRQUFELEVBQVc7QUFDbEIsZUFBUyxvQkFBb0JKLDRDQUFJLENBQUNDLFlBQUwsQ0FBa0I0QixnQkFEN0I7QUFFbEIsY0FBUSxRQUZVO0FBR2xCLFlBQU0sZUFIWTtBQUlsQixlQUFTLE1BQU07QUFBRSxhQUFLTCxNQUFMO0FBQWdCO0FBSmYsS0FBWCxDQUhDLENBQVo7QUFVQSxXQUFPRyxHQUFQO0FBQ0g7O0FBNURrRCxDQUF4QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL3B1YmxpY3NlcnZlcnMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcbmltcG9ydCB7QkRWMiwgRGlzY29yZE1vZHVsZXN9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCB7UHVibGljU2VydmVycyBhcyBQU0NvbXBvbmVudHN9IGZyb20gXCJ1aVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFB1YmxpY1NlcnZlcnMgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIlB1YmxpY1NlcnZlcnNcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJwdWJsaWNTZXJ2ZXJzXCI7fVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IEJEVjIuZ3VpbGRDbGFzc2VzLndyYXBwZXIuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgIGNvbnN0IGd1aWxkcyA9ICQoYC4ke3dyYXBwZXJ9IC5zY3JvbGxlci0yRktGUEcgPjpmaXJzdC1jaGlsZGApO1xyXG4gICAgICAgIGd1aWxkcy5hZnRlcih0aGlzLmJ1dHRvbik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcIiNiZC1wdWItbGlcIikucmVtb3ZlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbXBvbmVudCgpIHtcclxuICAgICAgICByZXR1cm4gRGlzY29yZE1vZHVsZXMuUmVhY3QuY3JlYXRlRWxlbWVudChQU0NvbXBvbmVudHMuTGF5ZXIsIHtcclxuICAgICAgICAgICAgcm9vdElkOiBcInB1YnNsYXllcnJvb3RcIixcclxuICAgICAgICAgICAgaWQ6IFwicHVic2xheWVyXCJcclxuICAgICAgICB9LCBEaXNjb3JkTW9kdWxlcy5SZWFjdC5jcmVhdGVFbGVtZW50KFBTQ29tcG9uZW50cy5NZW51LCB7cm9vdElkOiBcInB1YnNsYXllcnJvb3RcIn0pKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcm9vdCgpIHtcclxuICAgICAgICBjb25zdCBfcm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicHVic2xheWVycm9vdFwiKTtcclxuICAgICAgICBpZiAoIV9yb290KSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pbmplY3RSb290KCkpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb290O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gX3Jvb3Q7XHJcbiAgICB9XHJcblxyXG4gICAgaW5qZWN0Um9vdCgpIHtcclxuICAgICAgICBpZiAoISQoXCIubGF5ZXJzLCAubGF5ZXJzLTNpSHV5WlwiKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcclxuICAgICAgICAkKFwiLmxheWVycywgLmxheWVycy0zaUh1eVpcIikuYXBwZW5kKCQoXCI8ZGl2Lz5cIiwge1xyXG4gICAgICAgICAgICBpZDogXCJwdWJzbGF5ZXJyb290XCJcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLnJvb3Q7XHJcbiAgICAgICAgaWYgKCFyb290KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3IoXCJGQUlMRUQgVE8gTE9DQVRFIFJPT1Q6IC5sYXllcnNcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgRGlzY29yZE1vZHVsZXMuUmVhY3RET00ucmVuZGVyKHRoaXMuY29tcG9uZW50LCByb290KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYnV0dG9uKCkge1xyXG4gICAgICAgIGNvbnN0IGJ0biA9ICQoXCI8ZGl2Lz5cIiwge1xyXG4gICAgICAgICAgICBcImNsYXNzXCI6IEJEVjIuZ3VpbGRDbGFzc2VzLmxpc3RJdGVtLFxyXG4gICAgICAgICAgICBcImlkXCI6IFwiYmQtcHViLWxpXCJcclxuICAgICAgICB9KS5hcHBlbmQoJChcIjxkaXYvPlwiLCB7XHJcbiAgICAgICAgICAgIFwiY2xhc3NcIjogXCJ3cmFwcGVyLTI1ZVZJbiBcIiArIEJEVjIuZ3VpbGRDbGFzc2VzLmNpcmNsZUJ1dHRvbk1hc2ssXHJcbiAgICAgICAgICAgIFwidGV4dFwiOiBcInB1YmxpY1wiLFxyXG4gICAgICAgICAgICBcImlkXCI6IFwiYmQtcHViLWJ1dHRvblwiLFxyXG4gICAgICAgICAgICBcImNsaWNrXCI6ICgpID0+IHsgdGhpcy5yZW5kZXIoKTsgfVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGJ0bjtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/publicservers.js\n"); /***/ }), /***/ "./src/builtins/voicedisconnect.js": /*!*****************************************!*\ !*** ./src/builtins/voicedisconnect.js ***! \*****************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DarkMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"VoiceDisconnect\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"voiceDisconnect\";\n }\n\n constructor() {\n super();\n this.beforeUnload = this.beforeUnload.bind(this);\n }\n\n enabled() {\n window.addEventListener(\"beforeunload\", this.beforeUnload);\n }\n\n disabled() {\n window.removeEventListener(\"beforeunload\", this.beforeUnload);\n }\n\n beforeUnload() {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ChannelActions.selectVoiceChannel(null, null);\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3ZvaWNlZGlzY29ubmVjdC5qcz8yYmVmIl0sIm5hbWVzIjpbIkRhcmtNb2RlIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiY29uc3RydWN0b3IiLCJiZWZvcmVVbmxvYWQiLCJiaW5kIiwiZW5hYmxlZCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNhYmxlZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJEaXNjb3JkTW9kdWxlcyIsIkNoYW5uZWxBY3Rpb25zIiwic2VsZWN0Vm9pY2VDaGFubmVsIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRWUsbUVBQUksTUFBTUEsUUFBTixTQUF1QkMsd0RBQXZCLENBQStCO0FBQzlDLE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8saUJBQVA7QUFBMEI7O0FBQ3RDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxpQkFBUDtBQUEwQjs7QUFFcENDLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0MsWUFBTCxHQUFvQixLQUFLQSxZQUFMLENBQWtCQyxJQUFsQixDQUF1QixJQUF2QixDQUFwQjtBQUNIOztBQUVEQyxTQUFPLEdBQUc7QUFDTkMsVUFBTSxDQUFDQyxnQkFBUCxDQUF3QixjQUF4QixFQUF3QyxLQUFLSixZQUE3QztBQUNIOztBQUVESyxVQUFRLEdBQUc7QUFDUEYsVUFBTSxDQUFDRyxtQkFBUCxDQUEyQixjQUEzQixFQUEyQyxLQUFLTixZQUFoRDtBQUNIOztBQUVEQSxjQUFZLEdBQUc7QUFDWE8sMERBQWMsQ0FBQ0MsY0FBZixDQUE4QkMsa0JBQTlCLENBQWlELElBQWpELEVBQXVELElBQXZEO0FBQ0g7O0FBcEI2QyxDQUFuQyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL3ZvaWNlZGlzY29ubmVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBEYXJrTW9kZSBleHRlbmRzIEJ1aWx0aW4ge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiVm9pY2VEaXNjb25uZWN0XCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImdlbmVyYWxcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwidm9pY2VEaXNjb25uZWN0XCI7fVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5iZWZvcmVVbmxvYWQgPSB0aGlzLmJlZm9yZVVubG9hZC5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJiZWZvcmV1bmxvYWRcIiwgdGhpcy5iZWZvcmVVbmxvYWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsIHRoaXMuYmVmb3JlVW5sb2FkKTtcclxuICAgIH1cclxuXHJcbiAgICBiZWZvcmVVbmxvYWQoKSB7XHJcbiAgICAgICAgRGlzY29yZE1vZHVsZXMuQ2hhbm5lbEFjdGlvbnMuc2VsZWN0Vm9pY2VDaGFubmVsKG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/voicedisconnect.js\n"); /***/ }), /***/ "./src/builtins/voicemode.js": /*!***********************************!*\ !*** ./src/builtins/voicemode.js ***! \***********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class VoiceMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"VoiceMode\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"voiceMode\";\n }\n\n enabled() {\n $(\".scroller.guild-channels ul\").first().css(\"display\", \"none\");\n $(\".scroller.guild-channels header\").first().css(\"display\", \"none\");\n $(\".app.flex-vertical, .app-2rEoOp\").first().css(\"overflow\", \"hidden\");\n $(\".chat-3bRxxu\").first().css(\"visibility\", \"hidden\").css(\"min-width\", \"0px\");\n $(\".flex-vertical.channels-wrap\").first().css(\"flex-grow\", \"100000\");\n $(\".guild-header .btn.btn-hamburger\").first().css(\"visibility\", \"hidden\");\n }\n\n disabled() {\n $(\".scroller.guild-channels ul\").first().css(\"display\", \"\");\n $(\".scroller.guild-channels header\").first().css(\"display\", \"\");\n $(\".app.flex-vertical, .app-2rEoOp\").first().css(\"overflow\", \"\");\n $(\".chat-3bRxxu\").first().css(\"visibility\", \"\").css(\"min-width\", \"\");\n $(\".flex-vertical.channels-wrap\").first().css(\"flex-grow\", \"\");\n $(\".guild-header .btn.btn-hamburger\").first().css(\"visibility\", \"\");\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3ZvaWNlbW9kZS5qcz80M2E3Il0sIm5hbWVzIjpbIlZvaWNlTW9kZSIsIkJ1aWx0aW4iLCJuYW1lIiwiY2F0ZWdvcnkiLCJpZCIsImVuYWJsZWQiLCIkIiwiZmlyc3QiLCJjc3MiLCJkaXNhYmxlZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBRWUsbUVBQUksTUFBTUEsU0FBTixTQUF3QkMsd0RBQXhCLENBQWdDO0FBQy9DLE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sV0FBUDtBQUFvQjs7QUFDaEMsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUNyQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLFdBQVA7QUFBb0I7O0FBRTlCQyxTQUFPLEdBQUc7QUFDTkMsS0FBQyxDQUFDLDZCQUFELENBQUQsQ0FBaUNDLEtBQWpDLEdBQXlDQyxHQUF6QyxDQUE2QyxTQUE3QyxFQUF3RCxNQUF4RDtBQUNBRixLQUFDLENBQUMsaUNBQUQsQ0FBRCxDQUFxQ0MsS0FBckMsR0FBNkNDLEdBQTdDLENBQWlELFNBQWpELEVBQTRELE1BQTVEO0FBQ0FGLEtBQUMsQ0FBQyxpQ0FBRCxDQUFELENBQXFDQyxLQUFyQyxHQUE2Q0MsR0FBN0MsQ0FBaUQsVUFBakQsRUFBNkQsUUFBN0Q7QUFDQUYsS0FBQyxDQUFDLGNBQUQsQ0FBRCxDQUFrQkMsS0FBbEIsR0FBMEJDLEdBQTFCLENBQThCLFlBQTlCLEVBQTRDLFFBQTVDLEVBQXNEQSxHQUF0RCxDQUEwRCxXQUExRCxFQUF1RSxLQUF2RTtBQUNBRixLQUFDLENBQUMsOEJBQUQsQ0FBRCxDQUFrQ0MsS0FBbEMsR0FBMENDLEdBQTFDLENBQThDLFdBQTlDLEVBQTJELFFBQTNEO0FBQ0FGLEtBQUMsQ0FBQyxrQ0FBRCxDQUFELENBQXNDQyxLQUF0QyxHQUE4Q0MsR0FBOUMsQ0FBa0QsWUFBbEQsRUFBZ0UsUUFBaEU7QUFDSDs7QUFFREMsVUFBUSxHQUFHO0FBQ1BILEtBQUMsQ0FBQyw2QkFBRCxDQUFELENBQWlDQyxLQUFqQyxHQUF5Q0MsR0FBekMsQ0FBNkMsU0FBN0MsRUFBd0QsRUFBeEQ7QUFDQUYsS0FBQyxDQUFDLGlDQUFELENBQUQsQ0FBcUNDLEtBQXJDLEdBQTZDQyxHQUE3QyxDQUFpRCxTQUFqRCxFQUE0RCxFQUE1RDtBQUNBRixLQUFDLENBQUMsaUNBQUQsQ0FBRCxDQUFxQ0MsS0FBckMsR0FBNkNDLEdBQTdDLENBQWlELFVBQWpELEVBQTZELEVBQTdEO0FBQ0FGLEtBQUMsQ0FBQyxjQUFELENBQUQsQ0FBa0JDLEtBQWxCLEdBQTBCQyxHQUExQixDQUE4QixZQUE5QixFQUE0QyxFQUE1QyxFQUFnREEsR0FBaEQsQ0FBb0QsV0FBcEQsRUFBaUUsRUFBakU7QUFDQUYsS0FBQyxDQUFDLDhCQUFELENBQUQsQ0FBa0NDLEtBQWxDLEdBQTBDQyxHQUExQyxDQUE4QyxXQUE5QyxFQUEyRCxFQUEzRDtBQUNBRixLQUFDLENBQUMsa0NBQUQsQ0FBRCxDQUFzQ0MsS0FBdEMsR0FBOENDLEdBQTlDLENBQWtELFlBQWxELEVBQWdFLEVBQWhFO0FBQ0g7O0FBckI4QyxDQUFwQyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL3ZvaWNlbW9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBWb2ljZU1vZGUgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIlZvaWNlTW9kZVwiO31cclxuICAgIGdldCBjYXRlZ29yeSgpIHtyZXR1cm4gXCJhcHBlYXJhbmNlXCI7fVxyXG4gICAgZ2V0IGlkKCkge3JldHVybiBcInZvaWNlTW9kZVwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgICQoXCIuc2Nyb2xsZXIuZ3VpbGQtY2hhbm5lbHMgdWxcIikuZmlyc3QoKS5jc3MoXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcclxuICAgICAgICAkKFwiLnNjcm9sbGVyLmd1aWxkLWNoYW5uZWxzIGhlYWRlclwiKS5maXJzdCgpLmNzcyhcImRpc3BsYXlcIiwgXCJub25lXCIpO1xyXG4gICAgICAgICQoXCIuYXBwLmZsZXgtdmVydGljYWwsIC5hcHAtMnJFb09wXCIpLmZpcnN0KCkuY3NzKFwib3ZlcmZsb3dcIiwgXCJoaWRkZW5cIik7XHJcbiAgICAgICAgJChcIi5jaGF0LTNiUnh4dVwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJoaWRkZW5cIikuY3NzKFwibWluLXdpZHRoXCIsIFwiMHB4XCIpO1xyXG4gICAgICAgICQoXCIuZmxleC12ZXJ0aWNhbC5jaGFubmVscy13cmFwXCIpLmZpcnN0KCkuY3NzKFwiZmxleC1ncm93XCIsIFwiMTAwMDAwXCIpO1xyXG4gICAgICAgICQoXCIuZ3VpbGQtaGVhZGVyIC5idG4uYnRuLWhhbWJ1cmdlclwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJoaWRkZW5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcIi5zY3JvbGxlci5ndWlsZC1jaGFubmVscyB1bFwiKS5maXJzdCgpLmNzcyhcImRpc3BsYXlcIiwgXCJcIik7XHJcbiAgICAgICAgJChcIi5zY3JvbGxlci5ndWlsZC1jaGFubmVscyBoZWFkZXJcIikuZmlyc3QoKS5jc3MoXCJkaXNwbGF5XCIsIFwiXCIpO1xyXG4gICAgICAgICQoXCIuYXBwLmZsZXgtdmVydGljYWwsIC5hcHAtMnJFb09wXCIpLmZpcnN0KCkuY3NzKFwib3ZlcmZsb3dcIiwgXCJcIik7XHJcbiAgICAgICAgJChcIi5jaGF0LTNiUnh4dVwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJcIikuY3NzKFwibWluLXdpZHRoXCIsIFwiXCIpO1xyXG4gICAgICAgICQoXCIuZmxleC12ZXJ0aWNhbC5jaGFubmVscy13cmFwXCIpLmZpcnN0KCkuY3NzKFwiZmxleC1ncm93XCIsIFwiXCIpO1xyXG4gICAgICAgICQoXCIuZ3VpbGQtaGVhZGVyIC5idG4uYnRuLWhhbWJ1cmdlclwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJcIik7XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/builtins/voicemode.js\n"); /***/ }), /***/ "./src/data/config.js": /*!****************************!*\ !*** ./src/data/config.js ***! \****************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n local: false,\n localServer: \"//localhost:8080\",\n minified: true,\n version: \"0.3.0\",\n branch: \"master\",\n repo: \"rauenzi\",\n minSupportedVersion: \"0.3.0\",\n bbdVersion: \"0.2.17\"\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvY29uZmlnLmpzPzRiYWEiXSwibmFtZXMiOlsibG9jYWwiLCJsb2NhbFNlcnZlciIsIm1pbmlmaWVkIiwidmVyc2lvbiIsImJyYW5jaCIsInJlcG8iLCJtaW5TdXBwb3J0ZWRWZXJzaW9uIiwiYmJkVmVyc2lvbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBZTtBQUNYQSxPQUFLLEVBQUUsS0FESTtBQUVYQyxhQUFXLEVBQUUsa0JBRkY7QUFHWEMsVUFBUSxFQUFFLElBSEM7QUFJWEMsU0FBTyxFQUFFLE9BSkU7QUFLWEMsUUFBTSxFQUFFLFFBTEc7QUFNWEMsTUFBSSxFQUFFLFNBTks7QUFPWEMscUJBQW1CLEVBQUUsT0FQVjtBQVFYQyxZQUFVLEVBQUU7QUFSRCxDQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvY29uZmlnLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgbG9jYWw6IGZhbHNlLFxyXG4gICAgbG9jYWxTZXJ2ZXI6IFwiLy9sb2NhbGhvc3Q6ODA4MFwiLFxyXG4gICAgbWluaWZpZWQ6IHRydWUsXHJcbiAgICB2ZXJzaW9uOiBcIjAuMy4wXCIsXHJcbiAgICBicmFuY2g6IFwibWFzdGVyXCIsXHJcbiAgICByZXBvOiBcInJhdWVuemlcIixcclxuICAgIG1pblN1cHBvcnRlZFZlcnNpb246IFwiMC4zLjBcIixcclxuICAgIGJiZFZlcnNpb246IFwiMC4yLjE3XCJcclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/config.js\n"); /***/ }), /***/ "./src/data/data.js": /*!**************************!*\ !*** ./src/data/data.js ***! \**************************/ /*! exports provided: State, Config, EmoteInfo, EmoteConfig, SettingsConfig, SettingsState */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./state */ \"./src/data/state.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return _state__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config */ \"./src/data/config.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Config\", function() { return _config__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _emotes_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emotes/info */ \"./src/data/emotes/info.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteInfo\", function() { return _emotes_info__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _emotes_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./emotes/config */ \"./src/data/emotes/config.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteConfig\", function() { return _emotes_config__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _settings_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settings/config */ \"./src/data/settings/config.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingsConfig\", function() { return _settings_config__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _settings_state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settings/state */ \"./src/data/settings/state.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingsState\", function() { return _settings_state__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvZGF0YS5qcz9kNWM3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vc3JjL2RhdGEvZGF0YS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdGF0ZSBmcm9tIFwiLi9zdGF0ZVwiO1xyXG5pbXBvcnQgQ29uZmlnIGZyb20gXCIuL2NvbmZpZ1wiO1xyXG5pbXBvcnQgRW1vdGVJbmZvIGZyb20gXCIuL2Vtb3Rlcy9pbmZvXCI7XHJcbmltcG9ydCBFbW90ZUNvbmZpZyBmcm9tIFwiLi9lbW90ZXMvY29uZmlnXCI7XHJcblxyXG5pbXBvcnQgU2V0dGluZ3NDb25maWcgZnJvbSBcIi4vc2V0dGluZ3MvY29uZmlnXCI7XHJcbmltcG9ydCBTZXR0aW5nc1N0YXRlIGZyb20gXCIuL3NldHRpbmdzL3N0YXRlXCI7XHJcblxyXG5leHBvcnQge1N0YXRlLCBDb25maWcsIEVtb3RlSW5mbywgRW1vdGVDb25maWcsIFNldHRpbmdzQ29uZmlnLCBTZXR0aW5nc1N0YXRlfTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/data.js\n"); /***/ }), /***/ "./src/data/emotes/config.js": /*!***********************************!*\ !*** ./src/data/emotes/config.js ***! \***********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ([{\n type: \"category\",\n id: \"general\",\n name: \"General\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"download\",\n name: \"Download Emotes\",\n note: \"Download emotes once a week to stay up to date\",\n value: true\n }, {\n type: \"switch\",\n id: \"emoteMenu\",\n name: \"Emote Menu\",\n note: \"Show Twitch/Favourite emotes in emote menu\",\n value: true\n }, {\n type: \"switch\",\n id: \"hideEmojiMenu\",\n name: \"Hide Emoji Menu\",\n note: \"Hides Discord's emoji menu when using emote menu\",\n value: false,\n enableWith: \"emoteMenu\"\n }, {\n type: \"switch\",\n id: \"autoCaps\",\n name: \"Emote Autocapitalization\",\n note: \"Autocapitalize emote commands\",\n value: false\n }, {\n type: \"switch\",\n id: \"showNames\",\n name: \"Show Names\",\n note: \"Show emote names on hover\",\n value: true\n }, {\n type: \"switch\",\n id: \"modifiers\",\n name: \"Show Emote Modifiers\",\n note: \"Enable emote mods (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)\",\n value: true\n }, {\n type: \"switch\",\n id: \"animateOnHover\",\n name: \"Animate On Hover\",\n note: \"Only animate the emote modifiers on hover\",\n value: false\n }]\n}, {\n type: \"category\",\n id: \"categories\",\n name: \"Categories\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"twitch\",\n name: \"Twitch\",\n note: \"Show Twitch global & subscriber emotes\",\n value: true\n }, {\n type: \"switch\",\n id: \"ffz\",\n name: \"FrankerFaceZ\",\n note: \"Show emotes from FFZ\",\n value: true\n }, {\n type: \"switch\",\n id: \"bttv\",\n name: \"BetterTTV\",\n note: \"Show emotes from BTTV\",\n value: true\n }]\n}]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvZW1vdGVzL2NvbmZpZy5qcz8yZDVkIl0sIm5hbWVzIjpbInR5cGUiLCJpZCIsIm5hbWUiLCJjb2xsYXBzaWJsZSIsInNldHRpbmdzIiwibm90ZSIsInZhbHVlIiwiZW5hYmxlV2l0aCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBZSxnRUFDWDtBQUNJQSxNQUFJLEVBQUUsVUFEVjtBQUVJQyxJQUFFLEVBQUUsU0FGUjtBQUdJQyxNQUFJLEVBQUUsU0FIVjtBQUlJQyxhQUFXLEVBQUUsSUFKakI7QUFLSUMsVUFBUSxFQUFFLENBQ047QUFDSUosUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLFVBRlI7QUFHSUMsUUFBSSxFQUFFLGlCQUhWO0FBSUlHLFFBQUksRUFBRSxnREFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQURNLEVBUU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLFdBRlI7QUFHSUMsUUFBSSxFQUFFLFlBSFY7QUFJSUcsUUFBSSxFQUFFLDRDQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBUk0sRUFlTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsZUFGUjtBQUdJQyxRQUFJLEVBQUUsaUJBSFY7QUFJSUcsUUFBSSxFQUFFLGtEQUpWO0FBS0lDLFNBQUssRUFBRSxLQUxYO0FBTUlDLGNBQVUsRUFBRTtBQU5oQixHQWZNLEVBdUJOO0FBQ0lQLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxVQUZSO0FBR0lDLFFBQUksRUFBRSwwQkFIVjtBQUlJRyxRQUFJLEVBQUUsK0JBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0F2Qk0sRUE4Qk47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLFdBRlI7QUFHSUMsUUFBSSxFQUFFLFlBSFY7QUFJSUcsUUFBSSxFQUFFLDJCQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBOUJNLEVBcUNOO0FBQ0lOLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxXQUZSO0FBR0lDLFFBQUksRUFBRSxzQkFIVjtBQUlJRyxRQUFJLEVBQUUsbUhBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0FyQ00sRUE0Q047QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGdCQUZSO0FBR0lDLFFBQUksRUFBRSxrQkFIVjtBQUlJRyxRQUFJLEVBQUUsMkNBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0E1Q007QUFMZCxDQURXLEVBMkRYO0FBQ0lOLE1BQUksRUFBRSxVQURWO0FBRUlDLElBQUUsRUFBRSxZQUZSO0FBR0lDLE1BQUksRUFBRSxZQUhWO0FBSUlDLGFBQVcsRUFBRSxJQUpqQjtBQUtJQyxVQUFRLEVBQUUsQ0FDTjtBQUNJSixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsUUFGUjtBQUdJQyxRQUFJLEVBQUUsUUFIVjtBQUlJRyxRQUFJLEVBQUUsd0NBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0FETSxFQVFOO0FBQ0lOLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxLQUZSO0FBR0lDLFFBQUksRUFBRSxjQUhWO0FBSUlHLFFBQUksRUFBRSxzQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQVJNLEVBZU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLE1BRlI7QUFHSUMsUUFBSSxFQUFFLFdBSFY7QUFJSUcsUUFBSSxFQUFFLHVCQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBZk07QUFMZCxDQTNEVyxDQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvZW1vdGVzL2NvbmZpZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFtcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwiZ2VuZXJhbFwiLFxyXG4gICAgICAgIG5hbWU6IFwiR2VuZXJhbFwiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJkb3dubG9hZFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJEb3dubG9hZCBFbW90ZXNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRG93bmxvYWQgZW1vdGVzIG9uY2UgYSB3ZWVrIHRvIHN0YXkgdXAgdG8gZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImVtb3RlTWVudVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJFbW90ZSBNZW51XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIlNob3cgVHdpdGNoL0Zhdm91cml0ZSBlbW90ZXMgaW4gZW1vdGUgbWVudVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImhpZGVFbW9qaU1lbnVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiSGlkZSBFbW9qaSBNZW51XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGVzIERpc2NvcmQncyBlbW9qaSBtZW51IHdoZW4gdXNpbmcgZW1vdGUgbWVudVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZW5hYmxlV2l0aDogXCJlbW90ZU1lbnVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiYXV0b0NhcHNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRW1vdGUgQXV0b2NhcGl0YWxpemF0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkF1dG9jYXBpdGFsaXplIGVtb3RlIGNvbW1hbmRzXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInNob3dOYW1lc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTaG93IE5hbWVzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIlNob3cgZW1vdGUgbmFtZXMgb24gaG92ZXJcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJtb2RpZmllcnNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiU2hvdyBFbW90ZSBNb2RpZmllcnNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRW5hYmxlIGVtb3RlIG1vZHMgKGZsaXAsIHNwaW4sIHB1bHNlLCBzcGluMiwgc3BpbjMsIDFzcGluLCAyc3BpbiwgM3NwaW4sIHRyLCBibCwgYnIsIHNoYWtlLCBzaGFrZTIsIHNoYWtlMywgZmxhcClcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJhbmltYXRlT25Ib3ZlclwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJBbmltYXRlIE9uIEhvdmVyXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIk9ubHkgYW5pbWF0ZSB0aGUgZW1vdGUgbW9kaWZpZXJzIG9uIGhvdmVyXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImNhdGVnb3JpZXNcIixcclxuICAgICAgICBuYW1lOiBcIkNhdGVnb3JpZXNcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwidHdpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlR3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJTaG93IFR3aXRjaCBnbG9iYWwgJiBzdWJzY3JpYmVyIGVtb3Rlc1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImZmelwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJGcmFua2VyRmFjZVpcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiU2hvdyBlbW90ZXMgZnJvbSBGRlpcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJidHR2XCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkJldHRlclRUVlwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJTaG93IGVtb3RlcyBmcm9tIEJUVFZcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9XHJcbl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/data/emotes/config.js\n"); /***/ }), /***/ "./src/data/emotes/info.js": /*!*********************************!*\ !*** ./src/data/emotes/info.js ***! \*********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n TwitchGlobal: {\n url: \"https://twitchemotes.com/api_cache/v3/global.json\",\n backup: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_twitch_global.json`,\n variable: \"TwitchGlobal\",\n getEmoteURL: e => `https://static-cdn.jtvnw.net/emoticons/v1/${e.id}/1.0`,\n getOldData: (url, name) => {\n return {\n id: url.match(/\\/([0-9]+)\\//)[1],\n code: name,\n emoticon_set: 0,\n description: null\n };\n }\n },\n TwitchSubscriber: {\n url: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_twitch_subscriber.json`,\n variable: \"TwitchSubscriber\",\n getEmoteURL: e => `https://static-cdn.jtvnw.net/emoticons/v1/${e}/1.0`,\n getOldData: url => url.match(/\\/([0-9]+)\\//)[1]\n },\n FrankerFaceZ: {\n url: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_ffz.json`,\n variable: \"FrankerFaceZ\",\n getEmoteURL: e => `https://cdn.frankerfacez.com/emoticon/${e}/1`,\n getOldData: url => url.match(/\\/([0-9]+)\\//)[1]\n },\n BTTV: {\n url: \"https://api.betterttv.net/emotes\",\n variable: \"BTTV\",\n parser: data => {\n const emotes = {};\n\n for (let e = 0, len = data.emotes.length; e < len; e++) {\n const emote = data.emotes[e];\n emotes[emote.regex] = emote.url;\n }\n\n return emotes;\n },\n getEmoteURL: e => `${e}`,\n getOldData: url => url\n },\n BTTV2: {\n url: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_bttv.json`,\n variable: \"BTTV2\",\n oldVariable: \"emotesBTTV2\",\n getEmoteURL: e => `https://cdn.betterttv.net/emote/${e}/1x`,\n getOldData: url => url.match(/emote\\/(.+)\\//)[1]\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvZW1vdGVzL2luZm8uanM/OWY4ZSJdLCJuYW1lcyI6WyJUd2l0Y2hHbG9iYWwiLCJ1cmwiLCJiYWNrdXAiLCJ2YXJpYWJsZSIsImdldEVtb3RlVVJMIiwiZSIsImlkIiwiZ2V0T2xkRGF0YSIsIm5hbWUiLCJtYXRjaCIsImNvZGUiLCJlbW90aWNvbl9zZXQiLCJkZXNjcmlwdGlvbiIsIlR3aXRjaFN1YnNjcmliZXIiLCJGcmFua2VyRmFjZVoiLCJCVFRWIiwicGFyc2VyIiwiZGF0YSIsImVtb3RlcyIsImxlbiIsImxlbmd0aCIsImVtb3RlIiwicmVnZXgiLCJCVFRWMiIsIm9sZFZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFlO0FBQ1hBLGNBQVksRUFBRTtBQUNWQyxPQUFHLEVBQUUsbURBREs7QUFFVkMsVUFBTSxFQUFHLDhFQUZDO0FBR1ZDLFlBQVEsRUFBRSxjQUhBO0FBSVZDLGVBQVcsRUFBR0MsQ0FBRCxJQUFRLDZDQUE0Q0EsQ0FBQyxDQUFDQyxFQUFHLE1BSjVEO0FBS1ZDLGNBQVUsRUFBRSxDQUFDTixHQUFELEVBQU1PLElBQU4sS0FBZTtBQUFFLGFBQU87QUFBQ0YsVUFBRSxFQUFFTCxHQUFHLENBQUNRLEtBQUosQ0FBVSxjQUFWLEVBQTBCLENBQTFCLENBQUw7QUFBbUNDLFlBQUksRUFBRUYsSUFBekM7QUFBK0NHLG9CQUFZLEVBQUUsQ0FBN0Q7QUFBZ0VDLG1CQUFXLEVBQUU7QUFBN0UsT0FBUDtBQUE0RjtBQUwvRyxHQURIO0FBUVhDLGtCQUFnQixFQUFFO0FBQ2RaLE9BQUcsRUFBRyxrRkFEUTtBQUVkRSxZQUFRLEVBQUUsa0JBRkk7QUFHZEMsZUFBVyxFQUFHQyxDQUFELElBQVEsNkNBQTRDQSxDQUFFLE1BSHJEO0FBSWRFLGNBQVUsRUFBR04sR0FBRCxJQUFTQSxHQUFHLENBQUNRLEtBQUosQ0FBVSxjQUFWLEVBQTBCLENBQTFCO0FBSlAsR0FSUDtBQWNYSyxjQUFZLEVBQUU7QUFDVmIsT0FBRyxFQUFHLG9FQURJO0FBRVZFLFlBQVEsRUFBRSxjQUZBO0FBR1ZDLGVBQVcsRUFBR0MsQ0FBRCxJQUFRLHlDQUF3Q0EsQ0FBRSxJQUhyRDtBQUlWRSxjQUFVLEVBQUdOLEdBQUQsSUFBU0EsR0FBRyxDQUFDUSxLQUFKLENBQVUsY0FBVixFQUEwQixDQUExQjtBQUpYLEdBZEg7QUFvQlhNLE1BQUksRUFBRTtBQUNGZCxPQUFHLEVBQUUsa0NBREg7QUFFRkUsWUFBUSxFQUFFLE1BRlI7QUFHRmEsVUFBTSxFQUFHQyxJQUFELElBQVU7QUFDZCxZQUFNQyxNQUFNLEdBQUcsRUFBZjs7QUFDQSxXQUFLLElBQUliLENBQUMsR0FBRyxDQUFSLEVBQVdjLEdBQUcsR0FBR0YsSUFBSSxDQUFDQyxNQUFMLENBQVlFLE1BQWxDLEVBQTBDZixDQUFDLEdBQUdjLEdBQTlDLEVBQW1EZCxDQUFDLEVBQXBELEVBQXdEO0FBQ3BELGNBQU1nQixLQUFLLEdBQUdKLElBQUksQ0FBQ0MsTUFBTCxDQUFZYixDQUFaLENBQWQ7QUFDQWEsY0FBTSxDQUFDRyxLQUFLLENBQUNDLEtBQVAsQ0FBTixHQUFzQkQsS0FBSyxDQUFDcEIsR0FBNUI7QUFDSDs7QUFDRCxhQUFPaUIsTUFBUDtBQUNILEtBVkM7QUFXRmQsZUFBVyxFQUFHQyxDQUFELElBQVEsR0FBRUEsQ0FBRSxFQVh2QjtBQVlGRSxjQUFVLEVBQUdOLEdBQUQsSUFBU0E7QUFabkIsR0FwQks7QUFrQ1hzQixPQUFLLEVBQUU7QUFDSHRCLE9BQUcsRUFBRyxxRUFESDtBQUVIRSxZQUFRLEVBQUUsT0FGUDtBQUdIcUIsZUFBVyxFQUFFLGFBSFY7QUFJSHBCLGVBQVcsRUFBR0MsQ0FBRCxJQUFRLG1DQUFrQ0EsQ0FBRSxLQUp0RDtBQUtIRSxjQUFVLEVBQUdOLEdBQUQsSUFBU0EsR0FBRyxDQUFDUSxLQUFKLENBQVUsZUFBVixFQUEyQixDQUEzQjtBQUxsQjtBQWxDSSxDQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvZW1vdGVzL2luZm8uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XHJcbiAgICBUd2l0Y2hHbG9iYWw6IHtcclxuICAgICAgICB1cmw6IFwiaHR0cHM6Ly90d2l0Y2hlbW90ZXMuY29tL2FwaV9jYWNoZS92My9nbG9iYWwuanNvblwiLFxyXG4gICAgICAgIGJhY2t1cDogYGh0dHBzOi8vcmF1ZW56aS5naXRodWIuaW8vQmV0dGVyRGlzY29yZEFwcC9kYXRhL2Vtb3RlZGF0YV90d2l0Y2hfZ2xvYmFsLmpzb25gLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIlR3aXRjaEdsb2JhbFwiLFxyXG4gICAgICAgIGdldEVtb3RlVVJMOiAoZSkgPT4gYGh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvZW1vdGljb25zL3YxLyR7ZS5pZH0vMS4wYCxcclxuICAgICAgICBnZXRPbGREYXRhOiAodXJsLCBuYW1lKSA9PiB7IHJldHVybiB7aWQ6IHVybC5tYXRjaCgvXFwvKFswLTldKylcXC8vKVsxXSwgY29kZTogbmFtZSwgZW1vdGljb25fc2V0OiAwLCBkZXNjcmlwdGlvbjogbnVsbH07IH1cclxuICAgIH0sXHJcbiAgICBUd2l0Y2hTdWJzY3JpYmVyOiB7XHJcbiAgICAgICAgdXJsOiBgaHR0cHM6Ly9yYXVlbnppLmdpdGh1Yi5pby9CZXR0ZXJEaXNjb3JkQXBwL2RhdGEvZW1vdGVkYXRhX3R3aXRjaF9zdWJzY3JpYmVyLmpzb25gLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIlR3aXRjaFN1YnNjcmliZXJcIixcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGBodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2Vtb3RpY29ucy92MS8ke2V9LzEuMGAsXHJcbiAgICAgICAgZ2V0T2xkRGF0YTogKHVybCkgPT4gdXJsLm1hdGNoKC9cXC8oWzAtOV0rKVxcLy8pWzFdXHJcbiAgICB9LFxyXG4gICAgRnJhbmtlckZhY2VaOiB7XHJcbiAgICAgICAgdXJsOiBgaHR0cHM6Ly9yYXVlbnppLmdpdGh1Yi5pby9CZXR0ZXJEaXNjb3JkQXBwL2RhdGEvZW1vdGVkYXRhX2Zmei5qc29uYCxcclxuICAgICAgICB2YXJpYWJsZTogXCJGcmFua2VyRmFjZVpcIixcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGBodHRwczovL2Nkbi5mcmFua2VyZmFjZXouY29tL2Vtb3RpY29uLyR7ZX0vMWAsXHJcbiAgICAgICAgZ2V0T2xkRGF0YTogKHVybCkgPT4gdXJsLm1hdGNoKC9cXC8oWzAtOV0rKVxcLy8pWzFdXHJcbiAgICB9LFxyXG4gICAgQlRUVjoge1xyXG4gICAgICAgIHVybDogXCJodHRwczovL2FwaS5iZXR0ZXJ0dHYubmV0L2Vtb3Rlc1wiLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIkJUVFZcIixcclxuICAgICAgICBwYXJzZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVtb3RlcyA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBlID0gMCwgbGVuID0gZGF0YS5lbW90ZXMubGVuZ3RoOyBlIDwgbGVuOyBlKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVtb3RlID0gZGF0YS5lbW90ZXNbZV07XHJcbiAgICAgICAgICAgICAgICBlbW90ZXNbZW1vdGUucmVnZXhdID0gZW1vdGUudXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBlbW90ZXM7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGAke2V9YCxcclxuICAgICAgICBnZXRPbGREYXRhOiAodXJsKSA9PiB1cmxcclxuICAgIH0sXHJcbiAgICBCVFRWMjoge1xyXG4gICAgICAgIHVybDogYGh0dHBzOi8vcmF1ZW56aS5naXRodWIuaW8vQmV0dGVyRGlzY29yZEFwcC9kYXRhL2Vtb3RlZGF0YV9idHR2Lmpzb25gLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIkJUVFYyXCIsXHJcbiAgICAgICAgb2xkVmFyaWFibGU6IFwiZW1vdGVzQlRUVjJcIixcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGBodHRwczovL2Nkbi5iZXR0ZXJ0dHYubmV0L2Vtb3RlLyR7ZX0vMXhgLFxyXG4gICAgICAgIGdldE9sZERhdGE6ICh1cmwpID0+IHVybC5tYXRjaCgvZW1vdGVcXC8oLispXFwvLylbMV1cclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/emotes/info.js\n"); /***/ }), /***/ "./src/data/settings/config.js": /*!*************************************!*\ !*** ./src/data/settings/config.js ***! \*************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ([{\n type: \"category\",\n id: \"general\",\n name: \"General\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"emotes\",\n name: \"Emote System\",\n note: \"Enables BD's emote system\",\n value: true\n }, {\n type: \"switch\",\n id: \"publicServers\",\n name: \"Public Servers\",\n note: \"Display public servers button\",\n value: true\n }, {\n type: \"switch\",\n id: \"voiceDisconnect\",\n name: \"Voice Disconnect\",\n note: \"Disconnect from voice server when closing Discord\",\n value: false\n }, {\n type: \"switch\",\n id: \"twentyFourHour\",\n name: \"24 Hour Timestamps\",\n note: \"Hides channels when in minimal mode\",\n value: false\n }, {\n type: \"switch\",\n id: \"classNormalizer\",\n name: \"Normalize Classes\",\n note: \"Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)\",\n value: true\n }, {\n type: \"switch\",\n id: \"showToasts\",\n name: \"Show Toasts\",\n note: \"Shows a small notification for important information\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"appearance\",\n name: \"Appearance\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"voiceMode\",\n name: \"Voice Mode\",\n note: \"Hides everything that isn't voice chat\",\n value: false\n }, {\n type: \"switch\",\n id: \"minimalMode\",\n name: \"Minimal Mode\",\n note: \"Hide elements and reduce the size of elements\",\n value: false\n }, {\n type: \"switch\",\n id: \"hideChannels\",\n name: \"Hide Channels\",\n note: \"Hides channels when in minimal mode\",\n value: false,\n enableWith: \"minimalMode\"\n }, {\n type: \"switch\",\n id: \"darkMode\",\n name: \"Dark Mode\",\n note: \"Make certain elements dark by default\",\n value: true\n }, {\n type: \"switch\",\n id: \"coloredText\",\n name: \"Colored Text\",\n note: \"Make text colour the same as role color\",\n value: false\n }]\n}, {\n type: \"category\",\n id: \"content\",\n name: \"Content Manager\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"contentErrors\",\n name: \"Show Content Errors\",\n note: \"Shows a modal with plugin/theme errors\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoScroll\",\n name: \"Scroll To Settings\",\n note: \"Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoReload\",\n name: \"Automatic Loading\",\n note: \"Automatically loads, reloads, and unloads plugins and themes\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"developer\",\n name: \"Developer Settings\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"developerMode\",\n name: \"Developer Mode\",\n note: \"Allows activating debugger when pressing F8\",\n value: false\n }, {\n type: \"switch\",\n id: \"copySelector\",\n name: \"Copy Selector\",\n note: \"Adds a \\\"Copy Selector\\\" option to context menus when developer mode is active\",\n value: false,\n enableWith: \"developerMode\"\n }]\n}, {\n type: \"category\",\n id: \"window\",\n name: \"Window Preferences\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"transparency\",\n name: \"Enable Transparency\",\n note: \"Enables the main window to be see-through (requires restart)\",\n value: false\n }, {\n type: \"switch\",\n id: \"frame\",\n name: \"Window Frame\",\n note: \"Adds the native os window frame to the main window\",\n value: false,\n hidden: true\n }]\n}]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvc2V0dGluZ3MvY29uZmlnLmpzP2ZmOGUiXSwibmFtZXMiOlsidHlwZSIsImlkIiwibmFtZSIsImNvbGxhcHNpYmxlIiwic2V0dGluZ3MiLCJub3RlIiwidmFsdWUiLCJlbmFibGVXaXRoIiwic2hvd24iLCJoaWRkZW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQWUsZ0VBQ1g7QUFDSUEsTUFBSSxFQUFFLFVBRFY7QUFFSUMsSUFBRSxFQUFFLFNBRlI7QUFHSUMsTUFBSSxFQUFFLFNBSFY7QUFJSUMsYUFBVyxFQUFFLElBSmpCO0FBS0lDLFVBQVEsRUFBRSxDQUNOO0FBQ0lKLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxRQUZSO0FBR0lDLFFBQUksRUFBRSxjQUhWO0FBSUlHLFFBQUksRUFBRSwyQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQURNLEVBUU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGVBRlI7QUFHSUMsUUFBSSxFQUFFLGdCQUhWO0FBSUlHLFFBQUksRUFBRSwrQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQVJNLEVBZU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGlCQUZSO0FBR0lDLFFBQUksRUFBRSxrQkFIVjtBQUlJRyxRQUFJLEVBQUUsbURBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0FmTSxFQXNCTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsZ0JBRlI7QUFHSUMsUUFBSSxFQUFFLG9CQUhWO0FBSUlHLFFBQUksRUFBRSxxQ0FKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQXRCTSxFQTZCTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsaUJBRlI7QUFHSUMsUUFBSSxFQUFFLG1CQUhWO0FBSUlHLFFBQUksRUFBRSw4RkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQTdCTSxFQW9D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QUpqQjtBQUtJSyxPQUFLLEVBQUUsS0FMWDtBQU1JSixVQUFRLEVBQUUsQ0FDTjtBQUNJSixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsY0FGUjtBQUdJQyxRQUFJLEVBQUUscUJBSFY7QUFJSUcsUUFBSSxFQUFFLDhEQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBRE0sRUFRTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsT0FGUjtBQUdJQyxRQUFJLEVBQUUsY0FIVjtBQUlJRyxRQUFJLEVBQUUsb0RBSlY7QUFLSUMsU0FBSyxFQUFFLEtBTFg7QUFNSUcsVUFBTSxFQUFFO0FBTlosR0FSTTtBQU5kLENBcEpXLENBQWYiLCJmaWxlIjoiLi9zcmMvZGF0YS9zZXR0aW5ncy9jb25maWcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBbXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImdlbmVyYWxcIixcclxuICAgICAgICBuYW1lOiBcIkdlbmVyYWxcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiZW1vdGVzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkVtb3RlIFN5c3RlbVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJFbmFibGVzIEJEJ3MgZW1vdGUgc3lzdGVtXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwicHVibGljU2VydmVyc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJQdWJsaWMgU2VydmVyc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJEaXNwbGF5IHB1YmxpYyBzZXJ2ZXJzIGJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInZvaWNlRGlzY29ubmVjdFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJWb2ljZSBEaXNjb25uZWN0XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkRpc2Nvbm5lY3QgZnJvbSB2b2ljZSBzZXJ2ZXIgd2hlbiBjbG9zaW5nIERpc2NvcmRcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwidHdlbnR5Rm91ckhvdXJcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiMjQgSG91ciBUaW1lc3RhbXBzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGVzIGNoYW5uZWxzIHdoZW4gaW4gbWluaW1hbCBtb2RlXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjbGFzc05vcm1hbGl6ZXJcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiTm9ybWFsaXplIENsYXNzZXNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQWRkcyBzdGFibGUgY2xhc3NlcyB0byBlbGVtZW50cyB0byBoZWxwIHRoZW1lcy4gKGUuZy4gYWRkcyAuZGEtY2hhbm5lbHMgdG8gLmNoYW5uZWxzLUllMmw2QSlcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJzaG93VG9hc3RzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNob3cgVG9hc3RzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIlNob3dzIGEgc21hbGwgbm90aWZpY2F0aW9uIGZvciBpbXBvcnRhbnQgaW5mb3JtYXRpb25cIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHR5cGU6IFwiY2F0ZWdvcnlcIixcclxuICAgICAgICBpZDogXCJhcHBlYXJhbmNlXCIsXHJcbiAgICAgICAgbmFtZTogXCJBcHBlYXJhbmNlXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2V0dGluZ3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInZvaWNlTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJWb2ljZSBNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGVzIGV2ZXJ5dGhpbmcgdGhhdCBpc24ndCB2b2ljZSBjaGF0XCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcIm1pbmltYWxNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIk1pbmltYWwgTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJIaWRlIGVsZW1lbnRzIGFuZCByZWR1Y2UgdGhlIHNpemUgb2YgZWxlbWVudHNcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiaGlkZUNoYW5uZWxzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkhpZGUgQ2hhbm5lbHNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiSGlkZXMgY2hhbm5lbHMgd2hlbiBpbiBtaW5pbWFsIG1vZGVcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGVuYWJsZVdpdGg6IFwibWluaW1hbE1vZGVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiZGFya01vZGVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRGFyayBNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIk1ha2UgY2VydGFpbiBlbGVtZW50cyBkYXJrIGJ5IGRlZmF1bHRcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjb2xvcmVkVGV4dFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJDb2xvcmVkIFRleHRcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiTWFrZSB0ZXh0IGNvbG91ciB0aGUgc2FtZSBhcyByb2xlIGNvbG9yXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImNvbnRlbnRcIixcclxuICAgICAgICBuYW1lOiBcIkNvbnRlbnQgTWFuYWdlclwiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjb250ZW50RXJyb3JzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNob3cgQ29udGVudCBFcnJvcnNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiU2hvd3MgYSBtb2RhbCB3aXRoIHBsdWdpbi90aGVtZSBlcnJvcnNcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJhdXRvU2Nyb2xsXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlNjcm9sbCBUbyBTZXR0aW5nc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJBdXRvLXNjcm9sbHMgdG8gYSBwbHVnaW4ncyBzZXR0aW5ncyB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZCAob25seSBpZiBvdXQgb2YgdmlldylcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJhdXRvUmVsb2FkXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkF1dG9tYXRpYyBMb2FkaW5nXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkF1dG9tYXRpY2FsbHkgbG9hZHMsIHJlbG9hZHMsIGFuZCB1bmxvYWRzIHBsdWdpbnMgYW5kIHRoZW1lc1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImRldmVsb3BlclwiLFxyXG4gICAgICAgIG5hbWU6IFwiRGV2ZWxvcGVyIFNldHRpbmdzXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2hvd246IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJkZXZlbG9wZXJNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkRldmVsb3BlciBNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkFsbG93cyBhY3RpdmF0aW5nIGRlYnVnZ2VyIHdoZW4gcHJlc3NpbmcgRjhcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiY29weVNlbGVjdG9yXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkNvcHkgU2VsZWN0b3JcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQWRkcyBhIFxcXCJDb3B5IFNlbGVjdG9yXFxcIiBvcHRpb24gdG8gY29udGV4dCBtZW51cyB3aGVuIGRldmVsb3BlciBtb2RlIGlzIGFjdGl2ZVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZW5hYmxlV2l0aDogXCJkZXZlbG9wZXJNb2RlXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcIndpbmRvd1wiLFxyXG4gICAgICAgIG5hbWU6IFwiV2luZG93IFByZWZlcmVuY2VzXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2hvd246IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJ0cmFuc3BhcmVuY3lcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRW5hYmxlIFRyYW5zcGFyZW5jeVwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJFbmFibGVzIHRoZSBtYWluIHdpbmRvdyB0byBiZSBzZWUtdGhyb3VnaCAocmVxdWlyZXMgcmVzdGFydClcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiZnJhbWVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiV2luZG93IEZyYW1lXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkFkZHMgdGhlIG5hdGl2ZSBvcyB3aW5kb3cgZnJhbWUgdG8gdGhlIG1haW4gd2luZG93XCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBoaWRkZW46IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH1cclxuXTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/settings/config.js\n"); /***/ }), /***/ "./src/data/settings/state.js": /*!************************************!*\ !*** ./src/data/settings/state.js ***! \************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvc2V0dGluZ3Mvc3RhdGUuanM/NGUxNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFlLGlFQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvc2V0dGluZ3Mvc3RhdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7fTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/settings/state.js\n"); /***/ }), /***/ "./src/data/state.js": /*!***************************!*\ !*** ./src/data/state.js ***! \***************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n emotesLoaded: false\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvc3RhdGUuanM/NGJlYiJdLCJuYW1lcyI6WyJlbW90ZXNMb2FkZWQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQWU7QUFDWEEsY0FBWSxFQUFFO0FBREgsQ0FBZiIsImZpbGUiOiIuL3NyYy9kYXRhL3N0YXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgZW1vdGVzTG9hZGVkOiBmYWxzZVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/data/state.js\n"); /***/ }), /***/ "./src/index.js": /*!**********************!*\ !*** ./src/index.js ***! \**********************/ /*! exports provided: default, patchModuleLoad */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CoreWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"patchModuleLoad\", function() { return patchModuleLoad; });\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _localstorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./localstorage */ \"./src/localstorage.js\");\n/* harmony import */ var _modules_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/core */ \"./src/modules/core.js\");\n/* harmony import */ var _modules_pluginapi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony import */ var _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony import */ var _modules_thememanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/thememanager */ \"./src/modules/thememanager.js\");\n/* harmony import */ var _modules_oldstorage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/oldstorage */ \"./src/modules/oldstorage.js\");\n/* harmony import */ var _modules_emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var _modules_datastore__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _builtins_emotes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./builtins/emotes */ \"./src/builtins/emotes.js\");\n\n\n\n\n\n\n\n\n\n\n // Perform some setup\n\nObject(_localstorage__WEBPACK_IMPORTED_MODULE_1__[\"default\"])();\nconst loadingIcon = document.createElement(\"div\");\nloadingIcon.className = \"bd-loaderv2\";\nloadingIcon.title = \"BandagedBD is loading...\";\ndocument.body.appendChild(loadingIcon); // window.Core = Core;\n\nwindow.BdApi = _modules_pluginapi__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; // window.settings = SettingsInfo;\n// window.settingsCookie = SettingsCookie;\n// window.pluginCookie = PluginCookie;\n// window.themeCookie = ThemeCookie;\n\nwindow.pluginModule = _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\nwindow.themeModule = _modules_thememanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; // window.bdthemes = Themes;\n// window.bdplugins = Plugins;\n\nwindow.bdEmotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_10__[\"default\"].Emotes;\nwindow.bemotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_10__[\"default\"].blacklist;\nwindow.bdPluginStorage = _modules_oldstorage__WEBPACK_IMPORTED_MODULE_6__[\"bdPluginStorage\"];\nwindow.settingsModule = _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\nwindow.DataStore = _modules_datastore__WEBPACK_IMPORTED_MODULE_9__[\"default\"];\nwindow.BDEvents = _modules_emitter__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nwindow.bdConfig = data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"];\nclass CoreWrapper {\n constructor(config) {\n _modules_core__WEBPACK_IMPORTED_MODULE_2__[\"default\"].setConfig(config);\n }\n\n init() {\n _modules_core__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init();\n }\n\n}\nfunction patchModuleLoad() {\n const namespace = \"betterdiscord\";\n const prefix = `${namespace}/`;\n\n const Module = __webpack_require__(/*! module */ \"module\");\n\n const load = Module._load; // const resolveFilename = Module._resolveFilename;\n\n Module._load = function (request) {\n if (request === namespace || request.startsWith(prefix)) {\n const requested = request.substr(prefix.length);\n if (requested == \"api\") return _modules_pluginapi__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n }\n\n return load.apply(this, arguments);\n }; // Module._resolveFilename = function (request, parent, isMain) {\n // if (request === \"betterdiscord\" || request.startsWith(\"betterdiscord/\")) {\n // const contentPath = PluginManager.getPluginPathByModule(parent);\n // if (contentPath) return request;\n // }\n // return resolveFilename.apply(this, arguments);\n // };\n\n\n return function () {\n Module._load = load;\n };\n} // export function getPluginByModule(module) {\n// return this.localContent.find(plugin => module.filename === plugin.contentPath || module.filename.startsWith(plugin.contentPath + path.sep));\n// }\n// export function getPluginPathByModule(module) {\n// return Object.keys(this.pluginApiInstances).find(contentPath => module.filename === contentPath || module.filename.startsWith(contentPath + path.sep));\n// }\n// var settingsPanel, emoteModule, quickEmoteMenu, voiceMode,, dMode, publicServersModule;\n// var bdConfig = null;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2luZGV4LmpzP2I2MzUiXSwibmFtZXMiOlsicHJveHlMb2NhbFN0b3JhZ2UiLCJsb2FkaW5nSWNvbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInRpdGxlIiwiYm9keSIsImFwcGVuZENoaWxkIiwid2luZG93IiwiQmRBcGkiLCJwbHVnaW5Nb2R1bGUiLCJQbHVnaW5NYW5hZ2VyIiwidGhlbWVNb2R1bGUiLCJUaGVtZU1hbmFnZXIiLCJiZEVtb3RlcyIsIkVtb3RlTW9kdWxlIiwiRW1vdGVzIiwiYmVtb3RlcyIsImJsYWNrbGlzdCIsImJkUGx1Z2luU3RvcmFnZSIsInNldHRpbmdzTW9kdWxlIiwiU2V0dGluZ3MiLCJEYXRhU3RvcmUiLCJCREV2ZW50cyIsIkV2ZW50cyIsImJkQ29uZmlnIiwiQ29uZmlnIiwiQ29yZVdyYXBwZXIiLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsIkNvcmUiLCJzZXRDb25maWciLCJpbml0IiwicGF0Y2hNb2R1bGVMb2FkIiwibmFtZXNwYWNlIiwicHJlZml4IiwiTW9kdWxlIiwicmVxdWlyZSIsImxvYWQiLCJfbG9hZCIsInJlcXVlc3QiLCJzdGFydHNXaXRoIiwicmVxdWVzdGVkIiwic3Vic3RyIiwibGVuZ3RoIiwiYXBwbHkiLCJhcmd1bWVudHMiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtDQUdBOztBQUNBQSw2REFBaUI7QUFDakIsTUFBTUMsV0FBVyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBcEI7QUFDQUYsV0FBVyxDQUFDRyxTQUFaLEdBQXdCLGFBQXhCO0FBQ0FILFdBQVcsQ0FBQ0ksS0FBWixHQUFvQiwwQkFBcEI7QUFDQUgsUUFBUSxDQUFDSSxJQUFULENBQWNDLFdBQWQsQ0FBMEJOLFdBQTFCLEUsQ0FFQTs7QUFDQU8sTUFBTSxDQUFDQyxLQUFQLEdBQWVBLDBEQUFmLEMsQ0FDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQUQsTUFBTSxDQUFDRSxZQUFQLEdBQXNCQyw4REFBdEI7QUFDQUgsTUFBTSxDQUFDSSxXQUFQLEdBQXFCQyw2REFBckIsQyxDQUNBO0FBQ0E7O0FBQ0FMLE1BQU0sQ0FBQ00sUUFBUCxHQUFrQkMseURBQVcsQ0FBQ0MsTUFBOUI7QUFDQVIsTUFBTSxDQUFDUyxPQUFQLEdBQWlCRix5REFBVyxDQUFDRyxTQUE3QjtBQUNBVixNQUFNLENBQUNXLGVBQVAsR0FBeUJBLG1FQUF6QjtBQUNBWCxNQUFNLENBQUNZLGNBQVAsR0FBd0JDLGdFQUF4QjtBQUNBYixNQUFNLENBQUNjLFNBQVAsR0FBbUJBLDBEQUFuQjtBQUdBZCxNQUFNLENBQUNlLFFBQVAsR0FBa0JDLHdEQUFsQjtBQUNBaEIsTUFBTSxDQUFDaUIsUUFBUCxHQUFrQkMsMkNBQWxCO0FBRWUsTUFBTUMsV0FBTixDQUFrQjtBQUM3QkMsYUFBVyxDQUFDQyxNQUFELEVBQVM7QUFDaEJDLHlEQUFJLENBQUNDLFNBQUwsQ0FBZUYsTUFBZjtBQUNIOztBQUVERyxNQUFJLEdBQUc7QUFDSEYseURBQUksQ0FBQ0UsSUFBTDtBQUNIOztBQVA0QjtBQVUxQixTQUFTQyxlQUFULEdBQTJCO0FBQzlCLFFBQU1DLFNBQVMsR0FBRyxlQUFsQjtBQUNBLFFBQU1DLE1BQU0sR0FBSSxHQUFFRCxTQUFVLEdBQTVCOztBQUNBLFFBQU1FLE1BQU0sR0FBR0MsbUJBQU8sQ0FBQyxzQkFBRCxDQUF0Qjs7QUFDQSxRQUFNQyxJQUFJLEdBQUdGLE1BQU0sQ0FBQ0csS0FBcEIsQ0FKOEIsQ0FLOUI7O0FBRUFILFFBQU0sQ0FBQ0csS0FBUCxHQUFlLFVBQVVDLE9BQVYsRUFBbUI7QUFDOUIsUUFBSUEsT0FBTyxLQUFLTixTQUFaLElBQXlCTSxPQUFPLENBQUNDLFVBQVIsQ0FBbUJOLE1BQW5CLENBQTdCLEVBQXlEO0FBQ3JELFlBQU1PLFNBQVMsR0FBR0YsT0FBTyxDQUFDRyxNQUFSLENBQWVSLE1BQU0sQ0FBQ1MsTUFBdEIsQ0FBbEI7QUFDQSxVQUFJRixTQUFTLElBQUksS0FBakIsRUFBd0IsT0FBT2pDLDBEQUFQO0FBQzNCOztBQUVELFdBQU82QixJQUFJLENBQUNPLEtBQUwsQ0FBVyxJQUFYLEVBQWlCQyxTQUFqQixDQUFQO0FBQ0gsR0FQRCxDQVA4QixDQWdCOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7OztBQUVBLFNBQU8sWUFBVztBQUNkVixVQUFNLENBQUNHLEtBQVAsR0FBZUQsSUFBZjtBQUNILEdBRkQ7QUFHSCxDLENBRUQ7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQgcHJveHlMb2NhbFN0b3JhZ2UgZnJvbSBcIi4vbG9jYWxzdG9yYWdlXCI7XHJcbmltcG9ydCBDb3JlIGZyb20gXCIuL21vZHVsZXMvY29yZVwiO1xyXG5pbXBvcnQgQmRBcGkgZnJvbSBcIi4vbW9kdWxlcy9wbHVnaW5hcGlcIjtcclxuaW1wb3J0IFBsdWdpbk1hbmFnZXIgZnJvbSBcIi4vbW9kdWxlcy9wbHVnaW5tYW5hZ2VyXCI7XHJcbmltcG9ydCBUaGVtZU1hbmFnZXIgZnJvbSBcIi4vbW9kdWxlcy90aGVtZW1hbmFnZXJcIjtcclxuaW1wb3J0IHtiZFBsdWdpblN0b3JhZ2V9IGZyb20gXCIuL21vZHVsZXMvb2xkc3RvcmFnZVwiO1xyXG5pbXBvcnQgRXZlbnRzIGZyb20gXCIuL21vZHVsZXMvZW1pdHRlclwiO1xyXG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vbW9kdWxlcy9zZXR0aW5nc21hbmFnZXJcIjtcclxuaW1wb3J0IERhdGFTdG9yZSBmcm9tIFwiLi9tb2R1bGVzL2RhdGFzdG9yZVwiO1xyXG5pbXBvcnQgRW1vdGVNb2R1bGUgZnJvbSBcIi4vYnVpbHRpbnMvZW1vdGVzXCI7XHJcblxyXG4vLyBQZXJmb3JtIHNvbWUgc2V0dXBcclxucHJveHlMb2NhbFN0b3JhZ2UoKTtcclxuY29uc3QgbG9hZGluZ0ljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG5sb2FkaW5nSWNvbi5jbGFzc05hbWUgPSBcImJkLWxvYWRlcnYyXCI7XHJcbmxvYWRpbmdJY29uLnRpdGxlID0gXCJCYW5kYWdlZEJEIGlzIGxvYWRpbmcuLi5cIjtcclxuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsb2FkaW5nSWNvbik7XHJcblxyXG4vLyB3aW5kb3cuQ29yZSA9IENvcmU7XHJcbndpbmRvdy5CZEFwaSA9IEJkQXBpO1xyXG4vLyB3aW5kb3cuc2V0dGluZ3MgPSBTZXR0aW5nc0luZm87XHJcbi8vIHdpbmRvdy5zZXR0aW5nc0Nvb2tpZSA9IFNldHRpbmdzQ29va2llO1xyXG4vLyB3aW5kb3cucGx1Z2luQ29va2llID0gUGx1Z2luQ29va2llO1xyXG4vLyB3aW5kb3cudGhlbWVDb29raWUgPSBUaGVtZUNvb2tpZTtcclxud2luZG93LnBsdWdpbk1vZHVsZSA9IFBsdWdpbk1hbmFnZXI7XHJcbndpbmRvdy50aGVtZU1vZHVsZSA9IFRoZW1lTWFuYWdlcjtcclxuLy8gd2luZG93LmJkdGhlbWVzID0gVGhlbWVzO1xyXG4vLyB3aW5kb3cuYmRwbHVnaW5zID0gUGx1Z2lucztcclxud2luZG93LmJkRW1vdGVzID0gRW1vdGVNb2R1bGUuRW1vdGVzO1xyXG53aW5kb3cuYmVtb3RlcyA9IEVtb3RlTW9kdWxlLmJsYWNrbGlzdDtcclxud2luZG93LmJkUGx1Z2luU3RvcmFnZSA9IGJkUGx1Z2luU3RvcmFnZTtcclxud2luZG93LnNldHRpbmdzTW9kdWxlID0gU2V0dGluZ3M7XHJcbndpbmRvdy5EYXRhU3RvcmUgPSBEYXRhU3RvcmU7XHJcblxyXG5cclxud2luZG93LkJERXZlbnRzID0gRXZlbnRzO1xyXG53aW5kb3cuYmRDb25maWcgPSBDb25maWc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb3JlV3JhcHBlciB7XHJcbiAgICBjb25zdHJ1Y3Rvcihjb25maWcpIHtcclxuICAgICAgICBDb3JlLnNldENvbmZpZyhjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgQ29yZS5pbml0KCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaE1vZHVsZUxvYWQoKSB7XHJcbiAgICBjb25zdCBuYW1lc3BhY2UgPSBcImJldHRlcmRpc2NvcmRcIjtcclxuICAgIGNvbnN0IHByZWZpeCA9IGAke25hbWVzcGFjZX0vYDtcclxuICAgIGNvbnN0IE1vZHVsZSA9IHJlcXVpcmUoXCJtb2R1bGVcIik7XHJcbiAgICBjb25zdCBsb2FkID0gTW9kdWxlLl9sb2FkO1xyXG4gICAgLy8gY29uc3QgcmVzb2x2ZUZpbGVuYW1lID0gTW9kdWxlLl9yZXNvbHZlRmlsZW5hbWU7XHJcblxyXG4gICAgTW9kdWxlLl9sb2FkID0gZnVuY3Rpb24gKHJlcXVlc3QpIHtcclxuICAgICAgICBpZiAocmVxdWVzdCA9PT0gbmFtZXNwYWNlIHx8IHJlcXVlc3Quc3RhcnRzV2l0aChwcmVmaXgpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RlZCA9IHJlcXVlc3Quc3Vic3RyKHByZWZpeC5sZW5ndGgpO1xyXG4gICAgICAgICAgICBpZiAocmVxdWVzdGVkID09IFwiYXBpXCIpIHJldHVybiBCZEFwaTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBsb2FkLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIE1vZHVsZS5fcmVzb2x2ZUZpbGVuYW1lID0gZnVuY3Rpb24gKHJlcXVlc3QsIHBhcmVudCwgaXNNYWluKSB7XHJcbiAgICAvLyAgICAgaWYgKHJlcXVlc3QgPT09IFwiYmV0dGVyZGlzY29yZFwiIHx8IHJlcXVlc3Quc3RhcnRzV2l0aChcImJldHRlcmRpc2NvcmQvXCIpKSB7XHJcbiAgICAvLyAgICAgICAgIGNvbnN0IGNvbnRlbnRQYXRoID0gUGx1Z2luTWFuYWdlci5nZXRQbHVnaW5QYXRoQnlNb2R1bGUocGFyZW50KTtcclxuICAgIC8vICAgICAgICAgaWYgKGNvbnRlbnRQYXRoKSByZXR1cm4gcmVxdWVzdDtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIHJldHVybiByZXNvbHZlRmlsZW5hbWUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgIC8vIH07XHJcblxyXG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIE1vZHVsZS5fbG9hZCA9IGxvYWQ7XHJcbiAgICB9O1xyXG59XHJcblxyXG4vLyBleHBvcnQgZnVuY3Rpb24gZ2V0UGx1Z2luQnlNb2R1bGUobW9kdWxlKSB7XHJcbi8vICAgICByZXR1cm4gdGhpcy5sb2NhbENvbnRlbnQuZmluZChwbHVnaW4gPT4gbW9kdWxlLmZpbGVuYW1lID09PSBwbHVnaW4uY29udGVudFBhdGggfHwgbW9kdWxlLmZpbGVuYW1lLnN0YXJ0c1dpdGgocGx1Z2luLmNvbnRlbnRQYXRoICsgcGF0aC5zZXApKTtcclxuLy8gfVxyXG5cclxuLy8gZXhwb3J0IGZ1bmN0aW9uIGdldFBsdWdpblBhdGhCeU1vZHVsZShtb2R1bGUpIHtcclxuLy8gICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnBsdWdpbkFwaUluc3RhbmNlcykuZmluZChjb250ZW50UGF0aCA9PiBtb2R1bGUuZmlsZW5hbWUgPT09IGNvbnRlbnRQYXRoIHx8IG1vZHVsZS5maWxlbmFtZS5zdGFydHNXaXRoKGNvbnRlbnRQYXRoICsgcGF0aC5zZXApKTtcclxuLy8gfVxyXG5cclxuLy8gdmFyIHNldHRpbmdzUGFuZWwsIGVtb3RlTW9kdWxlLCBxdWlja0Vtb3RlTWVudSwgdm9pY2VNb2RlLCwgZE1vZGUsIHB1YmxpY1NlcnZlcnNNb2R1bGU7XHJcbi8vIHZhciBiZENvbmZpZyA9IG51bGw7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/index.js\n"); /***/ }), /***/ "./src/localstorage.js": /*!*****************************!*\ !*** ./src/localstorage.js ***! \*****************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* Localstorage fix */\n/* harmony default export */ __webpack_exports__[\"default\"] = (function () {\n const fs = __webpack_require__(/*! fs */ \"fs\");\n\n const platform = process.platform;\n const dataPath = (platform === \"win32\" ? process.env.APPDATA : platform === \"darwin\" ? process.env.HOME + \"/Library/Preferences\" : process.env.HOME + \"/.config\") + \"/BetterDiscord/\";\n const localStorageFile = \"localStorage.json\";\n let data = {};\n\n if (fs.existsSync(`${dataPath}${localStorageFile}`)) {\n try {\n data = JSON.parse(fs.readFileSync(`${dataPath}${localStorageFile}`));\n } catch (err) {\n console.log(err);\n }\n } else if (fs.existsSync(localStorageFile)) {\n try {\n data = JSON.parse(fs.readFileSync(localStorageFile));\n } catch (err) {\n console.log(err);\n }\n }\n\n const storage = data;\n\n storage.setItem = function (i, v) {\n storage[i] = v;\n this.save();\n };\n\n storage.getItem = function (i) {\n return storage[i] || null;\n };\n\n storage.save = function () {\n fs.writeFileSync(`${dataPath}${localStorageFile}`, JSON.stringify(this), null, 4);\n };\n\n const lsProxy = new Proxy(storage, {\n set: function (target, name, val) {\n storage[name] = val;\n storage.save();\n },\n get: function (target, name) {\n return storage[name] || null;\n }\n });\n window.localStorage = lsProxy;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2xvY2Fsc3RvcmFnZS5qcz81OTFlIl0sIm5hbWVzIjpbImZzIiwicmVxdWlyZSIsInBsYXRmb3JtIiwicHJvY2VzcyIsImRhdGFQYXRoIiwiZW52IiwiQVBQREFUQSIsIkhPTUUiLCJsb2NhbFN0b3JhZ2VGaWxlIiwiZGF0YSIsImV4aXN0c1N5bmMiLCJKU09OIiwicGFyc2UiLCJyZWFkRmlsZVN5bmMiLCJlcnIiLCJjb25zb2xlIiwibG9nIiwic3RvcmFnZSIsInNldEl0ZW0iLCJpIiwidiIsInNhdmUiLCJnZXRJdGVtIiwid3JpdGVGaWxlU3luYyIsInN0cmluZ2lmeSIsImxzUHJveHkiLCJQcm94eSIsInNldCIsInRhcmdldCIsIm5hbWUiLCJ2YWwiLCJnZXQiLCJ3aW5kb3ciLCJsb2NhbFN0b3JhZ2UiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDZSwyRUFBVztBQUV0QixRQUFNQSxFQUFFLEdBQUdDLG1CQUFPLENBQUMsY0FBRCxDQUFsQjs7QUFDQSxRQUFNQyxRQUFRLEdBQUdDLE9BQU8sQ0FBQ0QsUUFBekI7QUFDQSxRQUFNRSxRQUFRLEdBQUcsQ0FBQ0YsUUFBUSxLQUFLLE9BQWIsR0FBdUJDLE9BQU8sQ0FBQ0UsR0FBUixDQUFZQyxPQUFuQyxHQUE2Q0osUUFBUSxLQUFLLFFBQWIsR0FBd0JDLE9BQU8sQ0FBQ0UsR0FBUixDQUFZRSxJQUFaLEdBQW1CLHNCQUEzQyxHQUFvRUosT0FBTyxDQUFDRSxHQUFSLENBQVlFLElBQVosR0FBbUIsVUFBckksSUFBbUosaUJBQXBLO0FBQ0EsUUFBTUMsZ0JBQWdCLEdBQUcsbUJBQXpCO0FBRUEsTUFBSUMsSUFBSSxHQUFHLEVBQVg7O0FBQ0EsTUFBSVQsRUFBRSxDQUFDVSxVQUFILENBQWUsR0FBRU4sUUFBUyxHQUFFSSxnQkFBaUIsRUFBN0MsQ0FBSixFQUFxRDtBQUNqRCxRQUFJO0FBQ0FDLFVBQUksR0FBR0UsSUFBSSxDQUFDQyxLQUFMLENBQVdaLEVBQUUsQ0FBQ2EsWUFBSCxDQUFpQixHQUFFVCxRQUFTLEdBQUVJLGdCQUFpQixFQUEvQyxDQUFYLENBQVA7QUFDSCxLQUZELENBR0EsT0FBT00sR0FBUCxFQUFZO0FBQ1JDLGFBQU8sQ0FBQ0MsR0FBUixDQUFZRixHQUFaO0FBQ0g7QUFDSixHQVBELE1BUUssSUFBSWQsRUFBRSxDQUFDVSxVQUFILENBQWNGLGdCQUFkLENBQUosRUFBcUM7QUFDdEMsUUFBSTtBQUNBQyxVQUFJLEdBQUdFLElBQUksQ0FBQ0MsS0FBTCxDQUFXWixFQUFFLENBQUNhLFlBQUgsQ0FBZ0JMLGdCQUFoQixDQUFYLENBQVA7QUFDSCxLQUZELENBR0EsT0FBT00sR0FBUCxFQUFZO0FBQ1JDLGFBQU8sQ0FBQ0MsR0FBUixDQUFZRixHQUFaO0FBQ0g7QUFDSjs7QUFFRCxRQUFNRyxPQUFPLEdBQUdSLElBQWhCOztBQUNBUSxTQUFPLENBQUNDLE9BQVIsR0FBa0IsVUFBU0MsQ0FBVCxFQUFZQyxDQUFaLEVBQWU7QUFDN0JILFdBQU8sQ0FBQ0UsQ0FBRCxDQUFQLEdBQWFDLENBQWI7QUFDQSxTQUFLQyxJQUFMO0FBQ0gsR0FIRDs7QUFJQUosU0FBTyxDQUFDSyxPQUFSLEdBQWtCLFVBQVNILENBQVQsRUFBWTtBQUMxQixXQUFPRixPQUFPLENBQUNFLENBQUQsQ0FBUCxJQUFjLElBQXJCO0FBQ0gsR0FGRDs7QUFHQUYsU0FBTyxDQUFDSSxJQUFSLEdBQWUsWUFBVztBQUN0QnJCLE1BQUUsQ0FBQ3VCLGFBQUgsQ0FBa0IsR0FBRW5CLFFBQVMsR0FBRUksZ0JBQWlCLEVBQWhELEVBQW1ERyxJQUFJLENBQUNhLFNBQUwsQ0FBZSxJQUFmLENBQW5ELEVBQXlFLElBQXpFLEVBQStFLENBQS9FO0FBQ0gsR0FGRDs7QUFJQSxRQUFNQyxPQUFPLEdBQUcsSUFBSUMsS0FBSixDQUFVVCxPQUFWLEVBQW1CO0FBQy9CVSxPQUFHLEVBQUUsVUFBU0MsTUFBVCxFQUFpQkMsSUFBakIsRUFBdUJDLEdBQXZCLEVBQTRCO0FBQzdCYixhQUFPLENBQUNZLElBQUQsQ0FBUCxHQUFnQkMsR0FBaEI7QUFDQWIsYUFBTyxDQUFDSSxJQUFSO0FBQ0gsS0FKOEI7QUFLL0JVLE9BQUcsRUFBRSxVQUFTSCxNQUFULEVBQWlCQyxJQUFqQixFQUF1QjtBQUN4QixhQUFPWixPQUFPLENBQUNZLElBQUQsQ0FBUCxJQUFpQixJQUF4QjtBQUNIO0FBUDhCLEdBQW5CLENBQWhCO0FBVUFHLFFBQU0sQ0FBQ0MsWUFBUCxHQUFzQlIsT0FBdEI7QUFFSCxDIiwiZmlsZSI6Ii4vc3JjL2xvY2Fsc3RvcmFnZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIExvY2Fsc3RvcmFnZSBmaXggKi9cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oKSB7XHJcblxyXG4gICAgY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcbiAgICBjb25zdCBwbGF0Zm9ybSA9IHByb2Nlc3MucGxhdGZvcm07XHJcbiAgICBjb25zdCBkYXRhUGF0aCA9IChwbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiID8gcHJvY2Vzcy5lbnYuQVBQREFUQSA6IHBsYXRmb3JtID09PSBcImRhcndpblwiID8gcHJvY2Vzcy5lbnYuSE9NRSArIFwiL0xpYnJhcnkvUHJlZmVyZW5jZXNcIiA6IHByb2Nlc3MuZW52LkhPTUUgKyBcIi8uY29uZmlnXCIpICsgXCIvQmV0dGVyRGlzY29yZC9cIjtcclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZUZpbGUgPSBcImxvY2FsU3RvcmFnZS5qc29uXCI7XHJcblxyXG4gICAgbGV0IGRhdGEgPSB7fTtcclxuICAgIGlmIChmcy5leGlzdHNTeW5jKGAke2RhdGFQYXRofSR7bG9jYWxTdG9yYWdlRmlsZX1gKSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhgJHtkYXRhUGF0aH0ke2xvY2FsU3RvcmFnZUZpbGV9YCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZnMuZXhpc3RzU3luYyhsb2NhbFN0b3JhZ2VGaWxlKSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhsb2NhbFN0b3JhZ2VGaWxlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3RvcmFnZSA9IGRhdGE7XHJcbiAgICBzdG9yYWdlLnNldEl0ZW0gPSBmdW5jdGlvbihpLCB2KSB7XHJcbiAgICAgICAgc3RvcmFnZVtpXSA9IHY7XHJcbiAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICB9O1xyXG4gICAgc3RvcmFnZS5nZXRJdGVtID0gZnVuY3Rpb24oaSkge1xyXG4gICAgICAgIHJldHVybiBzdG9yYWdlW2ldIHx8IG51bGw7XHJcbiAgICB9O1xyXG4gICAgc3RvcmFnZS5zYXZlID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhgJHtkYXRhUGF0aH0ke2xvY2FsU3RvcmFnZUZpbGV9YCwgSlNPTi5zdHJpbmdpZnkodGhpcyksIG51bGwsIDQpO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBsc1Byb3h5ID0gbmV3IFByb3h5KHN0b3JhZ2UsIHtcclxuICAgICAgICBzZXQ6IGZ1bmN0aW9uKHRhcmdldCwgbmFtZSwgdmFsKSB7XHJcbiAgICAgICAgICAgIHN0b3JhZ2VbbmFtZV0gPSB2YWw7XHJcbiAgICAgICAgICAgIHN0b3JhZ2Uuc2F2ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZ2V0OiBmdW5jdGlvbih0YXJnZXQsIG5hbWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHN0b3JhZ2VbbmFtZV0gfHwgbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlID0gbHNQcm94eTtcclxuXHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/localstorage.js\n"); /***/ }), /***/ "./src/modules/bdv2.js": /*!*****************************!*\ !*** ./src/modules/bdv2.js ***! \*****************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony import */ var _pluginapi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony import */ var _ui_icons_bdlogo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/icons/bdlogo */ \"./src/ui/icons/bdlogo.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class V2 {\n constructor() {\n this.editorDetached = false;\n }\n\n initialize() {\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchSocial.bind(this), \"BD Social Patch\")();\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchGuildPills.bind(this), \"BD Guild Pills Patch\")();\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchGuildListItems.bind(this), \"BD Guild List Items Patch\")();\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchGuildSeparator.bind(this), \"BD Guild Separator Patch\")();\n }\n\n get messageClasses() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"message\", \"containerCozy\");\n }\n\n get guildClasses() {\n const guildsWrapper = _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"wrapper\", \"unreadMentionsBar\");\n const guilds = _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"guildsError\", \"selected\");\n const pill = _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"blobContainer\");\n return Object.assign({}, guildsWrapper, guilds, pill);\n }\n\n get MessageContentComponent() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getModule(m => m.defaultProps && m.defaultProps.hasOwnProperty(\"disableButtons\"));\n }\n\n get TimeFormatter() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"dateFormat\");\n }\n\n get TooltipWrapper() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByDisplayName(\"TooltipDeprecated\");\n }\n\n get NativeModule() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"setBadge\");\n }\n\n get Tooltips() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getModule(m => m.hide && m.show && !m.search && !m.submit && !m.search && !m.activateRagingDemon && !m.dismiss);\n }\n\n get KeyGenerator() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getModule(m => m.toString && /\"binary\"/.test(m.toString()));\n }\n\n patchSocial() {\n if (this.socialPatch) return;\n const TabBar = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModule(m => m.displayName == \"TabBar\");\n const Anchor = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModule(m => m.displayName == \"Anchor\");\n if (!TabBar || !Anchor) return;\n this.socialPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(TabBar.prototype, \"render\", {\n after: data => {\n const children = data.returnValue.props.children;\n if (!children || !children.length) return;\n if (children[children.length - 2].type.displayName !== \"Separator\") return;\n if (!children[children.length - 1].type.toString().includes(\"socialLinks\")) return;\n const original = children[children.length - 1].type;\n\n const newOne = function () {\n const returnVal = original(...arguments);\n returnVal.props.children.push(_pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].React.createElement(Anchor, {\n className: \"bd-social-link\",\n href: \"https://github.com/rauenzi/BetterDiscordApp\",\n rel: \"author\",\n title: \"BandagedBD\",\n target: \"_blank\"\n }, _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].React.createElement(_ui_icons_bdlogo__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n size: \"16px\",\n className: \"bd-social-logo\"\n })));\n return returnVal;\n };\n\n children[children.length - 1].type = newOne;\n }\n });\n }\n\n patchGuildListItems() {\n if (this.guildListItemsPatch) return;\n const listItemClass = this.guildClasses.listItem.split(\" \")[0];\n const blobClass = this.guildClasses.blobContainer.split(\" \")[0];\n const reactInstance = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getInternalInstance(document.querySelector(`.${listItemClass} .${blobClass}`).parentElement);\n const GuildComponent = reactInstance.return.type;\n if (!GuildComponent) return;\n this.guildListItemsPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(GuildComponent.prototype, \"render\", {\n after: data => {\n const returnValue = data.returnValue;\n const guildData = data.thisObject.props;\n returnValue.props.className += \" bd-guild\";\n if (guildData.unread) returnValue.props.className += \" bd-unread\";\n if (guildData.selected) returnValue.props.className += \" bd-selected\";\n if (guildData.audio) returnValue.props.className += \" bd-audio\";\n if (guildData.video) returnValue.props.className += \" bd-video\";\n if (guildData.badge) returnValue.props.className += \" bd-badge\";\n if (guildData.animatable) returnValue.props.className += \" bd-animatable\";\n return returnValue;\n }\n });\n }\n\n patchGuildPills() {\n if (this.guildPillPatch) return;\n const guildPill = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModule(m => m.default && m.default.toString && m.default.toString().includes(\"translate3d\"));\n if (!guildPill) return;\n this.guildPillPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(guildPill, \"default\", {\n after: data => {\n const props = data.methodArguments[0];\n if (props.unread) data.returnValue.props.className += \" bd-unread\";\n if (props.selected) data.returnValue.props.className += \" bd-selected\";\n if (props.hovered) data.returnValue.props.className += \" bd-hovered\";\n return data.returnValue;\n }\n });\n }\n\n patchGuildSeparator() {\n if (this.guildSeparatorPatch) return;\n const Guilds = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModuleByDisplayName(\"Guilds\");\n const guildComponents = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModuleByProps(\"renderListItem\");\n if (!guildComponents || !Guilds) return;\n\n const GuildSeparator = function () {\n const returnValue = guildComponents.Separator(...arguments);\n returnValue.props.className += \" bd-guild-separator\";\n return returnValue;\n };\n\n this.guildSeparatorPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(Guilds.prototype, \"render\", {\n after: data => {\n data.returnValue.props.children[1].props.children[3].type = GuildSeparator;\n }\n });\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvYmR2Mi5qcz9mZmJlIl0sIm5hbWVzIjpbIlYyIiwiY29uc3RydWN0b3IiLCJlZGl0b3JEZXRhY2hlZCIsImluaXRpYWxpemUiLCJCZEFwaSIsInN1cHByZXNzRXJyb3JzIiwicGF0Y2hTb2NpYWwiLCJiaW5kIiwicGF0Y2hHdWlsZFBpbGxzIiwicGF0Y2hHdWlsZExpc3RJdGVtcyIsInBhdGNoR3VpbGRTZXBhcmF0b3IiLCJtZXNzYWdlQ2xhc3NlcyIsIldlYnBhY2tNb2R1bGVzIiwiZ2V0QnlQcm9wcyIsImd1aWxkQ2xhc3NlcyIsImd1aWxkc1dyYXBwZXIiLCJndWlsZHMiLCJwaWxsIiwiT2JqZWN0IiwiYXNzaWduIiwiTWVzc2FnZUNvbnRlbnRDb21wb25lbnQiLCJnZXRNb2R1bGUiLCJtIiwiZGVmYXVsdFByb3BzIiwiaGFzT3duUHJvcGVydHkiLCJUaW1lRm9ybWF0dGVyIiwiVG9vbHRpcFdyYXBwZXIiLCJnZXRCeURpc3BsYXlOYW1lIiwiTmF0aXZlTW9kdWxlIiwiVG9vbHRpcHMiLCJoaWRlIiwic2hvdyIsInNlYXJjaCIsInN1Ym1pdCIsImFjdGl2YXRlUmFnaW5nRGVtb24iLCJkaXNtaXNzIiwiS2V5R2VuZXJhdG9yIiwidG9TdHJpbmciLCJ0ZXN0Iiwic29jaWFsUGF0Y2giLCJUYWJCYXIiLCJmaW5kTW9kdWxlIiwiZGlzcGxheU5hbWUiLCJBbmNob3IiLCJtb25rZXlQYXRjaCIsInByb3RvdHlwZSIsImFmdGVyIiwiZGF0YSIsImNoaWxkcmVuIiwicmV0dXJuVmFsdWUiLCJwcm9wcyIsImxlbmd0aCIsInR5cGUiLCJpbmNsdWRlcyIsIm9yaWdpbmFsIiwibmV3T25lIiwicmV0dXJuVmFsIiwiYXJndW1lbnRzIiwicHVzaCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImhyZWYiLCJyZWwiLCJ0aXRsZSIsInRhcmdldCIsIkJETG9nbyIsInNpemUiLCJndWlsZExpc3RJdGVtc1BhdGNoIiwibGlzdEl0ZW1DbGFzcyIsImxpc3RJdGVtIiwic3BsaXQiLCJibG9iQ2xhc3MiLCJibG9iQ29udGFpbmVyIiwicmVhY3RJbnN0YW5jZSIsImdldEludGVybmFsSW5zdGFuY2UiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJwYXJlbnRFbGVtZW50IiwiR3VpbGRDb21wb25lbnQiLCJyZXR1cm4iLCJndWlsZERhdGEiLCJ0aGlzT2JqZWN0IiwidW5yZWFkIiwic2VsZWN0ZWQiLCJhdWRpbyIsInZpZGVvIiwiYmFkZ2UiLCJhbmltYXRhYmxlIiwiZ3VpbGRQaWxsUGF0Y2giLCJndWlsZFBpbGwiLCJkZWZhdWx0IiwibWV0aG9kQXJndW1lbnRzIiwiaG92ZXJlZCIsImd1aWxkU2VwYXJhdG9yUGF0Y2giLCJHdWlsZHMiLCJmaW5kTW9kdWxlQnlEaXNwbGF5TmFtZSIsImd1aWxkQ29tcG9uZW50cyIsImZpbmRNb2R1bGVCeVByb3BzIiwiR3VpbGRTZXBhcmF0b3IiLCJTZXBhcmF0b3IiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRWUsbUVBQUksTUFBTUEsRUFBTixDQUFTO0FBRXhCQyxhQUFXLEdBQUc7QUFDVixTQUFLQyxjQUFMLEdBQXNCLEtBQXRCO0FBQ0g7O0FBRURDLFlBQVUsR0FBRztBQUNUQyxzREFBSyxDQUFDQyxjQUFOLENBQXFCLEtBQUtDLFdBQUwsQ0FBaUJDLElBQWpCLENBQXNCLElBQXRCLENBQXJCLEVBQWtELGlCQUFsRDtBQUNBSCxzREFBSyxDQUFDQyxjQUFOLENBQXFCLEtBQUtHLGVBQUwsQ0FBcUJELElBQXJCLENBQTBCLElBQTFCLENBQXJCLEVBQXNELHNCQUF0RDtBQUNBSCxzREFBSyxDQUFDQyxjQUFOLENBQXFCLEtBQUtJLG1CQUFMLENBQXlCRixJQUF6QixDQUE4QixJQUE5QixDQUFyQixFQUEwRCwyQkFBMUQ7QUFDQUgsc0RBQUssQ0FBQ0MsY0FBTixDQUFxQixLQUFLSyxtQkFBTCxDQUF5QkgsSUFB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QUFDbkIsZUFBT2QsSUFBSSxDQUFDRSxXQUFaO0FBQ0g7QUFONkQsS0FBeEMsQ0FBdEI7QUFPSDs7QUFFRHZDLHFCQUFtQixHQUFHO0FBQ2xCLFFBQUksS0FBS29GLG1CQUFULEVBQThCO0FBQzlCLFVBQU1DLE1BQU0sR0FBRzNGLGtEQUFLLENBQUM0Rix1QkFBTixDQUE4QixRQUE5QixDQUFmO0FBQ0EsVUFBTUMsZUFBZSxHQUFHN0Ysa0RBQUssQ0FBQzhGLGlCQUFOLENBQXdCLGdCQUF4QixDQUF4QjtBQUNBLFFBQUksQ0FBQ0QsZUFBRCxJQUFvQixDQUFDRixNQUF6QixFQUFpQzs7QUFDakMsVUFBTUksY0FBYyxHQUFHLFlBQVc7QUFDOUIsWUFBTWxELFdBQVcsR0FBR2dELGVBQWUsQ0FBQ0csU0FBaEIsQ0FBMEIsR0FBRzNDLFNBQTdCLENBQXBCO0FBQ0FSLGlCQUFXLENBQUNDLEtBQVosQ0FBa0JXLFNBQWxCLElBQStCLHFCQUEvQjtBQUNBLGFBQU9aLFdBQVA7QUFDSCxLQUpEOztBQUtBLFNBQUs2QyxtQkFBTCxHQUEyQjFGLGtEQUFLLENBQUN3QyxXQUFOLENBQWtCbUQsTUFBTSxDQUFDbEQsU0FBekIsRUFBb0MsUUFBcEMsRUFBOEM7QUFBQ0MsV0FBSyxFQUFHQyxJQUFELElBQVU7QUFDdkZBLFlBQUksQ0FBQ0UsV0FBTCxDQUFpQkMsS0FBakIsQ0FBdUJGLFFBQXZCLENBQWdDLENBQWhDLEVBQW1DRSxLQUFuQyxDQUF5Q0YsUUFBekMsQ0FBa0QsQ0FBbEQsRUFBcURJLElBQXJELEdBQTREK0MsY0FBNUQ7QUFDSDtBQUZ3RSxLQUE5QyxDQUEzQjtBQUdIOztBQWpHdUIsQ0FBYixFQUFmIiwiZmlsZSI6Ii4vc3JjL21vZHVsZXMvYmR2Mi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXZWJwYWNrTW9kdWxlcyBmcm9tIFwiLi93ZWJwYWNrbW9kdWxlc1wiO1xyXG5pbXBvcnQgQmRBcGkgZnJvbSBcIi4vcGx1Z2luYXBpXCI7XHJcbmltcG9ydCBCRExvZ28gZnJvbSBcIi4uL3VpL2ljb25zL2JkbG9nb1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFYyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmVkaXRvckRldGFjaGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICBCZEFwaS5zdXBwcmVzc0Vycm9ycyh0aGlzLnBhdGNoU29jaWFsLmJpbmQodGhpcyksIFwiQkQgU29jaWFsIFBhdGNoXCIpKCk7XHJcbiAgICAgICAgQmRBcGkuc3VwcHJlc3NFcnJvcnModGhpcy5wYXRjaEd1aWxkUGlsbHMuYmluZCh0aGlzKSwgXCJCRCBHdWlsZCBQaWxscyBQYXRjaFwiKSgpO1xyXG4gICAgICAgIEJkQXBpLnN1cHByZXNzRXJyb3JzKHRoaXMucGF0Y2hHdWlsZExpc3RJdGVtcy5iaW5kKHRoaXMpLCBcIkJEIEd1aWxkIExpc3QgSXRlbXMgUGF0Y2hcIikoKTtcclxuICAgICAgICBCZEFwaS5zdXBwcmVzc0Vycm9ycyh0aGlzLnBhdGNoR3VpbGRTZXBhcmF0b3IuYmluZCh0aGlzKSwgXCJCRCBHdWlsZCBTZXBhcmF0b3IgUGF0Y2hcIikoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWVzc2FnZUNsYXNzZXMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJtZXNzYWdlXCIsIFwiY29udGFpbmVyQ296eVwiKTt9XHJcbiAgICBnZXQgZ3VpbGRDbGFzc2VzKCkge1xyXG5cdFx0Y29uc3QgZ3VpbGRzV3JhcHBlciA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJ3cmFwcGVyXCIsIFwidW5yZWFkTWVudGlvbnNCYXJcIik7XHJcbiAgICAgICAgY29uc3QgZ3VpbGRzID0gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImd1aWxkc0Vycm9yXCIsIFwic2VsZWN0ZWRcIik7XHJcbiAgICAgICAgY29uc3QgcGlsbCA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJibG9iQ29udGFpbmVyXCIpO1xyXG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBndWlsZHNXcmFwcGVyLCBndWlsZHMsIHBpbGwpO1xyXG5cdH1cclxuXHJcbiAgICBnZXQgTWVzc2FnZUNvbnRlbnRDb21wb25lbnQoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldE1vZHVsZShtID0+IG0uZGVmYXVsdFByb3BzICYmIG0uZGVmYXVsdFByb3BzLmhhc093blByb3BlcnR5KFwiZGlzYWJsZUJ1dHRvbnNcIikpO31cclxuICAgIGdldCBUaW1lRm9ybWF0dGVyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZGF0ZUZvcm1hdFwiKTt9XHJcbiAgICBnZXQgVG9vbHRpcFdyYXBwZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5RGlzcGxheU5hbWUoXCJUb29sdGlwRGVwcmVjYXRlZFwiKTt9XHJcbiAgICBnZXQgTmF0aXZlTW9kdWxlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwic2V0QmFkZ2VcIik7fVxyXG4gICAgZ2V0IFRvb2x0aXBzKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRNb2R1bGUobSA9PiBtLmhpZGUgJiYgbS5zaG93ICYmICFtLnNlYXJjaCAmJiAhbS5zdWJtaXQgJiYgIW0uc2VhcmNoICYmICFtLmFjdGl2YXRlUmFnaW5nRGVtb24gJiYgIW0uZGlzbWlzcyk7fVxyXG4gICAgZ2V0IEtleUdlbmVyYXRvcigpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0TW9kdWxlKG0gPT4gbS50b1N0cmluZyAmJiAvXCJiaW5hcnlcIi8udGVzdChtLnRvU3RyaW5nKCkpKTt9XHJcblxyXG4gICAgcGF0Y2hTb2NpYWwoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc29jaWFsUGF0Y2gpIHJldHVybjtcclxuICAgICAgICBjb25zdCBUYWJCYXIgPSBCZEFwaS5maW5kTW9kdWxlKG0gPT4gbS5kaXNwbGF5TmFtZSA9PSBcIlRhYkJhclwiKTtcclxuICAgICAgICBjb25zdCBBbmNob3IgPSBCZEFwaS5maW5kTW9kdWxlKG0gPT4gbS5kaXNwbGF5TmFtZSA9PSBcIkFuY2hvclwiKTtcclxuICAgICAgICBpZiAoIVRhYkJhciB8fCAhQW5jaG9yKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5zb2NpYWxQYXRjaCA9IEJkQXBpLm1vbmtleVBhdGNoKFRhYkJhci5wcm90b3R5cGUsIFwicmVuZGVyXCIsIHthZnRlcjogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBkYXRhLnJldHVyblZhbHVlLnByb3BzLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICBpZiAoIWNoaWxkcmVuIHx8ICFjaGlsZHJlbi5sZW5ndGgpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDJdLnR5cGUuZGlzcGxheU5hbWUgIT09IFwiU2VwYXJhdG9yXCIpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKCFjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXS50eXBlLnRvU3RyaW5nKCkuaW5jbHVkZXMoXCJzb2NpYWxMaW5rc1wiKSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdLnR5cGU7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld09uZSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmV0dXJuVmFsID0gb3JpZ2luYWwoLi4uYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgIHJldHVyblZhbC5wcm9wcy5jaGlsZHJlbi5wdXNoKEJkQXBpLlJlYWN0LmNyZWF0ZUVsZW1lbnQoQW5jaG9yLCB7Y2xhc3NOYW1lOiBcImJkLXNvY2lhbC1saW5rXCIsIGhyZWY6IFwiaHR0cHM6Ly9naXRodWIuY29tL3JhdWVuemkvQmV0dGVyRGlzY29yZEFwcFwiLCByZWw6IFwiYXV0aG9yXCIsIHRpdGxlOiBcIkJhbmRhZ2VkQkRcIiwgdGFyZ2V0OiBcIl9ibGFua1wifSxcclxuICAgICAgICAgICAgICAgICAgICBCZEFwaS5SZWFjdC5jcmVhdGVFbGVtZW50KEJETG9nbywge3NpemU6IFwiMTZweFwiLCBjbGFzc05hbWU6IFwiYmQtc29jaWFsLWxvZ29cIn0pXHJcbiAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXR1cm5WYWw7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdLnR5cGUgPSBuZXdPbmU7XHJcbiAgICAgICAgfX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHBhdGNoR3VpbGRMaXN0SXRlbXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3VpbGRMaXN0SXRlbXNQYXRjaCkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGxpc3RJdGVtQ2xhc3MgPSB0aGlzLmd1aWxkQ2xhc3Nlcy5saXN0SXRlbS5zcGxpdChcIiBcIilbMF07XHJcbiAgICAgICAgY29uc3QgYmxvYkNsYXNzID0gdGhpcy5ndWlsZENsYXNzZXMuYmxvYkNvbnRhaW5lci5zcGxpdChcIiBcIilbMF07XHJcbiAgICAgICAgY29uc3QgcmVhY3RJbnN0YW5jZSA9IEJkQXBpLmdldEludGVybmFsSW5zdGFuY2UoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7bGlzdEl0ZW1DbGFzc30gLiR7YmxvYkNsYXNzfWApLnBhcmVudEVsZW1lbnQpO1xyXG4gICAgICAgIGNvbnN0IEd1aWxkQ29tcG9uZW50ID0gcmVhY3RJbnN0YW5jZS5yZXR1cm4udHlwZTtcclxuICAgICAgICBpZiAoIUd1aWxkQ29tcG9uZW50KSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5ndWlsZExpc3RJdGVtc1BhdGNoID0gQmRBcGkubW9ua2V5UGF0Y2goR3VpbGRDb21wb25lbnQucHJvdG90eXBlLCBcInJlbmRlclwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gZGF0YS5yZXR1cm5WYWx1ZTtcclxuICAgICAgICAgICAgY29uc3QgZ3VpbGREYXRhID0gZGF0YS50aGlzT2JqZWN0LnByb3BzO1xyXG4gICAgICAgICAgICByZXR1cm5WYWx1ZS5wcm9wcy5jbGFzc05hbWUgKz0gXCIgYmQtZ3VpbGRcIjtcclxuICAgICAgICAgICAgaWYgKGd1aWxkRGF0YS51bnJlYWQpIHJldHVyblZhbHVlLnByb3BzLmNsYXNzTmFtZSArPSBcIiBiZC11bnJlYWRcIjtcclxuICAgICAgICAgICAgaWYgKGd1aWxkRGF0YS5zZWxlY3RlZCkgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLXNlbGVjdGVkXCI7XHJcbiAgICAgICAgICAgIGlmIChndWlsZERhdGEuYXVkaW8pIHJldHVyblZhbHVlLnByb3BzLmNsYXNzTmFtZSArPSBcIiBiZC1hdWRpb1wiO1xyXG4gICAgICAgICAgICBpZiAoZ3VpbGREYXRhLnZpZGVvKSByZXR1cm5WYWx1ZS5wcm9wcy5jbGFzc05hbWUgKz0gXCIgYmQtdmlkZW9cIjtcclxuICAgICAgICAgICAgaWYgKGd1aWxkRGF0YS5iYWRnZSkgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLWJhZGdlXCI7XHJcbiAgICAgICAgICAgIGlmIChndWlsZERhdGEuYW5pbWF0YWJsZSkgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLWFuaW1hdGFibGVcIjtcclxuICAgICAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gICAgICAgIH19KTtcclxuICAgIH1cclxuXHJcbiAgICBwYXRjaEd1aWxkUGlsbHMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3VpbGRQaWxsUGF0Y2gpIHJldHVybjtcclxuICAgICAgICBjb25zdCBndWlsZFBpbGwgPSBCZEFwaS5maW5kTW9kdWxlKG0gPT4gbS5kZWZhdWx0ICYmIG0uZGVmYXVsdC50b1N0cmluZyAmJiBtLmRlZmF1bHQudG9TdHJpbmcoKS5pbmNsdWRlcyhcInRyYW5zbGF0ZTNkXCIpKTtcclxuICAgICAgICBpZiAoIWd1aWxkUGlsbCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuZ3VpbGRQaWxsUGF0Y2ggPSBCZEFwaS5tb25rZXlQYXRjaChndWlsZFBpbGwsIFwiZGVmYXVsdFwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gZGF0YS5tZXRob2RBcmd1bWVudHNbMF07XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy51bnJlYWQpIGRhdGEucmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLXVucmVhZFwiO1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuc2VsZWN0ZWQpIGRhdGEucmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLXNlbGVjdGVkXCI7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5ob3ZlcmVkKSBkYXRhLnJldHVyblZhbHVlLnByb3BzLmNsYXNzTmFtZSArPSBcIiBiZC1ob3ZlcmVkXCI7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJldHVyblZhbHVlO1xyXG4gICAgICAgIH19KTtcclxuICAgIH1cclxuXHJcbiAgICBwYXRjaEd1aWxkU2VwYXJhdG9yKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmd1aWxkU2VwYXJhdG9yUGF0Y2gpIHJldHVybjtcclxuICAgICAgICBjb25zdCBHdWlsZHMgPSBCZEFwaS5maW5kTW9kdWxlQnlEaXNwbGF5TmFtZShcIkd1aWxkc1wiKTtcclxuICAgICAgICBjb25zdCBndWlsZENvbXBvbmVudHMgPSBCZEFwaS5maW5kTW9kdWxlQnlQcm9wcyhcInJlbmRlckxpc3RJdGVtXCIpO1xyXG4gICAgICAgIGlmICghZ3VpbGRDb21wb25lbnRzIHx8ICFHdWlsZHMpIHJldHVybjtcclxuICAgICAgICBjb25zdCBHdWlsZFNlcGFyYXRvciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGd1aWxkQ29tcG9uZW50cy5TZXBhcmF0b3IoLi4uYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLWd1aWxkLXNlcGFyYXRvclwiO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmd1aWxkU2VwYXJhdG9yUGF0Y2ggPSBCZEFwaS5tb25rZXlQYXRjaChHdWlsZHMucHJvdG90eXBlLCBcInJlbmRlclwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGRhdGEucmV0dXJuVmFsdWUucHJvcHMuY2hpbGRyZW5bMV0ucHJvcHMuY2hpbGRyZW5bM10udHlwZSA9IEd1aWxkU2VwYXJhdG9yO1xyXG4gICAgICAgIH19KTtcclxuICAgIH1cclxuXHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/bdv2.js\n"); /***/ }), /***/ "./src/modules/contentmanager.js": /*!***************************************!*\ !*** ./src/modules/contentmanager.js ***! \***************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ContentManager; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../structs/contenterror */ \"./src/structs/contenterror.js\");\n/* harmony import */ var _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../structs/metaerror */ \"./src/structs/metaerror.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\nconst fs = __webpack_require__(/*! fs */ \"fs\");\n\nconst Module = __webpack_require__(/*! module */ \"module\").Module;\n\nModule.globalPaths.push(path.resolve(__webpack_require__(/*! electron */ \"electron\").remote.app.getAppPath(), \"node_modules\"));\nconst splitRegex = /[^\\S\\r\\n]*?\\n[^\\S\\r\\n]*?\\*[^\\S\\r\\n]?/;\nconst escapedAtRegex = /^\\\\@/;\nclass ContentManager {\n get name() {\n return \"\";\n }\n\n get moduleExtension() {\n return \"\";\n }\n\n get extension() {\n return \"\";\n }\n\n get contentFolder() {\n return \"\";\n }\n\n get prefix() {\n return \"content\";\n }\n\n get collection() {\n return \"settings\";\n }\n\n get category() {\n return \"content\";\n }\n\n get id() {\n return \"autoReload\";\n }\n\n emit(event, ...args) {\n return _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].emit(`${this.prefix}-${event}`, ...args);\n }\n\n constructor() {\n this.timeCache = {};\n this.contentList = [];\n this.state = {};\n this.originalRequire = Module._extensions[this.moduleExtension];\n Module._extensions[this.moduleExtension] = this.getContentRequire();\n _settingsmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"].on(this.collection, this.category, this.id, enabled => {\n if (enabled) this.watchContent();else this.unwatchContent();\n });\n } // Subclasses should overload this and modify the content object as needed to fully load it\n\n\n initializeContent() {\n return;\n } // Subclasses should overload this and modify the content as needed to require() the file\n\n\n getContentModification(module, content) {\n return content;\n }\n\n startContent() {\n return;\n }\n\n stopContent() {\n return;\n }\n\n loadState() {\n const saved = _datastore__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getData(`${this.prefix}s`);\n if (!saved) return;\n Object.assign(this.state, saved);\n }\n\n saveState() {\n _datastore__WEBPACK_IMPORTED_MODULE_3__[\"default\"].setData(`${this.prefix}s`, this.state);\n }\n\n watchContent() {\n if (this.watcher) return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].err(this.name, \"Already watching content.\");\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(this.name, \"Starting to watch content.\");\n this.watcher = fs.watch(this.contentFolder, {\n persistent: false\n }, async (eventType, filename) => {\n if (!eventType || !filename || !filename.endsWith(this.extension)) return;\n await new Promise(r => setTimeout(r, 50));\n\n try {\n fs.statSync(path.resolve(this.contentFolder, filename));\n } catch (err) {\n if (err.code !== \"ENOENT\") return;\n delete this.timeCache[filename];\n this.unloadContent(filename, true);\n }\n\n if (!fs.statSync(path.resolve(this.contentFolder, filename)).isFile()) return;\n const stats = fs.statSync(path.resolve(this.contentFolder, filename));\n if (!stats || !stats.mtime || !stats.mtime.getTime()) return;\n if (typeof stats.mtime.getTime() !== \"number\") return;\n if (this.timeCache[filename] == stats.mtime.getTime()) return;\n this.timeCache[filename] = stats.mtime.getTime();\n if (eventType == \"rename\") this.loadContent(filename, true);\n if (eventType == \"change\") this.reloadContent(filename, true);\n });\n }\n\n unwatchContent() {\n if (!this.watcher) return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].err(this.name, \"Was not watching content.\");\n this.watcher.close();\n delete this.watcher;\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(this.name, \"No longer watching content.\");\n }\n\n extractMeta(content) {\n const firstLine = content.split(\"\\n\")[0];\n const hasOldMeta = firstLine.includes(\"//META\");\n if (hasOldMeta) return this.parseOldMeta(content);\n const hasNewMeta = firstLine.includes(\"/**\");\n if (hasNewMeta) return this.parseNewMeta(content);\n throw new _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__[\"default\"](\"META was not found.\");\n }\n\n parseOldMeta(content) {\n const meta = content.split(\"\\n\")[0];\n const metaData = meta.substring(meta.lastIndexOf(\"//META\") + 6, meta.lastIndexOf(\"*//\"));\n if (!_utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].testJSON(metaData)) throw new _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__[\"default\"](\"META could not be parsed.\");\n const parsed = JSON.parse(metaData);\n if (!parsed.name) throw new _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__[\"default\"](\"META missing name data.\");\n return parsed;\n }\n\n parseNewMeta(content) {\n const block = content.split(\"/**\", 2)[1].split(\"*/\", 1)[0];\n const out = {};\n let field = \"\";\n let accum = \"\";\n\n for (const line of block.split(splitRegex)) {\n if (line.length === 0) continue;\n\n if (line.charAt(0) === \"@\" && line.charAt(1) !== \" \") {\n out[field] = accum;\n const l = line.indexOf(\" \");\n field = line.substr(1, l - 1);\n accum = line.substr(l + 1);\n } else {\n accum += \" \" + line.replace(\"\\\\n\", \"\\n\").replace(escapedAtRegex, \"@\");\n }\n }\n\n out[field] = accum.trim();\n delete out[\"\"];\n return out;\n }\n\n getContentRequire() {\n const self = this; // const baseFolder = this.contentFolder;\n\n const originalRequire = this.originalRequire;\n return function (module, filename) {\n const possiblePath = path.resolve(self.contentFolder, path.basename(filename));\n if (!fs.existsSync(possiblePath) || filename !== fs.realpathSync(possiblePath)) return Reflect.apply(originalRequire, this, arguments);\n let content = fs.readFileSync(filename, \"utf8\");\n content = _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].stripBOM(content);\n const meta = self.extractMeta(content);\n meta.id = meta.name;\n meta.filename = path.basename(filename);\n content = self.getContentModification(module, content, meta);\n\n module._compile(content, filename);\n };\n } // Subclasses should use the return (if not ContentError) and push to this.contentList\n\n\n loadContent(filename, shouldToast = false) {\n if (typeof filename === \"undefined\") return;\n\n try {\n require(path.resolve(this.contentFolder, filename));\n } catch (error) {\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](filename, filename, \"Could not be compiled.\", {\n message: error.message,\n stack: error.stack\n });\n }\n\n const content = require(path.resolve(this.contentFolder, filename));\n\n if (this.contentList.find(c => c.id == content.id)) return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, filename, `There is already a plugin with name ${content.name}`);\n const error = this.initializeContent(content);\n if (error) return error;\n this.contentList.push(content);\n if (shouldToast) ui__WEBPACK_IMPORTED_MODULE_6__[\"Toasts\"].success(`${content.name} v${content.version} was loaded.`);\n this.emit(\"loaded\", content.id);\n if (!this.state[content.id]) return this.state[content.id] = false;\n return this.startContent(content);\n }\n\n unloadContent(idOrFileOrContent, shouldToast = true, isReload = false) {\n const content = typeof idOrFileOrContent == \"string\" ? this.contentList.find(c => c.id == idOrFileOrContent || c.filename == idOrFileOrContent) : idOrFileOrContent;\n if (!content) return false;\n if (this.state[content.id]) isReload ? this.stopContent(content) : this.disableContent(content);\n delete require.cache[require.resolve(path.resolve(this.contentFolder, content.filename))];\n this.contentList.splice(this.contentList.indexOf(content), 1);\n this.emit(\"unloaded\", content.id);\n if (shouldToast) ui__WEBPACK_IMPORTED_MODULE_6__[\"Toasts\"].success(`${content.name} was unloaded.`);\n return true;\n }\n\n reloadContent(idOrFileOrContent, shouldToast = true) {\n const content = typeof idOrFileOrContent == \"string\" ? this.contentList.find(c => c.id == idOrFileOrContent || c.filename == idOrFileOrContent) : idOrFileOrContent;\n const didUnload = this.unloadContent(content, shouldToast, true);\n if (!didUnload) return didUnload;\n return this.loadContent(content.filename, shouldToast);\n }\n\n isLoaded(idOrFile) {\n const content = this.contentList.find(c => c.id == idOrFile || c.filename == idOrFile);\n if (!content) return false;\n return true;\n }\n\n isEnabled(idOrFile) {\n const content = this.contentList.find(c => c.id == idOrFile || c.filename == idOrFile);\n if (!content) return false;\n return this.state[content.id];\n }\n\n enableContent(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n if (this.state[content.id]) return;\n this.state[content.id] = true;\n this.startContent(content);\n this.saveState();\n }\n\n disableContent(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n if (!this.state[content.id]) return;\n this.state[content.id] = false;\n this.stopContent(content);\n this.saveState();\n }\n\n toggleContent(id) {\n if (this.state[id]) this.disableContent(id);else this.enableContent(id);\n }\n\n loadNewContent() {\n const files = fs.readdirSync(this.contentFolder);\n const removed = this.contentList.filter(t => !files.includes(t.filename)).map(c => c.id);\n const added = files.filter(f => !this.contentList.find(t => t.filename == f) && f.endsWith(this.extension) && fs.statSync(path.resolve(this.contentFolder, f)).isFile());\n return {\n added,\n removed\n };\n }\n\n updateList() {\n const results = this.loadNewContent();\n\n for (const filename of results.added) this.loadContent(filename);\n\n for (const name of results.removed) this.unloadContent(name);\n }\n\n loadAllContent() {\n this.loadState();\n const errors = [];\n const files = fs.readdirSync(this.contentFolder);\n\n for (const filename of files) {\n if (!fs.statSync(path.resolve(this.contentFolder, filename)).isFile() || !filename.endsWith(this.extension)) continue;\n const content = this.loadContent(filename, false);\n if (content instanceof _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) errors.push(content);\n }\n\n this.saveState();\n if (_settingsmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(this.collection, this.category, this.id)) this.watchContent();\n return errors;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvY29udGVudG1hbmFnZXIuanM/OTA0MyJdLCJuYW1lcyI6WyJwYXRoIiwicmVxdWlyZSIsImZzIiwiTW9kdWxlIiwiZ2xvYmFsUGF0aHMiLCJwdXNoIiwicmVzb2x2ZSIsInJlbW90ZSIsImFwcCIsImdldEFwcFBhdGgiLCJzcGxpdFJlZ2V4IiwiZXNjYXBlZEF0UmVnZXgiLCJDb250ZW50TWFuYWdlciIsIm5hbWUiLCJtb2R1bGVFeHRlbnNpb24iLCJleHRlbnNpb24iLCJjb250ZW50Rm9sZGVyIiwicHJlZml4IiwiY29sbGVjdGlvbiIsImNhdGVnb3J5IiwiaWQiLCJlbWl0IiwiZXZlbnQiLCJhcmdzIiwiRXZlbnRzIiwiY29uc3RydWN0b3IiLCJ0aW1lQ2FjaGUiLCJjb250ZW50TGlzdCIsInN0YXRlIiwib3JpZ2luYWxSZXF1aXJlIiwiX2V4dGVuc2lvbnMiLCJnZXRDb250ZW50UmVxdWlyZSIsIlNldHRpbmdzIiwib24iLCJlbmFibGVkIiwid2F0Y2hDb250ZW50IiwidW53YXRjaENvbnRlbnQiLCJpbml0aWFsaXplQ29udGVudCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJjb250ZW50Iiwic3RhcnRDb250ZW50Iiwic3RvcENvbnRlbnQiLCJsb2FkU3RhdGUiLCJzYXZlZCIsIkRhdGFTdG9yZSIsImdldERhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJzYXZlU3RhdGUiLCJzZXREYXRhIiwid2F0Y2hlciIsIlV0aWxpdGllcyIsImVyciIsImxvZyIsIndhdGNoIiwicGVyc2lzdGVudCIsImV2ZW50VHlwZSIsImZpbGVuYW1lIiwiZW5kc1dpdGgiLCJQcm9taXNlIiwiciIsInNldFRpbWVvdXQiLCJzdGF0U3luYyIsImNvZGUiLCJ1bmxvYWRDb250ZW50IiwiaXNGaWxlIiwic3RhdHMiLCJtdGltZSIsImdldFRpbWUiLCJsb2FkQ29udGVudCIsInJlbG9hZENvbnRlbnQiLCJjbG9zZSIsImV4dHJhY3RNZXRhIiwiZmlyc3RMaW5lIiwic3BsaXQiLCJoYXNPbGRNZXRhIiwiaW5jbHVkZXMiLCJwYXJzZU9sZE1ldGEiLCJoYXNOZXdNZXRhIiwicGFyc2VOZXdNZXRhIiwiTWV0YUVycm9yIiwibWV0YSIsIm1ldGFEYXRhIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJ0ZXN0SlNPTiIsInBhcnNlZCIsIkpTT04iLCJwYXJzZSIsImJsb2NrIiwib3V0IiwiZmllbGQiLCJhY2N1bSIsImxpbmUiLCJsZW5ndGgiLCJjaGFyQXQiLCJsIiwiaW5kZXhPZiIsInN1YnN0ciIsInJlcGxhY2UiLCJ0cmltIiwic2VsZiIsInBvc3NpYmxlUGF0aCIsImJhc2VuYW1lIiwiZXhpc3RzU3luYyIsInJlYWxwYXRoU3luYyIsIlJlZmxlY3QiLCJhcHBseSIsImFyZ3VtZW50cyIsInJlYWRGaWxlU3luYyIsInN0cmlwQk9NIiwiX2NvbXBpbGUiLCJzaG91bGRUb2FzdCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwiZXJyb3IiLCJDb250ZW50RXJyb3IiLCJtZXNzYWdlIiwic3RhY2siLCJmaW5kIiwiYyIsIlRvYXN0cyIsInN1Y2Nlc3MiLCJ2ZXJzaW9uIiwiaWRPckZpbGVPckNvbnRlbnQiLCJpc1JlbG9hZCIsImRpc2FibGVDb250ZW50IiwiY2FjaGUiLCJzcGxpY2UiLCJkaWRVbmxvYWQiLCJpc0xvYWRlZCIsImlkT3JGaWxlIiwiaXNFbmFibGVkIiwiZW5hYmxlQ29udGVudCIsImlkT3JDb250ZW50IiwicCIsInRvZ2dsZUNvbnRlbnQiLCJsb2FkTmV3Q29udGVudCIsImZpbGVzIiwicmVhZGRpclN5bmMiLCJyZW1vdmVkIiwiZmlsdGVyIiwidCIsIm1hcCIsImFkZGVkIiwiZiIsInVwZGF0ZUxpc3QiLCJyZXN1bHRzIiwibG9hZEFsbENvbnRlbnQiLCJlcnJvcnMiLCJnZXQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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SUFBSSxDQUFDTSxPQUFMLENBQWEsS0FBS1UsYUFBbEIsRUFBaUMwQyxRQUFqQyxDQUFaLEVBQXdEUSxNQUF4RCxFQUFELElBQXFFLENBQUNSLFFBQVEsQ0FBQ0MsUUFBVCxDQUFrQixLQUFLNUMsU0FBdkIsQ0FBMUUsRUFBNkc7QUFDN0csWUFBTXlCLE9BQU8sR0FBRyxLQUFLOEIsV0FBTCxDQUFpQlosUUFBakIsRUFBMkIsS0FBM0IsQ0FBaEI7QUFDQSxVQUFJbEIsT0FBTyxZQUFZNEUsNkRBQXZCLEVBQXFDaUMsTUFBTSxDQUFDaEosSUFBUCxDQUFZbUMsT0FBWjtBQUN4Qzs7QUFFRCxTQUFLUyxTQUFMO0FBQ0EsUUFBSWpCLHdEQUFRLENBQUNzSCxHQUFULENBQWEsS0FBS3BJLFVBQWxCLEVBQThCLEtBQUtDLFFBQW5DLEVBQTZDLEtBQUtDLEVBQWxELENBQUosRUFBMkQsS0FBS2UsWUFBTDtBQUMzRCxXQUFPa0gsTUFBUDtBQUNIOztBQXBPK0IiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9jb250ZW50bWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBVdGlsaXRpZXMgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XHJcbmltcG9ydCBTZXR0aW5ncyBmcm9tIFwiLi9zZXR0aW5nc21hbmFnZXJcIjtcclxuaW1wb3J0IEV2ZW50cyBmcm9tIFwiLi9lbWl0dGVyXCI7XHJcbmltcG9ydCBEYXRhU3RvcmUgZnJvbSBcIi4vZGF0YXN0b3JlXCI7XHJcbmltcG9ydCBDb250ZW50RXJyb3IgZnJvbSBcIi4uL3N0cnVjdHMvY29udGVudGVycm9yXCI7XHJcbmltcG9ydCBNZXRhRXJyb3IgZnJvbSBcIi4uL3N0cnVjdHMvbWV0YWVycm9yXCI7XHJcbmltcG9ydCB7VG9hc3RzfSBmcm9tIFwidWlcIjtcclxuXHJcbmNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcbmNvbnN0IE1vZHVsZSA9IHJlcXVpcmUoXCJtb2R1bGVcIikuTW9kdWxlO1xyXG5Nb2R1bGUuZ2xvYmFsUGF0aHMucHVzaChwYXRoLnJlc29sdmUocmVxdWlyZShcImVsZWN0cm9uXCIpLnJlbW90ZS5hcHAuZ2V0QXBwUGF0aCgpLCBcIm5vZGVfbW9kdWxlc1wiKSk7XHJcblxyXG5jb25zdCBzcGxpdFJlZ2V4ID0gL1teXFxTXFxyXFxuXSo/XFxuW15cXFNcXHJcXG5dKj9cXCpbXlxcU1xcclxcbl0/LztcclxuY29uc3QgZXNjYXBlZEF0UmVnZXggPSAvXlxcXFxALztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRlbnRNYW5hZ2VyIHtcclxuXHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJcIjt9XHJcbiAgICBnZXQgbW9kdWxlRXh0ZW5zaW9uKCkge3JldHVybiBcIlwiO31cclxuICAgIGdldCBleHRlbnNpb24oKSB7cmV0dXJuIFwiXCI7fVxyXG4gICAgZ2V0IGNvbnRlbnRGb2xkZXIoKSB7cmV0dXJuIFwiXCI7fVxyXG4gICAgZ2V0IHByZWZpeCgpIHtyZXR1cm4gXCJjb250ZW50XCI7fVxyXG4gICAgZ2V0IGNvbGxlY3Rpb24oKSB7cmV0dXJuIFwic2V0dGluZ3NcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiY29udGVudFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJhdXRvUmVsb2FkXCI7fVxyXG4gICAgZW1pdChldmVudCwgLi4uYXJncykge3JldHVybiBFdmVudHMuZW1pdChgJHt0aGlzLnByZWZpeH0tJHtldmVudH1gLCAuLi5hcmdzKTt9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy50aW1lQ2FjaGUgPSB7fTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRMaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHt9O1xyXG4gICAgICAgIHRoaXMub3JpZ2luYWxSZXF1aXJlID0gTW9kdWxlLl9leHRlbnNpb25zW3RoaXMubW9kdWxlRXh0ZW5zaW9uXTtcclxuICAgICAgICBNb2R1bGUuX2V4dGVuc2lvbnNbdGhpcy5tb2R1bGVFeHRlbnNpb25dID0gdGhpcy5nZXRDb250ZW50UmVxdWlyZSgpO1xyXG4gICAgICAgIFNldHRpbmdzLm9uKHRoaXMuY29sbGVjdGlvbiwgdGhpcy5jYXRlZ29yeSwgdGhpcy5pZCwgKGVuYWJsZWQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVuYWJsZWQpIHRoaXMud2F0Y2hDb250ZW50KCk7XHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy51bndhdGNoQ29udGVudCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN1YmNsYXNzZXMgc2hvdWxkIG92ZXJsb2FkIHRoaXMgYW5kIG1vZGlmeSB0aGUgY29udGVudCBvYmplY3QgYXMgbmVlZGVkIHRvIGZ1bGx5IGxvYWQgaXRcclxuICAgIGluaXRpYWxpemVDb250ZW50KCkge3JldHVybjt9XHJcblxyXG4gICAgLy8gU3ViY2xhc3NlcyBzaG91bGQgb3ZlcmxvYWQgdGhpcyBhbmQgbW9kaWZ5IHRoZSBjb250ZW50IGFzIG5lZWRlZCB0byByZXF1aXJlKCkgdGhlIGZpbGVcclxuICAgIGdldENvbnRlbnRNb2RpZmljYXRpb24obW9kdWxlLCBjb250ZW50KSB7cmV0dXJuIGNvbnRlbnQ7fVxyXG5cclxuICAgIHN0YXJ0Q29udGVudCgpIHtyZXR1cm47fVxyXG4gICAgc3RvcENvbnRlbnQoKSB7cmV0dXJuO31cclxuXHJcbiAgICBsb2FkU3RhdGUoKSB7XHJcbiAgICAgICAgY29uc3Qgc2F2ZWQgPSBEYXRhU3RvcmUuZ2V0RGF0YShgJHt0aGlzLnByZWZpeH1zYCk7XHJcbiAgICAgICAgaWYgKCFzYXZlZCkgcmV0dXJuO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5zdGF0ZSwgc2F2ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVTdGF0ZSgpIHtcclxuICAgICAgICBEYXRhU3RvcmUuc2V0RGF0YShgJHt0aGlzLnByZWZpeH1zYCwgdGhpcy5zdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgd2F0Y2hDb250ZW50KCkge1xyXG4gICAgICAgIGlmICh0aGlzLndhdGNoZXIpIHJldHVybiBVdGlsaXRpZXMuZXJyKHRoaXMubmFtZSwgXCJBbHJlYWR5IHdhdGNoaW5nIGNvbnRlbnQuXCIpO1xyXG4gICAgICAgIFV0aWxpdGllcy5sb2codGhpcy5uYW1lLCBcIlN0YXJ0aW5nIHRvIHdhdGNoIGNvbnRlbnQuXCIpO1xyXG4gICAgICAgIHRoaXMud2F0Y2hlciA9IGZzLndhdGNoKHRoaXMuY29udGVudEZvbGRlciwge3BlcnNpc3RlbnQ6IGZhbHNlfSwgYXN5bmMgKGV2ZW50VHlwZSwgZmlsZW5hbWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFldmVudFR5cGUgfHwgIWZpbGVuYW1lIHx8ICFmaWxlbmFtZS5lbmRzV2l0aCh0aGlzLmV4dGVuc2lvbikpIHJldHVybjtcclxuICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIDUwKSk7XHJcbiAgICAgICAgICAgIHRyeSB7ZnMuc3RhdFN5bmMocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgZmlsZW5hbWUpKTt9XHJcbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFTk9FTlRcIikgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMudGltZUNhY2hlW2ZpbGVuYW1lXTtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5sb2FkQ29udGVudChmaWxlbmFtZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFmcy5zdGF0U3luYyhwYXRoLnJlc29sdmUodGhpcy5jb250ZW50Rm9sZGVyLCBmaWxlbmFtZSkpLmlzRmlsZSgpKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRzID0gZnMuc3RhdFN5bmMocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgZmlsZW5hbWUpKTtcclxuICAgICAgICAgICAgaWYgKCFzdGF0cyB8fCAhc3RhdHMubXRpbWUgfHwgIXN0YXRzLm10aW1lLmdldFRpbWUoKSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mKHN0YXRzLm10aW1lLmdldFRpbWUoKSkgIT09IFwibnVtYmVyXCIpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGltZUNhY2hlW2ZpbGVuYW1lXSA9PSBzdGF0cy5tdGltZS5nZXRUaW1lKCkpIHJldHVybjtcclxuICAgICAgICAgICAgdGhpcy50aW1lQ2FjaGVbZmlsZW5hbWVdID0gc3RhdHMubXRpbWUuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnRUeXBlID09IFwicmVuYW1lXCIpIHRoaXMubG9hZENvbnRlbnQoZmlsZW5hbWUsIHRydWUpO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnRUeXBlID09IFwiY2hhbmdlXCIpIHRoaXMucmVsb2FkQ29udGVudChmaWxlbmFtZSwgdHJ1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdW53YXRjaENvbnRlbnQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLndhdGNoZXIpIHJldHVybiBVdGlsaXRpZXMuZXJyKHRoaXMubmFtZSwgXCJXYXMgbm90IHdhdGNoaW5nIGNvbnRlbnQuXCIpO1xyXG4gICAgICAgIHRoaXMud2F0Y2hlci5jbG9zZSgpO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLndhdGNoZXI7XHJcbiAgICAgICAgVXRpbGl0aWVzLmxvZyh0aGlzLm5hbWUsIFwiTm8gbG9uZ2VyIHdhdGNoaW5nIGNvbnRlbnQuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGV4dHJhY3RNZXRhKGNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBmaXJzdExpbmUgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpWzBdO1xyXG4gICAgICAgIGNvbnN0IGhhc09sZE1ldGEgPSBmaXJzdExpbmUuaW5jbHVkZXMoXCIvL01FVEFcIik7XHJcbiAgICAgICAgaWYgKGhhc09sZE1ldGEpIHJldHVybiB0aGlzLnBhcnNlT2xkTWV0YShjb250ZW50KTtcclxuICAgICAgICBjb25zdCBoYXNOZXdNZXRhID0gZmlyc3RMaW5lLmluY2x1ZGVzKFwiLyoqXCIpO1xyXG4gICAgICAgIGlmIChoYXNOZXdNZXRhKSByZXR1cm4gdGhpcy5wYXJzZU5ld01ldGEoY29udGVudCk7XHJcbiAgICAgICAgdGhyb3cgbmV3IE1ldGFFcnJvcihcIk1FVEEgd2FzIG5vdCBmb3VuZC5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2VPbGRNZXRhKGNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBtZXRhID0gY29udGVudC5zcGxpdChcIlxcblwiKVswXTtcclxuICAgICAgICBjb25zdCBtZXRhRGF0YSA9IG1ldGEuc3Vic3RyaW5nKG1ldGEubGFzdEluZGV4T2YoXCIvL01FVEFcIikgKyA2LCBtZXRhLmxhc3RJbmRleE9mKFwiKi8vXCIpKTtcclxuICAgICAgICBpZiAoIVV0aWxpdGllcy50ZXN0SlNPTihtZXRhRGF0YSkpIHRocm93IG5ldyBNZXRhRXJyb3IoXCJNRVRBIGNvdWxkIG5vdCBiZSBwYXJzZWQuXCIpO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKG1ldGFEYXRhKTtcclxuICAgICAgICBpZiAoIXBhcnNlZC5uYW1lKSB0aHJvdyBuZXcgTWV0YUVycm9yKFwiTUVUQSBtaXNzaW5nIG5hbWUgZGF0YS5cIik7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlZDtcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZU5ld01ldGEoY29udGVudCkge1xyXG4gICAgICAgIGNvbnN0IGJsb2NrID0gY29udGVudC5zcGxpdChcIi8qKlwiLCAyKVsxXS5zcGxpdChcIiovXCIsIDEpWzBdO1xyXG4gICAgICAgIGNvbnN0IG91dCA9IHt9O1xyXG4gICAgICAgIGxldCBmaWVsZCA9IFwiXCI7XHJcbiAgICAgICAgbGV0IGFjY3VtID0gXCJcIjtcclxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgYmxvY2suc3BsaXQoc3BsaXRSZWdleCkpIHtcclxuICAgICAgICAgICAgaWYgKGxpbmUubGVuZ3RoID09PSAwKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKGxpbmUuY2hhckF0KDApID09PSBcIkBcIiAmJiBsaW5lLmNoYXJBdCgxKSAhPT0gXCIgXCIpIHtcclxuICAgICAgICAgICAgICAgIG91dFtmaWVsZF0gPSBhY2N1bTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGwgPSBsaW5lLmluZGV4T2YoXCIgXCIpO1xyXG4gICAgICAgICAgICAgICAgZmllbGQgPSBsaW5lLnN1YnN0cigxLCBsIC0gMSk7XHJcbiAgICAgICAgICAgICAgICBhY2N1bSA9IGxpbmUuc3Vic3RyKGwgKyAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGFjY3VtICs9IFwiIFwiICsgbGluZS5yZXBsYWNlKFwiXFxcXG5cIiwgXCJcXG5cIikucmVwbGFjZShlc2NhcGVkQXRSZWdleCwgXCJAXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG91dFtmaWVsZF0gPSBhY2N1bS50cmltKCk7XHJcbiAgICAgICAgZGVsZXRlIG91dFtcIlwiXTtcclxuICAgICAgICByZXR1cm4gb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbnRlbnRSZXF1aXJlKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIC8vIGNvbnN0IGJhc2VGb2xkZXIgPSB0aGlzLmNvbnRlbnRGb2xkZXI7XHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxSZXF1aXJlID0gdGhpcy5vcmlnaW5hbFJlcXVpcmU7XHJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG1vZHVsZSwgZmlsZW5hbWUpIHtcclxuICAgICAgICAgICAgY29uc3QgcG9zc2libGVQYXRoID0gcGF0aC5yZXNvbHZlKHNlbGYuY29udGVudEZvbGRlciwgcGF0aC5iYXNlbmFtZShmaWxlbmFtZSkpO1xyXG4gICAgICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocG9zc2libGVQYXRoKSB8fCBmaWxlbmFtZSAhPT0gZnMucmVhbHBhdGhTeW5jKHBvc3NpYmxlUGF0aCkpIHJldHVybiBSZWZsZWN0LmFwcGx5KG9yaWdpbmFsUmVxdWlyZSwgdGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgbGV0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZW5hbWUsIFwidXRmOFwiKTtcclxuICAgICAgICAgICAgY29udGVudCA9IFV0aWxpdGllcy5zdHJpcEJPTShjb250ZW50KTtcclxuICAgICAgICAgICAgY29uc3QgbWV0YSA9IHNlbGYuZXh0cmFjdE1ldGEoY29udGVudCk7XHJcbiAgICAgICAgICAgIG1ldGEuaWQgPSBtZXRhLm5hbWU7XHJcbiAgICAgICAgICAgIG1ldGEuZmlsZW5hbWUgPSBwYXRoLmJhc2VuYW1lKGZpbGVuYW1lKTtcclxuICAgICAgICAgICAgY29udGVudCA9IHNlbGYuZ2V0Q29udGVudE1vZGlmaWNhdGlvbihtb2R1bGUsIGNvbnRlbnQsIG1ldGEpO1xyXG4gICAgICAgICAgICBtb2R1bGUuX2NvbXBpbGUoY29udGVudCwgZmlsZW5hbWUpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3ViY2xhc3NlcyBzaG91bGQgdXNlIHRoZSByZXR1cm4gKGlmIG5vdCBDb250ZW50RXJyb3IpIGFuZCBwdXNoIHRvIHRoaXMuY29udGVudExpc3RcclxuICAgIGxvYWRDb250ZW50KGZpbGVuYW1lLCBzaG91bGRUb2FzdCA9IGZhbHNlKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZihmaWxlbmFtZSkgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcclxuICAgICAgICB0cnkge19fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKHBhdGgucmVzb2x2ZSh0aGlzLmNvbnRlbnRGb2xkZXIsIGZpbGVuYW1lKSk7fVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikge3JldHVybiBuZXcgQ29udGVudEVycm9yKGZpbGVuYW1lLCBmaWxlbmFtZSwgXCJDb3VsZCBub3QgYmUgY29tcGlsZWQuXCIsIHttZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBzdGFjazogZXJyb3Iuc3RhY2t9KTt9XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKHBhdGgucmVzb2x2ZSh0aGlzLmNvbnRlbnRGb2xkZXIsIGZpbGVuYW1lKSk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGVudExpc3QuZmluZChjID0+IGMuaWQgPT0gY29udGVudC5pZCkpIHJldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgZmlsZW5hbWUsIGBUaGVyZSBpcyBhbHJlYWR5IGEgcGx1Z2luIHdpdGggbmFtZSAke2NvbnRlbnQubmFtZX1gKTtcclxuICAgICAgICBjb25zdCBlcnJvciA9IHRoaXMuaW5pdGlhbGl6ZUNvbnRlbnQoY29udGVudCk7XHJcbiAgICAgICAgaWYgKGVycm9yKSByZXR1cm4gZXJyb3I7XHJcbiAgICAgICAgdGhpcy5jb250ZW50TGlzdC5wdXNoKGNvbnRlbnQpO1xyXG4gICAgICAgIGlmIChzaG91bGRUb2FzdCkgVG9hc3RzLnN1Y2Nlc3MoYCR7Y29udGVudC5uYW1lfSB2JHtjb250ZW50LnZlcnNpb259IHdhcyBsb2FkZWQuYCk7XHJcbiAgICAgICAgdGhpcy5lbWl0KFwibG9hZGVkXCIsIGNvbnRlbnQuaWQpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuc3RhdGVbY29udGVudC5pZF0pIHJldHVybiB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRDb250ZW50KGNvbnRlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHVubG9hZENvbnRlbnQoaWRPckZpbGVPckNvbnRlbnQsIHNob3VsZFRvYXN0ID0gdHJ1ZSwgaXNSZWxvYWQgPSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0eXBlb2YoaWRPckZpbGVPckNvbnRlbnQpID09IFwic3RyaW5nXCIgPyB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlT3JDb250ZW50IHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGVPckNvbnRlbnQpIDogaWRPckZpbGVPckNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGVbY29udGVudC5pZF0pIGlzUmVsb2FkID8gdGhpcy5zdG9wQ29udGVudChjb250ZW50KSA6IHRoaXMuZGlzYWJsZUNvbnRlbnQoY29udGVudCk7XHJcbiAgICAgICAgZGVsZXRlIF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fLmNhY2hlW19fbm9uX3dlYnBhY2tfcmVxdWlyZV9fLnJlc29sdmUocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgY29udGVudC5maWxlbmFtZSkpXTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRMaXN0LnNwbGljZSh0aGlzLmNvbnRlbnRMaXN0LmluZGV4T2YoY29udGVudCksIDEpO1xyXG4gICAgICAgIHRoaXMuZW1pdChcInVubG9hZGVkXCIsIGNvbnRlbnQuaWQpO1xyXG4gICAgICAgIGlmIChzaG91bGRUb2FzdCkgVG9hc3RzLnN1Y2Nlc3MoYCR7Y29udGVudC5uYW1lfSB3YXMgdW5sb2FkZWQuYCk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVsb2FkQ29udGVudChpZE9yRmlsZU9yQ29udGVudCwgc2hvdWxkVG9hc3QgPSB0cnVlKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHR5cGVvZihpZE9yRmlsZU9yQ29udGVudCkgPT0gXCJzdHJpbmdcIiA/IHRoaXMuY29udGVudExpc3QuZmluZChjID0+IGMuaWQgPT0gaWRPckZpbGVPckNvbnRlbnQgfHwgYy5maWxlbmFtZSA9PSBpZE9yRmlsZU9yQ29udGVudCkgOiBpZE9yRmlsZU9yQ29udGVudDtcclxuICAgICAgICBjb25zdCBkaWRVbmxvYWQgPSB0aGlzLnVubG9hZENvbnRlbnQoY29udGVudCwgc2hvdWxkVG9hc3QsIHRydWUpO1xyXG4gICAgICAgIGlmICghZGlkVW5sb2FkKSByZXR1cm4gZGlkVW5sb2FkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRDb250ZW50KGNvbnRlbnQuZmlsZW5hbWUsIHNob3VsZFRvYXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBpc0xvYWRlZChpZE9yRmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlIHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGUpO1xyXG4gICAgICAgIGlmICghY29udGVudCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRW5hYmxlZChpZE9yRmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlIHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGUpO1xyXG4gICAgICAgIGlmICghY29udGVudCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZVtjb250ZW50LmlkXSkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuc3RhdGVbY29udGVudC5pZF0gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRDb250ZW50KGNvbnRlbnQpO1xyXG4gICAgICAgIHRoaXMuc2F2ZVN0YXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBpZiAoIXRoaXMuc3RhdGVbY29udGVudC5pZF0pIHJldHVybjtcclxuICAgICAgICB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdG9wQ29udGVudChjb250ZW50KTtcclxuICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUNvbnRlbnQoaWQpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZVtpZF0pIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWQpO1xyXG4gICAgICAgIGVsc2UgdGhpcy5lbmFibGVDb250ZW50KGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkTmV3Q29udGVudCgpIHtcclxuICAgICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKHRoaXMuY29udGVudEZvbGRlcik7XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlZCA9IHRoaXMuY29udGVudExpc3QuZmlsdGVyKHQgPT4gIWZpbGVzLmluY2x1ZGVzKHQuZmlsZW5hbWUpKS5tYXAoYyA9PiBjLmlkKTtcclxuICAgICAgICBjb25zdCBhZGRlZCA9IGZpbGVzLmZpbHRlcihmID0+ICF0aGlzLmNvbnRlbnRMaXN0LmZpbmQodCA9PiB0LmZpbGVuYW1lID09IGYpICYmIGYuZW5kc1dpdGgodGhpcy5leHRlbnNpb24pICYmIGZzLnN0YXRTeW5jKHBhdGgucmVzb2x2ZSh0aGlzLmNvbnRlbnRGb2xkZXIsIGYpKS5pc0ZpbGUoKSk7XHJcbiAgICAgICAgcmV0dXJuIHthZGRlZCwgcmVtb3ZlZH07XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlTGlzdCgpIHtcclxuICAgICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5sb2FkTmV3Q29udGVudCgpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgcmVzdWx0cy5hZGRlZCkgdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIHJlc3VsdHMucmVtb3ZlZCkgdGhpcy51bmxvYWRDb250ZW50KG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRBbGxDb250ZW50KCkge1xyXG4gICAgICAgIHRoaXMubG9hZFN0YXRlKCk7XHJcbiAgICAgICAgY29uc3QgZXJyb3JzID0gW107XHJcbiAgICAgICAgY29uc3QgZmlsZXMgPSBmcy5yZWFkZGlyU3luYyh0aGlzLmNvbnRlbnRGb2xkZXIpO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIGZpbGVzKSB7XHJcbiAgICAgICAgICAgIGlmICghZnMuc3RhdFN5bmMocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgZmlsZW5hbWUpKS5pc0ZpbGUoKSB8fCAhZmlsZW5hbWUuZW5kc1dpdGgodGhpcy5leHRlbnNpb24pKSBjb250aW51ZTtcclxuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMubG9hZENvbnRlbnQoZmlsZW5hbWUsIGZhbHNlKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBDb250ZW50RXJyb3IpIGVycm9ycy5wdXNoKGNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zYXZlU3RhdGUoKTtcclxuICAgICAgICBpZiAoU2V0dGluZ3MuZ2V0KHRoaXMuY29sbGVjdGlvbiwgdGhpcy5jYXRlZ29yeSwgdGhpcy5pZCkpIHRoaXMud2F0Y2hDb250ZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIGVycm9ycztcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modules/contentmanager.js\n"); /***/ }), /***/ "./src/modules/core.js": /*!*****************************!*\ !*** ./src/modules/core.js ***! \*****************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bdv2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bdv2 */ \"./src/modules/bdv2.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _pluginmanager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony import */ var _thememanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./thememanager */ \"./src/modules/thememanager.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var builtins__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! builtins */ \"./src/builtins/builtins.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n // import EmoteModule from \"./emotes\";\n// import QuickEmoteMenu from \"../builtins/emotemenu\";\n\n\n\n\n\n\n\nfunction Core() {}\n\nCore.prototype.setConfig = function (config) {\n Object.assign(data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"], config);\n};\n\nCore.prototype.init = async function () {\n if (data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].version < data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].minSupportedVersion) {\n ui__WEBPACK_IMPORTED_MODULE_7__[\"Modals\"].alert(\"Not Supported\", \"BetterDiscord v\" + data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].version + \" (your version)\" + \" is not supported by the latest js (\" + data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].bbdVersion + \").

Please download the latest version from GitHub\");\n return;\n }\n\n const latestLocalVersion = data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].updater ? data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].updater.LatestVersion : data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].latestVersion;\n\n if (latestLocalVersion > data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].version) {\n ui__WEBPACK_IMPORTED_MODULE_7__[\"Modals\"].alert(\"Update Available\", `\n An update for BandagedBD is available (${latestLocalVersion})! Please Reinstall!

\n Download Installer\n `);\n }\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Initializing Settings\");\n _settingsmanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"].initialize();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Initializing EmoteModule\"); // window.emotePromise = EmoteModule.init().then(() => {\n // EmoteModule.initialized = true;\n // Utilities.log(\"Startup\", \"Initializing QuickEmoteMenu\");\n // Events.dispatch(\"emotes-loaded\");\n // // QuickEmoteMenu.init();\n // });\n\n this.injectExternals();\n await this.checkForGuilds();\n _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].initialize();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Updating Settings\");\n\n for (const module in builtins__WEBPACK_IMPORTED_MODULE_6__) builtins__WEBPACK_IMPORTED_MODULE_6__[module].initialize();\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Loading Plugins\");\n const pluginErrors = _pluginmanager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].loadAllPlugins();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Loading Themes\");\n const themeErrors = _thememanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"].loadAllThemes();\n $(\"#customcss\").detach().appendTo(document.head); // PublicServers.initialize();\n // EmoteModule.autoCapitalize();\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Removing Loading Icon\");\n document.getElementsByClassName(\"bd-loaderv2\")[0].remove();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Initializing Main Observer\");\n this.initObserver(); // Show loading errors\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Collecting Startup Errors\");\n ui__WEBPACK_IMPORTED_MODULE_7__[\"Modals\"].showContentErrors({\n plugins: pluginErrors,\n themes: themeErrors\n });\n};\n\nCore.prototype.checkForGuilds = function () {\n return new Promise(resolve => {\n const checkForGuilds = function () {\n const wrapper = _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].guildClasses.wrapper.split(\" \")[0];\n const guild = _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].guildClasses.listItem.split(\" \")[0];\n const blob = _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].guildClasses.blobContainer.split(\" \")[0];\n if (document.querySelectorAll(`.${wrapper} .${guild} .${blob}`).length > 0) return resolve(data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].deferLoaded = true);\n setTimeout(checkForGuilds, 100);\n };\n\n $(document).ready(function () {\n setTimeout(checkForGuilds, 100);\n });\n });\n};\n\nCore.prototype.injectExternals = async function () {\n await _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].injectJs(\"https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js\");\n if (window.require.original) window.require = window.require.original;\n};\n\nCore.prototype.initObserver = function () {\n const mainObserver = new MutationObserver(mutations => {\n for (let i = 0, mlen = mutations.length; i < mlen; i++) {\n const mutation = mutations[i]; // if there was nothing added, skip\n\n if (!mutation.addedNodes.length || !(mutation.addedNodes[0] instanceof Element)) continue;\n const node = mutation.addedNodes[0];\n\n if (node.classList.contains(\"layer-3QrUeG\")) {\n if (node.getElementsByClassName(\"guild-settings-base-section\").length) node.setAttribute(\"layer-id\", \"server-settings\"); // if (node.getElementsByClassName(\"socialLinks-3jqNFy\").length) {\n // node.setAttribute(\"layer-id\", \"user-settings\");\n // node.setAttribute(\"id\", \"user-settings\");\n // if (!document.getElementById(\"bd-settings-sidebar\")) Settings.renderSidebar();\n // }\n }\n }\n });\n mainObserver.observe(document, {\n childList: true,\n subtree: true\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new Core());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvY29yZS5qcz9iNmRlIl0sIm5hbWVzIjpbIkNvcmUiLCJwcm90b3R5cGUiLCJzZXRDb25maWciLCJjb25maWciLCJPYmplY3QiLCJhc3NpZ24iLCJDb25maWciLCJpbml0IiwidmVyc2lvbiIsIm1pblN1cHBvcnRlZFZlcnNpb24iLCJNb2RhbHMiLCJhbGVydCIsImJiZFZlcnNpb24iLCJsYXRlc3RMb2NhbFZlcnNpb24iLCJ1cGRhdGVyIiwiTGF0ZXN0VmVyc2lvbiIsImxhdGVzdFZlcnNpb24iLCJVdGlsaXRpZXMiLCJsb2ciLCJTZXR0aW5ncyIsImluaXRpYWxpemUiLCJpbmplY3RFeHRlcm5hbHMiLCJjaGVja0Zvckd1aWxkcyIsIkJEVjIiLCJtb2R1bGUiLCJCdWlsdGlucyIsInBsdWdpbkVycm9ycyIsIlBsdWdpbk1hbmFnZXIiLCJsb2FkQWxsUGx1Z2lucyIsInRoZW1lRXJyb3JzIiwiVGhlbWVNYW5hZ2VyIiwibG9hZEFsbFRoZW1lcyIsIiQiLCJkZXRhY2giLCJhcHBlbmRUbyIsImRvY3VtZW50IiwiaGVhZCIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJyZW1vdmUiLCJpbml0T2JzZXJ2ZXIiLCJzaG93Q29udGVudEVycm9ycyIsInBsdWdpbnMiLCJ0aGVtZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIndyYXBwZXIiLCJndWlsZENsYXNzZXMiLCJzcGxpdCIsImd1aWxkIiwibGlzdEl0ZW0iLCJibG9iIiwiYmxvYkNvbnRhaW5lciIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJkZWZlckxvYWRlZCIsInNldFRpbWVvdXQiLCJyZWFkeSIsImluamVjdEpzIiwid2luZG93IiwicmVxdWlyZSIsIm9yaWdpbmFsIiwibWFpbk9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm11dGF0aW9ucyIsImkiLCJtbGVuIiwibXV0YXRpb24iLCJhZGRlZE5vZGVzIiwiRWxlbWVudCIsIm5vZGUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInNldEF0dHJpYnV0ZSIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJzdWJ0cmVlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0NBRUE7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVNBLElBQVQsR0FBZ0IsQ0FDZjs7QUFFREEsSUFBSSxDQUFDQyxTQUFMLENBQWVDLFNBQWYsR0FBMkIsVUFBU0MsTUFBVCxFQUFpQjtBQUN4Q0MsUUFBTSxDQUFDQyxNQUFQLENBQWNDLDJDQUFkLEVBQXNCSCxNQUF0QjtBQUNILENBRkQ7O0FBSUFILElBQUksQ0FBQ0MsU0FBTCxDQUFlTSxJQUFmLEdBQXNCLGtCQUFpQjtBQUNuQyxNQUFJRCwyQ0FBTSxDQUFDRSxPQUFQLEdBQWlCRiwyQ0FBTSxDQUFDRyxtQkFBNUIsRUFBaUQ7QUFDN0NDLDZDQUFNLENBQUNDLEtBQVAsQ0FBYSxlQUFiLEVBQThCLG9CQUFvQkwsMkNBQU0sQ0FBQ0UsT0FBM0IsR0FBcUMsaUJBQXJDLEdBQXlELHNDQUF6RCxHQUFrR0YsMkNBQU0sQ0FBQ00sVUFBekcsR0FBc0gscUpBQXBKO0FBQ0E7QUFDSDs7QUFFRCxRQUFNQyxrQkFBa0IsR0FBR1AsMkNBQU0sQ0FBQ1EsT0FBUCxHQUFpQlIsMkNBQU0sQ0FBQ1EsT0FBUCxDQUFlQyxhQUFoQyxHQUFnRFQsMkNBQU0sQ0FBQ1UsYUFBbEY7O0FBQ0EsTUFBSUgsa0JBQWtCLEdBQUdQLDJDQUFNLENBQUNFLE9BQWhDLEVBQXlDO0FBQ3JDRSw2Q0FBTSxDQUFDQyxLQUFQLENBQWEsa0JBQWIsRUFBa0M7cURBQ1dFLGtCQUFtQjs7U0FEaEU7QUFJSDs7QUFFREksb0RBQVMsQ0FBQ0MsR0FBVixDQUFjLFNBQWQsRUFBeUIsdUJBQXpCO0FBQ0FDLDBEQUFRLENBQUNDLFVBQVQ7QUFDQUgsb0RBQVMsQ0FBQ0MsR0FBVixDQUFjLFNBQWQsRUFBeUIsMEJBQXpC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LENBQUNDLFNBQUwsQ0FBZXNDLFlBQWYsR0FBOEIsWUFBWTtBQUN0QyxRQUFNc0IsWUFBWSxHQUFHLElBQUlDLGdCQUFKLENBQXNCQyxTQUFELElBQWU7QUFFckQsU0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBUixFQUFXQyxJQUFJLEdBQUdGLFNBQVMsQ0FBQ1YsTUFBakMsRUFBeUNXLENBQUMsR0FBR0MsSUFBN0MsRUFBbURELENBQUMsRUFBcEQsRUFBd0Q7QUFDcEQsWUFBTUUsUUFBUSxHQUFHSCxTQUFTLENBQUNDLENBQUQsQ0FBMUIsQ0FEb0QsQ0FHcEQ7O0FBQ0EsVUFBSSxDQUFDRSxRQUFRLENBQUNDLFVBQVQsQ0FBb0JkLE1BQXJCLElBQStCLEVBQUVhLFFBQVEsQ0FBQ0MsVUFBVCxDQUFvQixDQUFwQixhQUFrQ0MsT0FBcEMsQ0FBbkMsRUFBaUY7QUFFakYsWUFBTUMsSUFBSSxHQUFHSCxRQUFRLENBQUNDLFVBQVQsQ0FBb0IsQ0FBcEIsQ0FBYjs7QUFFQSxVQUFJRSxJQUFJLENBQUNDLFNBQUwsQ0FBZUMsUUFBZixDQUF3QixjQUF4QixDQUFKLEVBQTZDO0FBQ3pDLFlBQUlGLElBQUksQ0FBQ2hDLHNCQUFMLENBQTRCLDZCQUE1QixFQUEyRGdCLE1BQS9ELEVBQXVFZ0IsSUFBSSxDQUFDRyxZQUFMLENBQWtCLFVBQWxCLEVBQThCLGlCQUE5QixFQUQ5QixDQUd6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0g7QUFDSjtBQUNKLEdBcEJvQixDQUFyQjtBQXNCQVgsY0FBWSxDQUFDWSxPQUFiLENBQXFCdEMsUUFBckIsRUFBK0I7QUFDM0J1QyxhQUFTLEVBQUUsSUFEZ0I7QUFFM0JDLFdBQU8sRUFBRTtBQUZrQixHQUEvQjtBQUlILENBM0JEOztBQThCZSxtRUFBSTNFLElBQUosRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL2NvcmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQkRWMiBmcm9tIFwiLi9iZHYyXCI7XHJcbmltcG9ydCBVdGlsaXRpZXMgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XHJcbmltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG4vLyBpbXBvcnQgRW1vdGVNb2R1bGUgZnJvbSBcIi4vZW1vdGVzXCI7XHJcbi8vIGltcG9ydCBRdWlja0Vtb3RlTWVudSBmcm9tIFwiLi4vYnVpbHRpbnMvZW1vdGVtZW51XCI7XHJcbmltcG9ydCBQbHVnaW5NYW5hZ2VyIGZyb20gXCIuL3BsdWdpbm1hbmFnZXJcIjtcclxuaW1wb3J0IFRoZW1lTWFuYWdlciBmcm9tIFwiLi90aGVtZW1hbmFnZXJcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzbWFuYWdlclwiO1xyXG5pbXBvcnQgKiBhcyBCdWlsdGlucyBmcm9tIFwiYnVpbHRpbnNcIjtcclxuaW1wb3J0IHtNb2RhbHN9IGZyb20gXCJ1aVwiO1xyXG5cclxuZnVuY3Rpb24gQ29yZSgpIHtcclxufVxyXG5cclxuQ29yZS5wcm90b3R5cGUuc2V0Q29uZmlnID0gZnVuY3Rpb24oY29uZmlnKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKENvbmZpZywgY29uZmlnKTtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmluaXQgPSBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIGlmIChDb25maWcudmVyc2lvbiA8IENvbmZpZy5taW5TdXBwb3J0ZWRWZXJzaW9uKSB7XHJcbiAgICAgICAgTW9kYWxzLmFsZXJ0KFwiTm90IFN1cHBvcnRlZFwiLCBcIkJldHRlckRpc2NvcmQgdlwiICsgQ29uZmlnLnZlcnNpb24gKyBcIiAoeW91ciB2ZXJzaW9uKVwiICsgXCIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgbGF0ZXN0IGpzIChcIiArIENvbmZpZy5iYmRWZXJzaW9uICsgXCIpLjxicj48YnI+IFBsZWFzZSBkb3dubG9hZCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSA8YSBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vcmF1ZW56aS9CZXR0ZXJEaXNjb3JkQXBwL3JlbGVhc2VzL2xhdGVzdCcgdGFyZ2V0PSdfYmxhbmsnPkdpdEh1YjwvYT5cIik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxhdGVzdExvY2FsVmVyc2lvbiA9IENvbmZpZy51cGRhdGVyID8gQ29uZmlnLnVwZGF0ZXIuTGF0ZXN0VmVyc2lvbiA6IENvbmZpZy5sYXRlc3RWZXJzaW9uO1xyXG4gICAgaWYgKGxhdGVzdExvY2FsVmVyc2lvbiA+IENvbmZpZy52ZXJzaW9uKSB7XHJcbiAgICAgICAgTW9kYWxzLmFsZXJ0KFwiVXBkYXRlIEF2YWlsYWJsZVwiLCBgXHJcbiAgICAgICAgICAgIEFuIHVwZGF0ZSBmb3IgQmFuZGFnZWRCRCBpcyBhdmFpbGFibGUgKCR7bGF0ZXN0TG9jYWxWZXJzaW9ufSkhIFBsZWFzZSBSZWluc3RhbGwhPGJyIC8+PGJyIC8+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS9yYXVlbnppL0JldHRlckRpc2NvcmRBcHAvcmVsZWFzZXMvbGF0ZXN0JyB0YXJnZXQ9J19ibGFuayc+RG93bmxvYWQgSW5zdGFsbGVyPC9hPlxyXG4gICAgICAgIGApO1xyXG4gICAgfVxyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiSW5pdGlhbGl6aW5nIFNldHRpbmdzXCIpO1xyXG4gICAgU2V0dGluZ3MuaW5pdGlhbGl6ZSgpO1xyXG4gICAgVXRpbGl0aWVzLmxvZyhcIlN0YXJ0dXBcIiwgXCJJbml0aWFsaXppbmcgRW1vdGVNb2R1bGVcIik7XHJcbiAgICAvLyB3aW5kb3cuZW1vdGVQcm9taXNlID0gRW1vdGVNb2R1bGUuaW5pdCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgLy8gICAgIEVtb3RlTW9kdWxlLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgIC8vICAgICBVdGlsaXRpZXMubG9nKFwiU3RhcnR1cFwiLCBcIkluaXRpYWxpemluZyBRdWlja0Vtb3RlTWVudVwiKTtcclxuICAgIC8vICAgICBFdmVudHMuZGlzcGF0Y2goXCJlbW90ZXMtbG9hZGVkXCIpO1xyXG4gICAgLy8gICAgIC8vIFF1aWNrRW1vdGVNZW51LmluaXQoKTtcclxuICAgIC8vIH0pO1xyXG5cclxuICAgIHRoaXMuaW5qZWN0RXh0ZXJuYWxzKCk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5jaGVja0Zvckd1aWxkcygpO1xyXG4gICAgQkRWMi5pbml0aWFsaXplKCk7XHJcbiAgICBVdGlsaXRpZXMubG9nKFwiU3RhcnR1cFwiLCBcIlVwZGF0aW5nIFNldHRpbmdzXCIpO1xyXG4gICAgZm9yIChjb25zdCBtb2R1bGUgaW4gQnVpbHRpbnMpIEJ1aWx0aW5zW21vZHVsZV0uaW5pdGlhbGl6ZSgpO1xyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiTG9hZGluZyBQbHVnaW5zXCIpO1xyXG4gICAgY29uc3QgcGx1Z2luRXJyb3JzID0gUGx1Z2luTWFuYWdlci5sb2FkQWxsUGx1Z2lucygpO1xyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiTG9hZGluZyBUaGVtZXNcIik7XHJcbiAgICBjb25zdCB0aGVtZUVycm9ycyA9IFRoZW1lTWFuYWdlci5sb2FkQWxsVGhlbWVzKCk7XHJcblxyXG4gICAgJChcIiNjdXN0b21jc3NcIikuZGV0YWNoKCkuYXBwZW5kVG8oZG9jdW1lbnQuaGVhZCk7XHJcblxyXG4gICAgLy8gUHVibGljU2VydmVycy5pbml0aWFsaXplKCk7XHJcbiAgICAvLyBFbW90ZU1vZHVsZS5hdXRvQ2FwaXRhbGl6ZSgpO1xyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiUmVtb3ZpbmcgTG9hZGluZyBJY29uXCIpO1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImJkLWxvYWRlcnYyXCIpWzBdLnJlbW92ZSgpO1xyXG4gICAgVXRpbGl0aWVzLmxvZyhcIlN0YXJ0dXBcIiwgXCJJbml0aWFsaXppbmcgTWFpbiBPYnNlcnZlclwiKTtcclxuICAgIHRoaXMuaW5pdE9ic2VydmVyKCk7XHJcblxyXG4gICAgLy8gU2hvdyBsb2FkaW5nIGVycm9yc1xyXG4gICAgVXRpbGl0aWVzLmxvZyhcIlN0YXJ0dXBcIiwgXCJDb2xsZWN0aW5nIFN0YXJ0dXAgRXJyb3JzXCIpO1xyXG4gICAgTW9kYWxzLnNob3dDb250ZW50RXJyb3JzKHtwbHVnaW5zOiBwbHVnaW5FcnJvcnMsIHRoZW1lczogdGhlbWVFcnJvcnN9KTtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmNoZWNrRm9yR3VpbGRzID0gZnVuY3Rpb24oKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tGb3JHdWlsZHMgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlciA9IEJEVjIuZ3VpbGRDbGFzc2VzLndyYXBwZXIuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgICAgICBjb25zdCBndWlsZCA9IEJEVjIuZ3VpbGRDbGFzc2VzLmxpc3RJdGVtLnNwbGl0KFwiIFwiKVswXTtcclxuICAgICAgICAgICAgY29uc3QgYmxvYiA9IEJEVjIuZ3VpbGRDbGFzc2VzLmJsb2JDb250YWluZXIuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgLiR7d3JhcHBlcn0gLiR7Z3VpbGR9IC4ke2Jsb2J9YCkubGVuZ3RoID4gMCkgcmV0dXJuIHJlc29sdmUoQ29uZmlnLmRlZmVyTG9hZGVkID0gdHJ1ZSk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2tGb3JHdWlsZHMsIDEwMCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2tGb3JHdWlsZHMsIDEwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmluamVjdEV4dGVybmFscyA9IGFzeW5jIGZ1bmN0aW9uKCkge1xyXG4gICAgYXdhaXQgVXRpbGl0aWVzLmluamVjdEpzKFwiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvYWNlLzEuMi45L2FjZS5qc1wiKTtcclxuICAgIGlmICh3aW5kb3cucmVxdWlyZS5vcmlnaW5hbCkgd2luZG93LnJlcXVpcmUgPSB3aW5kb3cucmVxdWlyZS5vcmlnaW5hbDtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmluaXRPYnNlcnZlciA9IGZ1bmN0aW9uICgpIHtcclxuICAgIGNvbnN0IG1haW5PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG1sZW4gPSBtdXRhdGlvbnMubGVuZ3RoOyBpIDwgbWxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG11dGF0aW9uID0gbXV0YXRpb25zW2ldO1xyXG5cclxuICAgICAgICAgICAgLy8gaWYgdGhlcmUgd2FzIG5vdGhpbmcgYWRkZWQsIHNraXBcclxuICAgICAgICAgICAgaWYgKCFtdXRhdGlvbi5hZGRlZE5vZGVzLmxlbmd0aCB8fCAhKG11dGF0aW9uLmFkZGVkTm9kZXNbMF0gaW5zdGFuY2VvZiBFbGVtZW50KSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBub2RlID0gbXV0YXRpb24uYWRkZWROb2Rlc1swXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChub2RlLmNsYXNzTGlzdC5jb250YWlucyhcImxheWVyLTNRclVlR1wiKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImd1aWxkLXNldHRpbmdzLWJhc2Utc2VjdGlvblwiKS5sZW5ndGgpIG5vZGUuc2V0QXR0cmlidXRlKFwibGF5ZXItaWRcIiwgXCJzZXJ2ZXItc2V0dGluZ3NcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaWYgKG5vZGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInNvY2lhbExpbmtzLTNqcU5GeVwiKS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBub2RlLnNldEF0dHJpYnV0ZShcImxheWVyLWlkXCIsIFwidXNlci1zZXR0aW5nc1wiKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICBub2RlLnNldEF0dHJpYnV0ZShcImlkXCIsIFwidXNlci1zZXR0aW5nc1wiKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYmQtc2V0dGluZ3Mtc2lkZWJhclwiKSkgU2V0dGluZ3MucmVuZGVyU2lkZWJhcigpO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbWFpbk9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQsIHtcclxuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgfSk7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IENvcmUoKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/core.js\n"); /***/ }), /***/ "./src/modules/datastore.js": /*!**********************************!*\ !*** ./src/modules/datastore.js ***! \**********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n\n\nconst fs = __webpack_require__(/*! fs */ \"fs\");\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\nconst releaseChannel = DiscordNative.globals.releaseChannel; // Schema 1\n// =======================\n// %appdata%\\BetterDiscord\n// -> data\\\n// -> [releaseChannel].json (stable/canary/ptb)\n// Schema 2\n// =======================\n// %appdata%\\BetterDiscord\n// -> data\n// -> [releaseChannel]\\ (stable/canary/ptb)\n// -> settings.json\n// -> plugins.json\n// -> themes.json\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DataStore {\n constructor() {\n this.data = {\n misc: {}\n };\n this.pluginData = {};\n }\n\n initialize() {\n if (!fs.existsSync(this.baseFolder)) fs.mkdirSync(this.baseFolder);\n if (!fs.existsSync(this.dataFolder)) fs.mkdirSync(this.dataFolder);\n if (!fs.existsSync(this.BDFile)) fs.writeFileSync(this.BDFile, JSON.stringify(this.data.misc, null, 4));\n const dataFiles = fs.readdirSync(this.dataFolder).filter(f => !fs.statSync(path.resolve(this.dataFolder, f)).isDirectory() && f.endsWith(\".json\"));\n\n for (const file of dataFiles) {\n this.data[file.split(\".\")[0]] = require(path.resolve(this.dataFolder, file));\n } // this.data = __non_webpack_require__(this.BDFile);\n // if (data.hasOwnProperty(\"settings\")) this.data = data;\n // if (!fs.existsSync(this.settingsFile)) return;\n // let settings = __non_webpack_require__(this.settingsFile);\n // fs.unlinkSync(this.settingsFile);\n // if (settings.hasOwnProperty(\"settings\")) settings = Object.assign({stable: {}, canary: {}, ptb: {}}, {[releaseChannel]: settings});\n // else settings = Object.assign({stable: {}, canary: {}, ptb: {}}, settings);\n // this.setBDData(\"settings\", settings);\n\n }\n\n get baseFolder() {\n return this._baseFolder || (this._baseFolder = path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"data\"));\n }\n\n get dataFolder() {\n return this._dataFolder || (this._dataFolder = path.resolve(this.baseFolder, `${releaseChannel}`));\n }\n\n get BDFile() {\n return this._BDFile || (this._BDFile = path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"data\", `${releaseChannel}.json`));\n } // get settingsFile() {return this._settingsFile || (this._settingsFile = path.resolve(Config.dataPath, \"bdsettings.json\"));}\n\n\n getPluginFile(pluginName) {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"plugins\", pluginName + \".config.json\");\n } // getSettingGroup(key) {\n // return this.data.settings[key] || null;\n // }\n // setSettingGroup(key, data) {\n // this.data.settings[key] = data;\n // fs.writeFileSync(this.BDFile, JSON.stringify(this.data, null, 4));\n // }\n\n\n _getFile(key) {\n if (key == \"settings\" || key == \"plugins\" || key == \"themes\") return path.resolve(this.dataFolder, `${key}.json`);\n return path.resolve(this.dataFolder, `misc.json`);\n }\n\n getBDData(key) {\n return this.data.misc[key] || \"\";\n }\n\n setBDData(key, value) {\n this.data.misc[key] = value;\n fs.writeFileSync(path.resolve(this.dataFolder, `misc.json`), JSON.stringify(this.data.misc, null, 4));\n }\n\n getData(key) {\n return this.data[key] || \"\"; // return JSON.parse(fs.readFileSync(path.resolve(this.dataFolder, `${file}.json`)));\n }\n\n setData(key, value) {\n this.data[key] = value; // fs.writeFileSync(this.BDFile, JSON.stringify(this.data, null, 4));\n\n fs.writeFileSync(path.resolve(this.dataFolder, `${key}.json`), JSON.stringify(value, null, 4));\n }\n\n getPluginData(pluginName, key) {\n if (this.pluginData[pluginName] !== undefined) return this.pluginData[pluginName][key] || undefined;\n if (!fs.existsSync(this.getPluginFile(pluginName))) return undefined;\n this.pluginData[pluginName] = JSON.parse(fs.readFileSync(this.getPluginFile(pluginName)));\n return this.pluginData[pluginName][key] || undefined;\n }\n\n setPluginData(pluginName, key, value) {\n if (value === undefined) return;\n if (this.pluginData[pluginName] === undefined) this.pluginData[pluginName] = {};\n this.pluginData[pluginName][key] = value;\n fs.writeFileSync(this.getPluginFile(pluginName), JSON.stringify(this.pluginData[pluginName], null, 4));\n }\n\n deletePluginData(pluginName, key) {\n if (this.pluginData[pluginName] === undefined) this.pluginData[pluginName] = {};\n delete this.pluginData[pluginName][key];\n fs.writeFileSync(this.getPluginFile(pluginName), JSON.stringify(this.pluginData[pluginName], null, 4));\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvZGF0YXN0b3JlLmpzPzEwNTIiXSwibmFtZXMiOlsiZnMiLCJyZXF1aXJlIiwicGF0aCIsInJlbGVhc2VDaGFubmVsIiwiRGlzY29yZE5hdGl2ZSIsImdsb2JhbHMiLCJEYXRhU3RvcmUiLCJjb25zdHJ1Y3RvciIsImRhdGEiLCJtaXNjIiwicGx1Z2luRGF0YSIsImluaXRpYWxpemUiLCJleGlzdHNTeW5jIiwiYmFzZUZvbGRlciIsIm1rZGlyU3luYyIsImRhdGFGb2xkZXIiLCJCREZpbGUiLCJ3cml0ZUZpbGVTeW5jIiwiSlNPTiIsInN0cmluZ2lmeSIsImRhdGFGaWxlcyIsInJlYWRkaXJTeW5jIiwiZmlsdGVyIiwiZiIsInN0YXRTeW5jIiwicmVzb2x2ZSIsImlzRGlyZWN0b3J5IiwiZW5kc1dpdGgiLCJmaWxlIiwic3BsaXQiLCJfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyIsIl9iYXNlRm9sZGVyIiwiQ29uZmlnIiwiZGF0YVBhdGgiLCJfZGF0YUZvbGRlciIsIl9CREZpbGUiLCJnZXRQbHVnaW5GaWxlIiwicGx1Z2luTmFtZSIsIl9nZXRGaWxlIiwia2V5IiwiZ2V0QkREYXRhIiwic2V0QkREYXRhIiwidmFsdWUiLCJnZXREYXRhIiwic2V0RGF0YSIsImdldFBsdWdpbkRhdGEiLCJ1bmRlZmluZWQiLCJwYXJzZSIsInJlYWRGaWxlU3luYyIsInNldFBsdWdpbkRhdGEiLCJkZWxldGVQbHVnaW5EYXRhIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7O0FBQ0EsTUFBTUEsRUFBRSxHQUFHQyxtQkFBTyxDQUFDLGNBQUQsQ0FBbEI7O0FBQ0EsTUFBTUMsSUFBSSxHQUFHRCxtQkFBTyxDQUFDLGtCQUFELENBQXBCOztBQUNBLE1BQU1FLGNBQWMsR0FBR0MsYUFBYSxDQUFDQyxPQUFkLENBQXNCRixjQUE3QyxDLENBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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LEdBQTVCLENBQVA7QUFDQXZDLE1BQUUsQ0FBQ2lCLGFBQUgsQ0FBaUIsS0FBS21CLGFBQUwsQ0FBbUJDLFVBQW5CLENBQWpCLEVBQWlEbkIsSUFBSSxDQUFDQyxTQUFMLENBQWUsS0FBS1QsVUFBTCxDQUFnQjJCLFVBQWhCLENBQWYsRUFBNEMsSUFBNUMsRUFBa0QsQ0FBbEQsQ0FBakQ7QUFDSDs7QUFsRjhCLENBQXBCLEVBQWYiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9kYXRhc3RvcmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbmZpZ30gZnJvbSBcImRhdGFcIjtcclxuY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcbmNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuY29uc3QgcmVsZWFzZUNoYW5uZWwgPSBEaXNjb3JkTmF0aXZlLmdsb2JhbHMucmVsZWFzZUNoYW5uZWw7XHJcblxyXG4vLyBTY2hlbWEgMVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyAlYXBwZGF0YSVcXEJldHRlckRpc2NvcmRcclxuLy8gICAgIC0+IGRhdGFcXFxyXG4vLyAgICAgICAgIC0+IFtyZWxlYXNlQ2hhbm5lbF0uanNvbiAoc3RhYmxlL2NhbmFyeS9wdGIpXHJcblxyXG4vLyBTY2hlbWEgMlxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyAlYXBwZGF0YSVcXEJldHRlckRpc2NvcmRcclxuLy8gICAgIC0+IGRhdGFcclxuLy8gICAgICAgICAtPiBbcmVsZWFzZUNoYW5uZWxdXFwgKHN0YWJsZS9jYW5hcnkvcHRiKVxyXG4vLyAgICAgICAgICAgICAtPiBzZXR0aW5ncy5qc29uXHJcbi8vICAgICAgICAgICAgIC0+IHBsdWdpbnMuanNvblxyXG4vLyAgICAgICAgICAgICAtPiB0aGVtZXMuanNvblxyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIERhdGFTdG9yZSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSB7bWlzYzoge319O1xyXG4gICAgICAgIHRoaXMucGx1Z2luRGF0YSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemUoKSB7XHJcbiAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMuYmFzZUZvbGRlcikpIGZzLm1rZGlyU3luYyh0aGlzLmJhc2VGb2xkZXIpO1xyXG4gICAgICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLmRhdGFGb2xkZXIpKSBmcy5ta2RpclN5bmModGhpcy5kYXRhRm9sZGVyKTtcclxuICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmModGhpcy5CREZpbGUpKSBmcy53cml0ZUZpbGVTeW5jKHRoaXMuQkRGaWxlLCBKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEubWlzYywgbnVsbCwgNCkpO1xyXG4gICAgICAgIGNvbnN0IGRhdGFGaWxlcyA9IGZzLnJlYWRkaXJTeW5jKHRoaXMuZGF0YUZvbGRlcikuZmlsdGVyKGYgPT4gIWZzLnN0YXRTeW5jKHBhdGgucmVzb2x2ZSh0aGlzLmRhdGFGb2xkZXIsIGYpKS5pc0RpcmVjdG9yeSgpICYmIGYuZW5kc1dpdGgoXCIuanNvblwiKSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGRhdGFGaWxlcykge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFbZmlsZS5zcGxpdChcIi5cIilbMF1dID0gX19ub25fd2VicGFja19yZXF1aXJlX18ocGF0aC5yZXNvbHZlKHRoaXMuZGF0YUZvbGRlciwgZmlsZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0aGlzLmRhdGEgPSBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyh0aGlzLkJERmlsZSk7XHJcbiAgICAgICAgLy8gaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoXCJzZXR0aW5nc1wiKSkgdGhpcy5kYXRhID0gZGF0YTtcclxuICAgICAgICAvLyBpZiAoIWZzLmV4aXN0c1N5bmModGhpcy5zZXR0aW5nc0ZpbGUpKSByZXR1cm47XHJcbiAgICAgICAgLy8gbGV0IHNldHRpbmdzID0gX19ub25fd2VicGFja19yZXF1aXJlX18odGhpcy5zZXR0aW5nc0ZpbGUpO1xyXG4gICAgICAgIC8vIGZzLnVubGlua1N5bmModGhpcy5zZXR0aW5nc0ZpbGUpO1xyXG4gICAgICAgIC8vIGlmIChzZXR0aW5ncy5oYXNPd25Qcm9wZXJ0eShcInNldHRpbmdzXCIpKSBzZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe3N0YWJsZToge30sIGNhbmFyeToge30sIHB0Yjoge319LCB7W3JlbGVhc2VDaGFubmVsXTogc2V0dGluZ3N9KTtcclxuICAgICAgICAvLyBlbHNlIHNldHRpbmdzID0gT2JqZWN0LmFzc2lnbih7c3RhYmxlOiB7fSwgY2FuYXJ5OiB7fSwgcHRiOiB7fX0sIHNldHRpbmdzKTtcclxuICAgICAgICAvLyB0aGlzLnNldEJERGF0YShcInNldHRpbmdzXCIsIHNldHRpbmdzKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmFzZUZvbGRlcigpIHtyZXR1cm4gdGhpcy5fYmFzZUZvbGRlciB8fCAodGhpcy5fYmFzZUZvbGRlciA9IHBhdGgucmVzb2x2ZShDb25maWcuZGF0YVBhdGgsIFwiZGF0YVwiKSk7fVxyXG4gICAgZ2V0IGRhdGFGb2xkZXIoKSB7cmV0dXJuIHRoaXMuX2RhdGFGb2xkZXIgfHwgKHRoaXMuX2RhdGFGb2xkZXIgPSBwYXRoLnJlc29sdmUodGhpcy5iYXNlRm9sZGVyLCBgJHtyZWxlYXNlQ2hhbm5lbH1gKSk7fVxyXG4gICAgZ2V0IEJERmlsZSgpIHtyZXR1cm4gdGhpcy5fQkRGaWxlIHx8ICh0aGlzLl9CREZpbGUgPSBwYXRoLnJlc29sdmUoQ29uZmlnLmRhdGFQYXRoLCBcImRhdGFcIiwgYCR7cmVsZWFzZUNoYW5uZWx9Lmpzb25gKSk7fVxyXG4gICAgLy8gZ2V0IHNldHRpbmdzRmlsZSgpIHtyZXR1cm4gdGhpcy5fc2V0dGluZ3NGaWxlIHx8ICh0aGlzLl9zZXR0aW5nc0ZpbGUgPSBwYXRoLnJlc29sdmUoQ29uZmlnLmRhdGFQYXRoLCBcImJkc2V0dGluZ3MuanNvblwiKSk7fVxyXG4gICAgZ2V0UGx1Z2luRmlsZShwbHVnaW5OYW1lKSB7cmV0dXJuIHBhdGgucmVzb2x2ZShDb25maWcuZGF0YVBhdGgsIFwicGx1Z2luc1wiLCBwbHVnaW5OYW1lICsgXCIuY29uZmlnLmpzb25cIik7fVxyXG5cclxuICAgIC8vIGdldFNldHRpbmdHcm91cChrZXkpIHtcclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5kYXRhLnNldHRpbmdzW2tleV0gfHwgbnVsbDtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyBzZXRTZXR0aW5nR3JvdXAoa2V5LCBkYXRhKSB7XHJcbiAgICAvLyAgICAgdGhpcy5kYXRhLnNldHRpbmdzW2tleV0gPSBkYXRhO1xyXG4gICAgLy8gICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5CREZpbGUsIEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSwgbnVsbCwgNCkpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIF9nZXRGaWxlKGtleSkge1xyXG4gICAgICAgIGlmIChrZXkgPT0gXCJzZXR0aW5nc1wiIHx8IGtleSA9PSBcInBsdWdpbnNcIiB8fCBrZXkgPT0gXCJ0aGVtZXNcIikgcmV0dXJuIHBhdGgucmVzb2x2ZSh0aGlzLmRhdGFGb2xkZXIsIGAke2tleX0uanNvbmApO1xyXG4gICAgICAgIHJldHVybiBwYXRoLnJlc29sdmUodGhpcy5kYXRhRm9sZGVyLCBgbWlzYy5qc29uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QkREYXRhKGtleSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubWlzY1trZXldIHx8IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0QkREYXRhKGtleSwgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRhdGEubWlzY1trZXldID0gdmFsdWU7XHJcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLnJlc29sdmUodGhpcy5kYXRhRm9sZGVyLCBgbWlzYy5qc29uYCksIEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YS5taXNjLCBudWxsLCA0KSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGF0YShrZXkpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhW2tleV0gfHwgXCJcIjtcclxuICAgICAgICAvLyByZXR1cm4gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5yZXNvbHZlKHRoaXMuZGF0YUZvbGRlciwgYCR7ZmlsZX0uanNvbmApKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGF0YShrZXksIHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICAvLyBmcy53cml0ZUZpbGVTeW5jKHRoaXMuQkRGaWxlLCBKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEsIG51bGwsIDQpKTtcclxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGgucmVzb2x2ZSh0aGlzLmRhdGFGb2xkZXIsIGAke2tleX0uanNvbmApLCBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgbnVsbCwgNCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFBsdWdpbkRhdGEocGx1Z2luTmFtZSwga2V5KSB7XHJcbiAgICAgICAgaWYgKHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gdGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdW2tleV0gfHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLmdldFBsdWdpbkZpbGUocGx1Z2luTmFtZSkpKSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXSA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHRoaXMuZ2V0UGx1Z2luRmlsZShwbHVnaW5OYW1lKSkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBsdWdpbkRhdGFbcGx1Z2luTmFtZV1ba2V5XSB8fCB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXksIHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdID09PSB1bmRlZmluZWQpIHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXSA9IHt9O1xyXG4gICAgICAgIHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXVtrZXldID0gdmFsdWU7XHJcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLmdldFBsdWdpbkZpbGUocGx1Z2luTmFtZSksIEpTT04uc3RyaW5naWZ5KHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXSwgbnVsbCwgNCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZVBsdWdpbkRhdGEocGx1Z2luTmFtZSwga2V5KSB7XHJcbiAgICAgICAgaWYgKHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXSA9PT0gdW5kZWZpbmVkKSB0aGlzLnBsdWdpbkRhdGFbcGx1Z2luTmFtZV0gPSB7fTtcclxuICAgICAgICBkZWxldGUgdGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdW2tleV07XHJcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLmdldFBsdWdpbkZpbGUocGx1Z2luTmFtZSksIEpTT04uc3RyaW5naWZ5KHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXSwgbnVsbCwgNCkpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modules/datastore.js\n"); /***/ }), /***/ "./src/modules/emitter.js": /*!********************************!*\ !*** ./src/modules/emitter.js ***! \********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nconst EventEmitter = __webpack_require__(/*! events */ \"events\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class BDEvents extends EventEmitter {\n constructor() {\n super();\n this.setMaxListeners(20);\n }\n\n dispatch(eventName, ...args) {\n this.emit(eventName, ...args);\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvZW1pdHRlci5qcz9lOTNhIl0sIm5hbWVzIjpbIkV2ZW50RW1pdHRlciIsInJlcXVpcmUiLCJCREV2ZW50cyIsImNvbnN0cnVjdG9yIiwic2V0TWF4TGlzdGVuZXJzIiwiZGlzcGF0Y2giLCJldmVudE5hbWUiLCJhcmdzIiwiZW1pdCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQSxNQUFNQSxZQUFZLEdBQUdDLG1CQUFPLENBQUMsc0JBQUQsQ0FBNUI7O0FBQ2UsbUVBQUksTUFBTUMsUUFBTixTQUF1QkYsWUFBdkIsQ0FBb0M7QUFDbkRHLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0MsZUFBTCxDQUFxQixFQUFyQjtBQUNIOztBQUNEQyxVQUFRLENBQUNDLFNBQUQsRUFBWSxHQUFHQyxJQUFmLEVBQXFCO0FBQ3pCLFNBQUtDLElBQUwsQ0FBVUYsU0FBVixFQUFxQixHQUFHQyxJQUF4QjtBQUNIOztBQVBrRCxDQUF4QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL21vZHVsZXMvZW1pdHRlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEV2ZW50RW1pdHRlciA9IHJlcXVpcmUoXCJldmVudHNcIik7XHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBCREV2ZW50cyBleHRlbmRzIEV2ZW50RW1pdHRlciB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuc2V0TWF4TGlzdGVuZXJzKDIwKTtcclxuICAgIH1cclxuICAgIGRpc3BhdGNoKGV2ZW50TmFtZSwgLi4uYXJncykge1xyXG4gICAgICAgIHRoaXMuZW1pdChldmVudE5hbWUsIC4uLmFyZ3MpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modules/emitter.js\n"); /***/ }), /***/ "./src/modules/modules.js": /*!********************************!*\ !*** ./src/modules/modules.js ***! \********************************/ /*! exports provided: React, ReactDOM, BDV2, BdApi, Core, ContentManager, DataStore, Events, PluginManager, ThemeManager, Utilities, WebpackModules, DiscordModules, Settings */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"React\", function() { return React; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReactDOM\", function() { return ReactDOM; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Utilities\", function() { return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WebpackModules\", function() { return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DiscordModules\", function() { return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"]; });\n\n/* harmony import */ var _bdv2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bdv2 */ \"./src/modules/bdv2.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BDV2\", function() { return _bdv2__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _pluginapi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BdApi\", function() { return _pluginapi__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./core */ \"./src/modules/core.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Core\", function() { return _core__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ContentManager\", function() { return _contentmanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DataStore\", function() { return _datastore__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./emitter */ \"./src/modules/emitter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Events\", function() { return _emitter__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _pluginmanager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PluginManager\", function() { return _pluginmanager__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _thememanager__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./thememanager */ \"./src/modules/thememanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ThemeManager\", function() { return _thememanager__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Settings\", function() { return _settingsmanager__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n\n\n\n\n\n\n // import DevMode from \"./devmode\";\n\n // import EmoteModule from \"./emotes\";\n\n // import PublicServers from \"./publicservers\";\n\n\n\nconst React = _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React;\nconst ReactDOM = _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ReactDOM;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvbW9kdWxlcy5qcz8xNGRiIl0sIm5hbWVzIjpbIlJlYWN0IiwiRGlzY29yZE1vZHVsZXMiLCJSZWFjdERPTSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFJQTtDQUVBOztDQUVBOztDQUVBOztBQUNBO0FBQ0E7QUFFTyxNQUFNQSxLQUFLLEdBQUdDLDhEQUFjLENBQUNELEtBQTdCO0FBQ0EsTUFBTUUsUUFBUSxHQUFHRCw4REFBYyxDQUFDQyxRQUFoQyIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL21vZHVsZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVXRpbGl0aWVzIGZyb20gXCIuL3V0aWxpdGllc1wiO1xyXG5pbXBvcnQgV2VicGFja01vZHVsZXMsIHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIi4vd2VicGFja21vZHVsZXNcIjtcclxuXHJcbmltcG9ydCBCRFYyIGZyb20gXCIuL2JkdjJcIjtcclxuaW1wb3J0IEJkQXBpIGZyb20gXCIuL3BsdWdpbmFwaVwiO1xyXG5pbXBvcnQgQ29yZSBmcm9tIFwiLi9jb3JlXCI7XHJcblxyXG5cclxuXHJcbmltcG9ydCBDb250ZW50TWFuYWdlciBmcm9tIFwiLi9jb250ZW50bWFuYWdlclwiO1xyXG5pbXBvcnQgRGF0YVN0b3JlIGZyb20gXCIuL2RhdGFzdG9yZVwiO1xyXG4vLyBpbXBvcnQgRGV2TW9kZSBmcm9tIFwiLi9kZXZtb2RlXCI7XHJcbmltcG9ydCBFdmVudHMgZnJvbSBcIi4vZW1pdHRlclwiO1xyXG4vLyBpbXBvcnQgRW1vdGVNb2R1bGUgZnJvbSBcIi4vZW1vdGVzXCI7XHJcbmltcG9ydCBQbHVnaW5NYW5hZ2VyIGZyb20gXCIuL3BsdWdpbm1hbmFnZXJcIjtcclxuLy8gaW1wb3J0IFB1YmxpY1NlcnZlcnMgZnJvbSBcIi4vcHVibGljc2VydmVyc1wiO1xyXG5pbXBvcnQgVGhlbWVNYW5hZ2VyIGZyb20gXCIuL3RoZW1lbWFuYWdlclwiO1xyXG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3NtYW5hZ2VyXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUmVhY3QgPSBEaXNjb3JkTW9kdWxlcy5SZWFjdDtcclxuZXhwb3J0IGNvbnN0IFJlYWN0RE9NID0gRGlzY29yZE1vZHVsZXMuUmVhY3RET007XHJcblxyXG5leHBvcnQge0JEVjIsIEJkQXBpLCBDb3JlLCBDb250ZW50TWFuYWdlciwgRGF0YVN0b3JlLFxyXG4gICAgICAgIEV2ZW50cywgUGx1Z2luTWFuYWdlciwgLypQdWJsaWNTZXJ2ZXJzLCovIFRoZW1lTWFuYWdlcixcclxuICAgICAgICBVdGlsaXRpZXMsIFdlYnBhY2tNb2R1bGVzLCBEaXNjb3JkTW9kdWxlcywgU2V0dGluZ3N9O1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/modules.js\n"); /***/ }), /***/ "./src/modules/oldstorage.js": /*!***********************************!*\ !*** ./src/modules/oldstorage.js ***! \***********************************/ /*! exports provided: bdStorage, bdPluginStorage */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bdStorage\", function() { return bdStorage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bdPluginStorage\", function() { return bdPluginStorage; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n\n\nclass bdStorage {\n static get(key) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", \"Please use BdApi.getBDData(). bdStorage may be removed in future versions.\");\n return _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getBDData(key);\n }\n\n static set(key, data) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", \"Please use BdApi.setBDData(). bdStorage may be removed in future versions.\");\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setBDData(key, data);\n }\n\n}\nclass bdPluginStorage {\n static get(pluginName, key) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", `${pluginName}, please use BdApi.loadData() or BdApi.getData(). bdPluginStorage may be removed in future versions.`);\n return _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getPluginData(pluginName, key) || null;\n }\n\n static set(pluginName, key, data) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", `${pluginName}, please use BdApi.saveData() or BdApi.setData(). bdPluginStorage may be removed in future versions.`);\n if (typeof data === \"undefined\") return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", \"Trying to set undefined value in plugin \" + pluginName);\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setPluginData(pluginName, key, data);\n }\n\n static delete(pluginName, key) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", `${pluginName}, please use BdApi.deleteData(). bdPluginStorage may be removed in future versions.`);\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deletePluginData(pluginName, key);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvb2xkc3RvcmFnZS5qcz8zNDA4Il0sIm5hbWVzIjpbImJkU3RvcmFnZSIsImdldCIsImtleSIsIlV0aWxpdGllcyIsIndhcm4iLCJEYXRhU3RvcmUiLCJnZXRCRERhdGEiLCJzZXQiLCJkYXRhIiwic2V0QkREYXRhIiwiYmRQbHVnaW5TdG9yYWdlIiwicGx1Z2luTmFtZSIsImdldFBsdWdpbkRhdGEiLCJzZXRQbHVnaW5EYXRhIiwiZGVsZXRlIiwiZGVsZXRlUGx1Z2luRGF0YSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFTyxNQUFNQSxTQUFOLENBQWdCO0FBQ25CLFNBQU9DLEdBQVAsQ0FBV0MsR0FBWCxFQUFnQjtBQUNaQyxzREFBUyxDQUFDQyxJQUFWLENBQWUsb0JBQWYsRUFBcUMsNEVBQXJDO0FBQ0EsV0FBT0Msa0RBQVMsQ0FBQ0MsU0FBVixDQUFvQkosR0FBcEIsQ0FBUDtBQUNIOztBQUVELFNBQU9LLEdBQVAsQ0FBV0wsR0FBWCxFQUFnQk0sSUFBaEIsRUFBc0I7QUFDbEJMLHNEQUFTLENBQUNDLElBQVYsQ0FBZSxvQkFBZixFQUFxQyw0RUFBckM7QUFDQUMsc0RBQVMsQ0FBQ0ksU0FBVixDQUFvQlAsR0FBcEIsRUFBeUJNLElBQXpCO0FBQ0g7O0FBVGtCO0FBWWhCLE1BQU1FLGVBQU4sQ0FBc0I7QUFDekIsU0FBT1QsR0FBUCxDQUFXVSxVQUFYLEVBQXVCVCxHQUF2QixFQUE0QjtBQUN4QkMsc0RBQVMsQ0FBQ0MsSUFBVixDQUFlLG9CQUFmLEVBQXNDLEdBQUVPLFVBQVcsc0dBQW5EO0FBQ0EsV0FBT04sa0RBQVMsQ0FBQ08sYUFBVixDQUF3QkQsVUFBeEIsRUFBb0NULEdBQXBDLEtBQTRDLElBQW5EO0FBQ0g7O0FBRUQsU0FBT0ssR0FBUCxDQUFXSSxVQUFYLEVBQXVCVCxHQUF2QixFQUE0Qk0sSUFBNUIsRUFBa0M7QUFDOUJMLHNEQUFTLENBQUNDLElBQVYsQ0FBZSxvQkFBZixFQUFzQyxHQUFFTyxVQUFXLHNHQUFuRDtBQUNBLFFBQUksT0FBT0gsSUFBUCxLQUFpQixXQUFyQixFQUFrQyxPQUFPTCxrREFBUyxDQUFDQyxJQUFWLENBQWUsb0JBQWYsRUFBcUMsNkNBQTZDTyxVQUFsRixDQUFQO0FBQ2xDTixzREFBUyxDQUFDUSxhQUFWLENBQXdCRixVQUF4QixFQUFvQ1QsR0FBcEMsRUFBeUNNLElBQXpDO0FBQ0g7O0FBRUQsU0FBT00sTUFBUCxDQUFjSCxVQUFkLEVBQTBCVCxHQUExQixFQUErQjtBQUMzQkMsc0RBQVMsQ0FBQ0MsSUFBVixDQUFlLG9CQUFmLEVBQXNDLEdBQUVPLFVBQVcscUZBQW5EO0FBQ0FOLHNEQUFTLENBQUNVLGdCQUFWLENBQTJCSixVQUEzQixFQUF1Q1QsR0FBdkM7QUFDSDs7QUFmd0IiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9vbGRzdG9yYWdlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IERhdGFTdG9yZSBmcm9tIFwiLi9kYXRhc3RvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBiZFN0b3JhZ2Uge1xyXG4gICAgc3RhdGljIGdldChrZXkpIHtcclxuICAgICAgICBVdGlsaXRpZXMud2FybihcIkRlcHJlY2F0aW9uIE5vdGljZVwiLCBcIlBsZWFzZSB1c2UgQmRBcGkuZ2V0QkREYXRhKCkuIGJkU3RvcmFnZSBtYXkgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXCIpO1xyXG4gICAgICAgIHJldHVybiBEYXRhU3RvcmUuZ2V0QkREYXRhKGtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNldChrZXksIGRhdGEpIHtcclxuICAgICAgICBVdGlsaXRpZXMud2FybihcIkRlcHJlY2F0aW9uIE5vdGljZVwiLCBcIlBsZWFzZSB1c2UgQmRBcGkuc2V0QkREYXRhKCkuIGJkU3RvcmFnZSBtYXkgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXCIpO1xyXG4gICAgICAgIERhdGFTdG9yZS5zZXRCRERhdGEoa2V5LCBkYXRhKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIGJkUGx1Z2luU3RvcmFnZSB7XHJcbiAgICBzdGF0aWMgZ2V0KHBsdWdpbk5hbWUsIGtleSkge1xyXG4gICAgICAgIFV0aWxpdGllcy53YXJuKFwiRGVwcmVjYXRpb24gTm90aWNlXCIsIGAke3BsdWdpbk5hbWV9LCBwbGVhc2UgdXNlIEJkQXBpLmxvYWREYXRhKCkgb3IgQmRBcGkuZ2V0RGF0YSgpLiBiZFBsdWdpblN0b3JhZ2UgbWF5IGJlIHJlbW92ZWQgaW4gZnV0dXJlIHZlcnNpb25zLmApO1xyXG4gICAgICAgIHJldHVybiBEYXRhU3RvcmUuZ2V0UGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXkpIHx8IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNldChwbHVnaW5OYW1lLCBrZXksIGRhdGEpIHtcclxuICAgICAgICBVdGlsaXRpZXMud2FybihcIkRlcHJlY2F0aW9uIE5vdGljZVwiLCBgJHtwbHVnaW5OYW1lfSwgcGxlYXNlIHVzZSBCZEFwaS5zYXZlRGF0YSgpIG9yIEJkQXBpLnNldERhdGEoKS4gYmRQbHVnaW5TdG9yYWdlIG1heSBiZSByZW1vdmVkIGluIGZ1dHVyZSB2ZXJzaW9ucy5gKTtcclxuICAgICAgICBpZiAodHlwZW9mKGRhdGEpID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gVXRpbGl0aWVzLndhcm4oXCJEZXByZWNhdGlvbiBOb3RpY2VcIiwgXCJUcnlpbmcgdG8gc2V0IHVuZGVmaW5lZCB2YWx1ZSBpbiBwbHVnaW4gXCIgKyBwbHVnaW5OYW1lKTtcclxuICAgICAgICBEYXRhU3RvcmUuc2V0UGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXksIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBkZWxldGUocGx1Z2luTmFtZSwga2V5KSB7XHJcbiAgICAgICAgVXRpbGl0aWVzLndhcm4oXCJEZXByZWNhdGlvbiBOb3RpY2VcIiwgYCR7cGx1Z2luTmFtZX0sIHBsZWFzZSB1c2UgQmRBcGkuZGVsZXRlRGF0YSgpLiBiZFBsdWdpblN0b3JhZ2UgbWF5IGJlIHJlbW92ZWQgaW4gZnV0dXJlIHZlcnNpb25zLmApO1xyXG4gICAgICAgIERhdGFTdG9yZS5kZWxldGVQbHVnaW5EYXRhKHBsdWdpbk5hbWUsIGtleSk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/oldstorage.js\n"); /***/ }), /***/ "./src/modules/pluginapi.js": /*!**********************************!*\ !*** ./src/modules/pluginapi.js ***! \**********************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n\nconst BdApi = {\n get React() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React;\n },\n\n get ReactDOM() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ReactDOM;\n },\n\n get WindowConfigFile() {\n if (this._windowConfigFile) return this._windowConfigFile;\n\n const electron = __webpack_require__(/*! electron */ \"electron\").remote.app;\n\n const path = __webpack_require__(/*! path */ \"path\");\n\n const base = electron.getAppPath();\n const roamingBase = electron.getPath(\"userData\");\n const roamingLocation = path.resolve(roamingBase, electron.getVersion(), \"modules\", \"discord_desktop_core\", \"injector\", \"config.json\");\n const location = path.resolve(base, \"..\", \"app\", \"config.json\");\n\n const fs = __webpack_require__(/*! fs */ \"fs\");\n\n const realLocation = fs.existsSync(location) ? location : fs.existsSync(roamingLocation) ? roamingLocation : null;\n if (!realLocation) return this._windowConfigFile = null;\n return this._windowConfigFile = realLocation;\n }\n\n};\n\nBdApi.getAllWindowPreferences = function () {\n if (!this.WindowConfigFile) return {};\n return require(this.WindowConfigFile);\n};\n\nBdApi.getWindowPreference = function (key) {\n if (!this.WindowConfigFile) return undefined;\n return this.getAllWindowPreferences()[key];\n};\n\nBdApi.setWindowPreference = function (key, value) {\n if (!this.WindowConfigFile) return;\n\n const fs = __webpack_require__(/*! fs */ \"fs\");\n\n const prefs = this.getAllWindowPreferences();\n prefs[key] = value;\n delete __webpack_require__.c[this.WindowConfigFile];\n fs.writeFileSync(this.WindowConfigFile, JSON.stringify(prefs, null, 4));\n}; //Inject CSS to document head\n//id = id of element\n//css = custom css\n\n\nBdApi.injectCSS = function (id, css) {\n $(\"head\").append($(\"