Join our webinar on Wednesday, June 26, at 1pm EDTHow Chia Mitigates Risk in the Crypto Industry.Register
Socket
Socket
Sign inDemoInstall

@notenoughupdates/discord-akairo

Package Overview
Dependencies
5
Maintainers
1
Versions
140
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 9.0.5-dev.1633999353.3c120af to 9.0.5-dev.1634004509.ebde0e8

2

dist/package.json
{
"name": "@notenoughupdates/discord-akairo",
"version": "9.0.5-dev.1633999353.3c120af",
"version": "9.0.5-dev.1634004509.ebde0e8",
"description": "A highly customizable bot framework for Discord.js.",

@@ -5,0 +5,0 @@ "main": "./dist/src/index.js",

@@ -246,2 +246,2 @@ "use strict";

exports.default = Command;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdHJ1Y3QvY29tbWFuZHMvQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHlFQUFpRDtBQUlqRCxtRUFBb0U7QUFDcEUsb0VBQXlGO0FBQ3pGLGdGQUFpRjtBQUVqRixvRUFBcUU7QUFHckU7Ozs7R0FJRztBQUNILE1BQThCLE9BQVEsU0FBUSxzQkFBWTtJQUN6RDs7OztPQUlHO0lBQ0gsWUFBWSxFQUFVLEVBQUUsT0FBd0I7UUFDL0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUzQyxNQUFNLEVBQ0wsUUFBUSxHQUFHLEtBQUssRUFDaEIsT0FBTyxHQUFHLEVBQUUsRUFDWixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFDcEMsTUFBTSxHQUFHLElBQUksRUFDYixTQUFTLEVBQ1QsT0FBTyxHQUFHLElBQUssRUFDZixTQUFTLEdBQUcsS0FBSyxFQUNqQixhQUFhLEdBQUcsS0FBSyxFQUNyQixRQUFRLEdBQUcsSUFBSSxFQUNmLE1BQU0sR0FBRyxLQUFLLEVBQ2QsUUFBUSxHQUFHLElBQUssRUFDaEIsU0FBUyxHQUFHLENBQUMsRUFDYixnQkFBZ0IsR0FBRyxFQUFFLEVBQ3JCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUNwQixpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQzFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUN0QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFDbEIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDM0MsTUFBTSxHQUFHLElBQUksQ0FBQyxN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QztJQUNsQyxDQUFDO0NBQ0Q7QUExVUQsMEJBMFVDIiwic291cmNlc0NvbnRlbnQiOlsiLyogIGVzbGludC1kaXNhYmxlIGZ1bmMtbmFtZXMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uRGF0YSwgTWVzc2FnZSwgUGVybWlzc2lvblJlc29sdmFibGUsIFNub3dmbGFrZSB9IGZyb20gXCJkaXNjb3JkLmpzXCI7XG5pbXBvcnQgQWthaXJvRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWwvQWthaXJvRXJyb3JcIjtcbmltcG9ydCBBa2Fpcm9NZXNzYWdlIGZyb20gXCIuLi8uLi91dGlsL0FrYWlyb01lc3NhZ2VcIjtcbmltcG9ydCBDYXRlZ29yeSBmcm9tIFwiLi4vLi4vdXRpbC9DYXRlZ29yeVwiO1xuaW1wb3J0IEFrYWlyb0NsaWVudCBmcm9tIFwiLi4vQWthaXJvQ2xpZW50XCI7XG5pbXBvcnQgQWthaXJvTW9kdWxlLCB7IEFrYWlyb01vZHVsZU9wdGlvbnMgfSBmcm9tIFwiLi4vQWthaXJvTW9kdWxlXCI7XG5pbXBvcnQgQXJndW1lbnQsIHsgQXJndW1lbnRPcHRpb25zLCBEZWZhdWx0QXJndW1lbnRPcHRpb25zIH0gZnJvbSBcIi4vYXJndW1lbnRzL0FyZ3VtZW50XCI7XG5pbXBvcnQgQXJndW1lbnRSdW5uZXIsIHsgQXJndW1lbnRSdW5uZXJTdGF0ZSB9IGZyb20gXCIuL2FyZ3VtZW50cy9Bcmd1bWVudFJ1bm5lclwiO1xuaW1wb3J0IENvbW1hbmRIYW5kbGVyLCB7IElnbm9yZUNoZWNrUHJlZGljYXRlLCBQcmVmaXhTdXBwbGllciB9IGZyb20gXCIuL0NvbW1hbmRIYW5kbGVyXCI7XG5pbXBvcnQgQ29udGVudFBhcnNlciwgeyBDb250ZW50UGFyc2VyUmVzdWx0IH0gZnJvbSBcIi4vQ29udGVudFBhcnNlclwiO1xuaW1wb3J0IEZsYWcgZnJvbSBcIi4vRmxhZ1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tYW5kLlxuICogQHBhcmFtIGlkIC0gQ29tbWFuZCBJRC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIENvbW1hbmQgZXh0ZW5kcyBBa2Fpcm9Nb2R1bGUge1xuXHQvKipcblx0ICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cblx0ICogQHBhcmFtIGFyZ3MgLSBFdmFsdWF0ZWQgYXJndW1lbnRzLlxuXHQgKi9cblx0Y29uc3RydWN0b3IoaWQ6IHN0cmluZywgb3B0aW9ucz86IENvbW1hbmRPcHRpb25zKSB7XG5cdFx0c3VwZXIoaWQsIHsgY2F0ZWdvcnk6IG9wdGlvbnM/LmNhdGVnb3J5IH0pO1xuXG5cdFx0Y29uc3Qge1xuXHRcdFx0b25seU5zZncgPSBmYWxzZSxcblx0XHRcdGFsaWFzZXMgPSBbXSxcblx0XHRcdGFyZ3MgPSB0aGlzLl9hcmdzIHx8IHRoaXMuYXJncyB8fCBbXSxcblx0XHRcdHF1b3RlZCA9IHRydWUsXG5cdFx0XHRzZXBhcmF0b3IsXG5cdFx0XHRjaGFubmVsID0gbnVsbCEsXG5cdFx0XHRvd25lck9ubHkgPSBmYWxzZSxcblx0XHRcdHN1cGVyVXNlck9ubHkgPSBmYWxzZSxcblx0XHRcdGVkaXRhYmxlID0gdHJ1ZSxcblx0XHRcdHR5cGluZyA9IGZhbHNlLFxuXHRcdFx0Y29vbGRvd24gPSBudWxsISxcblx0XHRcdHJhdGVsaW1pdCA9IDEsXG5cdFx0XHRhcmd1bWVudERlZmF1bHRzID0ge30sXG5cdFx0XHRkZXNjcmlwdGlvbiA9IFwiXCIsXG5cdFx0XHRwcmVmaXggPSB0aGlzLnByZWZpeCxcblx0XHRcdGNsaWVudFBlcm1pc3Npb25zID0gdGhpcy5jbGllbnRQZXJtaXNzaW9ucyxcblx0XHRcdHVzZXJQZXJtaXNzaW9ucyA9IHRoaXMudXNlclBlcm1pc3Npb25zLFxuXHRcdFx0cmVnZXggPSB0aGlzLnJlZ2V4LFxuXHRcdFx0Y29uZGl0aW9uID0gdGhpcy5jb25kaXRpb24gfHwgKCgpID0+IGZhbHNlKSxcblx0XHRcdGJlZm9yZSA9IHRoaXMuYmVmb3JlIHx8ICgoKSA9PiB1bmRlZmluZWQpLFxuXHRcdFx0bG9jayxcblx0XHRcdGlnbm9yZUNvb2xkb3duLFxuXHRcdFx0aWdub3JlUGVybWlzc2lvbnMsXG5cdFx0XHRmbGFncyA9IFtdLFxuXHRcdFx0b3B0aW9uRmxhZ3MgPSBbXSxcblx0XHRcdHNsYXNoID0gZmFsc2UsXG5cdFx0XHRzbGFzaE9wdGlvbnMsXG5cdFx0XHRzbGFzaEVwaGVtZXJhbCA9IGZhbHNlLFxuXHRcdFx0c2xhc2hHdWlsZHMgPSBbXSxcblx0XHRcdHNsYXNoT25seSA9IGZhbHNlXG5cdFx0fTogQ29tbWFuZE9wdGlvbnMgPSBvcHRpb25zID8/IHt9O1xuXHRcdHRoaXMuYWxpYXNlcyA9IGFsaWFzZXMgPz8gW107XG5cdFx0Y29uc3QgeyBmbGFnV29yZHMsIG9wdGlvbkZsYWdXb3JkcyB9ID0gQXJyYXkuaXNBcnJheShhcmdzKVxuXHRcdFx0PyBDb250ZW50UGFyc2VyLmdldEZsYWdzKGFyZ3MpXG5cdFx0XHQ6IHsgZmxhZ1dvcmRzOiBmbGFncywgb3B0aW9uRmxhZ1dvcmRzOiBvcHRpb25GbGFncyB9O1xuXHRcdHRoaXMuY29udGVudFBhcnNlciA9IG5ldyBDb250ZW50UGFyc2VyKHtcblx0XHRcdGZsYWdXb3Jkcyxcblx0XHRcdG9wdGlvbkZsYWdXb3Jkcyxcblx0XHRcdHF1b3RlZCxcblx0XHRcdHNlcGFyYXRvclxuXHRcdH0pO1xuXHRcdHRoaXMuYXJndW1lbnRSdW5uZXIgPSBuZXcgQXJndW1lbnRSdW5uZXIodGhpcyk7XG5cdFx0dGhpcy5hcmd1bWVudEdlbmVyYXRvciA9IChcblx0XHRcdEFycmF5LmlzQXJyYXkoYXJncylcblx0XHRcdFx0PyBBcmd1bWVudFJ1bm5lci5mcm9tQXJndW1lbnRzKGFyZ3MubWFwKGFyZyA9PiBbYXJnLmlkISwgbmV3IEFyZ3VtZW50KHRoaXMsIGFyZyldKSlcblx0XHRcdFx0OiBhcmdzLmJpbmQodGhpcylcblx0XHQpIGFzIEFyZ3VtZW50R2VuZXJhdG9yO1xuXHRcdHRoaXMub25seU5zZncgPSBCb29sZWFuKG9ubHlOc2Z3KTtcblx0XHR0aGlzLmNoYW5uZWwgPSBjaGFubmVsITtcblx0XHR0aGlzLm93bmVyT25seSA9IEJvb2xlYW4ob3duZXJPbmx5KTtcblx0XHR0aGlzLnN1cGVyVXNlck9ubHkgPSBCb29sZWFuKHN1cGVyVXNlck9ubHkpO1xuXHRcdHRoaXMuZWRpdGFibGUgPSBCb29sZWFuKGVkaXRhYmxlKTtcblx0XHR0aGlzLnR5cGluZyA9IEJvb2xlYW4odHlwaW5nKTtcblx0XHR0aGlzLmNvb2xkb3duID0gY29vbGRvd24hO1xuXHRcdHRoaXMucmF0ZWxpbWl0ID0gcmF0ZWxpbWl0O1xuXHRcdHRoaXMuYXJndW1lbnREZWZhdWx0cyA9IGFyZ3VtZW50RGVmYXVsdHM7XG5cdFx0dGhpcy5kZXNjcmlwdGlvbiA9IEFycmF5LmlzQXJyYXkoZGVzY3JpcHRpb24pID8gZGVzY3JpcHRpb24uam9pbihcIlxcblwiKSA6IGRlc2NyaXB0aW9uO1xuXHRcdHRoaXMucHJlZml4ID0gdHlwZW9mIHByZWZpeCA9PT0gXCJmdW5jdGlvblwiID8gcHJlZml4LmJpbmQodGhpcykgOiBwcmVmaXg7XG5cdFx0dGhpcy5jbGllbnRQZXJtaXNzaW9ucyA9IHR5cGVvZiBjbGllbnRQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gY2xpZW50UGVybWlzc2lvbnMuYmluZCh0aGlzKSA6IGNsaWVudFBlcm1pc3Npb25zO1xuXHRcdHRoaXMudXNlclBlcm1pc3Npb25zID0gdHlwZW9mIHVzZXJQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gdXNlclBlcm1pc3Npb25zLmJpbmQodGhpcykgOiB1c2VyUGVybWlzc2lvbnM7XG5cdFx0dGhpcy5yZWdleCA9IHR5cGVvZiByZWdleCA9PT0gXCJmdW5jdGlvblwiID8gcmVnZXguYmluZCh0aGlzKSA6IHJlZ2V4O1xuXHRcdHRoaXMuY29uZGl0aW9uID0gY29uZGl0aW9uLmJpbmQodGhpcyk7XG5cdFx0dGhpcy5iZWZvcmUgPSBiZWZvcmUuYmluZCh0aGlzKTtcblx0XHR0aGlzLmxvY2sgPSBsb2NrO1xuXHRcdGlmICh0eXBlb2YgbG9jayA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0dGhpcy5sb2NrID0ge1xuXHRcdFx0XHRndWlsZDogKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKTogc3RyaW5nID0+IG1lc3NhZ2UuZ3VpbGQhICYmIG1lc3NhZ2UuZ3VpbGQuaWQhLFxuXHRcdFx0XHRjaGFubmVsOiAobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UpOiBzdHJpbmcgPT4gbWVzc2FnZS5jaGFubmVsIS5pZCxcblx0XHRcdFx0dXNlcjogKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKTogc3RyaW5nID0+IG1lc3NhZ2UuYXV0aG9yLmlkXG5cdFx0XHR9W2xvY2tdO1xuXHRcdH1cblx0XHRpZiAodGhpcy5sb2NrKSB0aGlzLmxvY2tlciA9IG5ldyBTZXQoKTtcblx0XHR0aGlzLmlnbm9yZUNvb2xkb3duID0gdHlwZW9mIGlnbm9yZUNvb2xkb3duID09PSBcImZ1bmN0aW9uXCIgPyBpZ25vcmVDb29sZG93bi5iaW5kKHRoaXMpIDogaWdub3JlQ29vbGRvd247XG5cdFx0dGhpcy5pZ25vcmVQZXJtaXNzaW9ucyA9IHR5cGVvZiBpZ25vcmVQZXJtaXNzaW9ucyA9PT0gXCJmdW5jdGlvblwiID8gaWdub3JlUGVybWlzc2lvbnMuYmluZCh0aGlzKSA6IGlnbm9yZVBlcm1pc3Npb25zO1xuXHRcdHRoaXMuc2xhc2hPcHRpb25zID0gc2xhc2hPcHRpb25zO1xuXHRcdHRoaXMuc2xhc2hFcGhlbWVyYWwgPSBzbGFzaEVwaGVtZXJhbDtcblx0XHR0aGlzLnNsYXNoID0gc2xhc2g7XG5cdFx0dGhpcy5zbGFzaEd1aWxkcyA9IHNsYXNoR3VpbGRzO1xuXHRcdHRoaXMuc2xhc2hPbmx5ID0gc2xhc2hPbmx5O1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbW1hbmQgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgYWxpYXNlczogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIERlZmF1bHQgcHJvbXB0IG9wdGlvbnMuXG5cdCAqL1xuXHRwdWJsaWMgYXJndW1lbnREZWZhdWx0czogRGVmYXVsdEFyZ3VtZW50T3B0aW9ucztcblxuXHQvKipcblx0ICogQ2F0ZWdvcnkgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGNhdGVnb3J5OiBDYXRlZ29yeTxzdHJpbmcsIENvbW1hbmQ+O1xuXG5cdC8qKlxuXHQgKiBVc2FibGUgb25seSBpbiB0aGlzIGNoYW5uZWwgdHlwZS5cblx0ICovXG5cdHB1YmxpYyBjaGFubmVsPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgQWthaXJvIGNsaWVudC5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGNsaWVudDogQWthaXJvQ2xpZW50O1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCB0byBydW4gY29tbWFuZCBieSB0aGUgY2xpZW50LlxuXHQgKi9cblx0cHVibGljIGNsaWVudFBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcblxuXHQvKipcblx0ICogQ29vbGRvd24gaW4gbWlsbGlzZWNvbmRzLlxuXHQgKi9cblx0cHVibGljIGNvb2xkb3duPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZXNjcmlwdGlvbiBvZiB0aGUgY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBkZXNjcmlwdGlvbjogYW55O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGNvbW1hbmQgY2FuIGJlIHJhbiBieSBhbiBlZGl0LlxuXHQgKi9cblx0cHVibGljIGVkaXRhYmxlOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBUaGUgZmlsZXBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBmaWxlcGF0aDogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgaGFuZGxlci5cblx0ICovXG5cdHB1YmxpYyBkZWNsYXJlIGhhbmRsZXI6IENvbW1hbmRIYW5kbGVyO1xuXG5cdC8qKlxuXHQgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBpZDogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB1c2VyKHMpIHRvIGlnbm9yZSBjb29sZG93biBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdHB1YmxpYyBpZ25vcmVDb29sZG93bj86IFNub3dmbGFrZSB8IFNub3dmbGFrZVtdIHwgSWdub3JlQ2hlY2tQcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIElEIG9mIHVzZXIocykgdG8gaWdub3JlIGB1c2VyUGVybWlzc2lvbnNgIGNoZWNrcyBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdHB1YmxpYyBpZ25vcmVQZXJtaXNzaW9ucz86IFNub3dmbGFrZSB8IFNub3dmbGFrZVtdIHwgSWdub3JlQ2hlY2tQcmVkaWNhdGU7XG5cblx0LyoqXG5cdCAqIFRoZSBrZXkgc3VwcGxpZXIgZm9yIHRoZSBsb2NrZXIuXG5cdCAqL1xuXHRwdWJsaWMgbG9jaz86IEtleVN1cHBsaWVyIHwgXCJjaGFubmVsXCIgfCBcImd1aWxkXCIgfCBcInVzZXJcIjtcblxuXHQvKipcblx0ICogU3RvcmVzIHRoZSBjdXJyZW50IGxvY2tzLlxuXHQgKi9cblx0cHVibGljIGxvY2tlcj86IFNldDxzdHJpbmc+O1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0aGUgY29tbWFuZCBjYW4gb25seSBiZSBydW4gaW4gIE5TRlcgY2hhbm5lbHMuXG5cdCAqL1xuXHRwdWJsaWMgb25seU5zZnc6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFVzYWJsZSBvbmx5IGJ5IHRoZSBjbGllbnQgb3duZXIuXG5cdCAqL1xuXHRwdWJsaWMgb3duZXJPbmx5OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBDb21tYW5kIHByZWZpeCBvdmVyd3JpdGUuXG5cdCAqL1xuXHRwdWJsaWMgcHJlZml4Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBQcmVmaXhTdXBwbGllcjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gY29uc2lkZXIgcXVvdGVzLlxuXHQgKi9cblx0cHVibGljIHF1b3RlZCE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFVzZXMgYWxsb3dlZCBiZWZvcmUgY29vbGRvd24uXG5cdCAqL1xuXHRwdWJsaWMgcmF0ZWxpbWl0OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIFRoZSByZWdleCB0cmlnZ2VyIGZvciB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgcmVnZXg/OiBSZWdFeHAgfCBSZWdleFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBNYXJrIGNvbW1hbmQgYXMgc2xhc2ggY29tbWFuZCBhbmQgc2V0IGluZm9ybWF0aW9uLlxuXHQgKi9cblx0cHVibGljIHNsYXNoPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBzbGFzaCBjb21tYW5kIHJlc3BvbnNlcyBmb3IgdGhpcyBjb21tYW5kIHNob3VsZCBiZSBlcGhlbWVyYWwgb3Igbm90LlxuXHQgKi9cblx0cHVibGljIHNsYXNoRXBoZW1lcmFsPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQXNzaWduIHNsYXNoIGNvbW1hbmRzIHRvIFNwZWNpZmljIGd1aWxkcy4gVGhpcyBvcHRpb24gd2lsbCBtYWtlIHRoZSBjb21tYW5kcyBub3QgcmVnaXN0ZXIgZ2xvYmFsbHksIGJ1dCBvbmx5IGluIHRoZSBjaG9zZW4gc2VydmVycy5cblx0ICovXG5cdHB1YmxpYyBzbGFzaEd1aWxkcz86IFNub3dmbGFrZVtdO1xuXG5cdC8qKlxuXHQgKiBPcHRpb25zIGZvciB1c2luZyB0aGUgc2xhc2ggY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBzbGFzaE9wdGlvbnM/OiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25EYXRhW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBzdXBlclVzZXJzKHMpIG9ubHkuXG5cdCAqL1xuXHRwdWJsaWMgc3VwZXJVc2VyT25seTogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gdHlwZSBkdXJpbmcgY29tbWFuZCBleGVjdXRpb24uXG5cdCAqL1xuXHRwdWJsaWMgdHlwaW5nOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCB0byBydW4gY29tbWFuZCBieSB0aGUgdXNlci5cblx0ICovXG5cdHB1YmxpYyB1c2VyUGVybWlzc2lvbnM/OiBQZXJtaXNzaW9uUmVzb2x2YWJsZSB8IFBlcm1pc3Npb25SZXNvbHZhYmxlW10gfCBNaXNzaW5nUGVybWlzc2lvblN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBBcmd1bWVudCBvcHRpb25zIG9yIGdlbmVyYXRvci5cblx0ICovXG5cdHB1YmxpYyBfYXJncz86IEFyZ3VtZW50T3B0aW9uc1tdIHwgQXJndW1lbnRHZW5lcmF0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBjb250ZW50IHBhcnNlci5cblx0ICovXG5cdHB1YmxpYyBjb250ZW50UGFyc2VyOiBDb250ZW50UGFyc2VyO1xuXG5cdC8qKlxuXHQgKiBUaGUgYXJndW1lbnQgcnVubmVyLlxuXHQgKi9cblx0cHVibGljIGFyZ3VtZW50UnVubmVyOiBBcmd1bWVudFJ1bm5lcjtcblxuXHQvKipcblx0ICogT25seSBhbGxvd3MgdGhpcyBjb21tYW5kIHRvIGJlIGV4ZWN1dGVkIGFzIGEgc2xhc2ggY29tbWFuZC5cblx0ICovXG5cdHB1YmxpYyBzbGFzaE9ubHk6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRvciBmb3IgYXJndW1lbnRzLlxuXHQgKiBXaGVuIHlpZWxkaW5nIGFyZ3VtZW50IG9wdGlvbnMsIHRoYXQgYXJndW1lbnQgaXMgcmFuIGFuZCB0aGUgcmVzdWx0IG9mIHRoZSBwcm9jZXNzaW5nIGlzIGdpdmVuLlxuXHQgKiBUaGUgbGFzdCB2YWx1ZSB3aGVuIHRoZSBnZW5lcmF0b3IgaXMgZG9uZSBpcyB0aGUgcmVzdWx0aW5nIGBhcmdzYCBmb3IgdGhlIGNvbW1hbmQncyBgZXhlY2AuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cblx0ICogQHBhcmFtIHBhcnNlZCAtIFBhcnNlZCBjb250ZW50LlxuXHQgKiBAcGFyYW0gc3RhdGUgLSBBcmd1bWVudCBwcm9jZXNzaW5nIHN0YXRlLlxuXHQgKi9cblx0cHVibGljICphcmdzKFxuXHRcdG1lc3NhZ2U6IE1lc3NhZ2UsXG5cdFx0cGFyc2VkOiBDb250ZW50UGFyc2VyUmVzdWx0LFxuXHRcdHN0YXRlOiBBcmd1bWVudFJ1bm5lclN0YXRlXG5cdCk6IEl0ZXJhYmxlSXRlcmF0b3I8QXJndW1lbnRPcHRpb25zIHwgRmxhZz4ge31cblxuXHQvKipcblx0ICogR2VuZXJhdG9yIGZvciBhcmd1bWVudHMuXG5cdCAqL1xuXHRwdWJsaWMgYXJndW1lbnRHZW5lcmF0b3I6IEFyZ3VtZW50R2VuZXJhdG9yO1xuXG5cdC8qKlxuXHQgKiBSdW5zIGJlZm9yZSBhcmd1bWVudCBwYXJzaW5nIGFuZCBleGVjdXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBiZWluZyBoYW5kbGVkLlxuXHQgKi9cblx0cHVibGljIGJlZm9yZShtZXNzYWdlOiBNZXNzYWdlKTogYW55IHt9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgcmFuIGJ5IHVzaW5nIGFuIGFyYml0cmFyeSBjb25kaXRpb24uXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBiZWluZyBoYW5kbGVkLlxuXHQgKi9cblx0cHVibGljIGNvbmRpdGlvbihtZXNzYWdlOiBNZXNzYWdlKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyBleGVjKG1lc3NhZ2U6IE1lc3NhZ2UsIGFyZ3M6IGFueSk6IGFueTtcblx0cHVibGljIGV4ZWMobWVzc2FnZTogQWthaXJvTWVzc2FnZSwgYXJnczogYW55KTogYW55O1xuXHRwdWJsaWMgZXhlYyhtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KTogYW55O1xuXHRwdWJsaWMgZXhlYyhtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KTogYW55IHtcblx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNcIik7XG5cdH1cblxuXHQvKipcblx0ICogRXhlY3V0ZSB0aGUgc2xhc2ggY29tbWFuZFxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgZm9yIHNsYXNoIGNvbW1hbmRcblx0ICogQHBhcmFtIGFyZ3MgLSBTbGFzaCBjb21tYW5kIG9wdGlvbnNcblx0ICovXG5cdHB1YmxpYyBleGVjU2xhc2gobWVzc2FnZTogQWthaXJvTWVzc2FnZSwgLi4uYXJnczogYW55W10pOiBhbnkge1xuXHRcdGlmICh0aGlzLnNsYXNoKSB7XG5cdFx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNTbGFzaFwiKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGNvbnRlbnQgdXNpbmcgdGhlIGNvbW1hbmQncyBhcmd1bWVudHMuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0byB1c2UuXG5cdCAqIEBwYXJhbSBjb250ZW50IC0gU3RyaW5nIHRvIHBhcnNlLlxuXHQgKi9cblx0cHVibGljIHBhcnNlKG1lc3NhZ2U6IE1lc3NhZ2UsIGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8RmxhZyB8IGFueT4ge1xuXHRcdGNvbnN0IHBhcnNlZCA9IHRoaXMuY29udGVudFBhcnNlci5wYXJzZShjb250ZW50KTtcblx0XHRyZXR1cm4gdGhpcy5hcmd1bWVudFJ1bm5lci5ydW4obWVzc2FnZSwgcGFyc2VkLCB0aGlzLmFyZ3VtZW50R2VuZXJhdG9yKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWxvYWRzIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIG92ZXJyaWRlIHJlbG9hZCgpOiBQcm9taXNlPENvbW1hbmQ+IHtcblx0XHRyZXR1cm4gc3VwZXIucmVsb2FkKCkgYXMgUHJvbWlzZTxDb21tYW5kPjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIG92ZXJyaWRlIHJlbW92ZSgpOiBDb21tYW5kIHtcblx0XHRyZXR1cm4gc3VwZXIucmVtb3ZlKCkgYXMgQ29tbWFuZDtcblx0fVxufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gdXNlIGZvciBjb21tYW5kIGV4ZWN1dGlvbiBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kT3B0aW9ucyBleHRlbmRzIEFrYWlyb01vZHVsZU9wdGlvbnMge1xuXHQvKipcblx0ICogQ29tbWFuZCBuYW1lcy5cblx0ICovXG5cdGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogQXJndW1lbnQgb3B0aW9ucyBvciBnZW5lcmF0b3IuXG5cdCAqL1xuXHRhcmdzPzogQXJndW1lbnRPcHRpb25zW10gfCBBcmd1bWVudEdlbmVyYXRvcjtcblxuXHQvKipcblx0ICogVGhlIGRlZmF1bHQgYXJndW1lbnQgb3B0aW9ucy5cblx0ICovXG5cdGFyZ3VtZW50RGVmYXVsdHM/OiBEZWZhdWx0QXJndW1lbnRPcHRpb25zO1xuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBydW4gYmVmb3JlIGFyZ3VtZW50IHBhcnNpbmcgYW5kIGV4ZWN1dGlvbi5cblx0ICovXG5cdGJlZm9yZT86IEJlZm9yZUFjdGlvbjtcblxuXHQvKipcblx0ICogUmVzdHJpY3RzIGNoYW5uZWwgdG8gZWl0aGVyICdndWlsZCcgb3IgJ2RtJy5cblx0ICovXG5cdGNoYW5uZWw/OiBcImd1aWxkXCIgfCBcImRtXCI7XG5cblx0LyoqXG5cdCAqIFBlcm1pc3Npb25zIHJlcXVpcmVkIGJ5IHRoZSBjbGllbnQgdG8gcnVuIHRoaXMgY29tbWFuZC5cblx0ICovXG5cdGNsaWVudFBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gcnVuIG9uIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCBkaXJlY3RseSBjb21tYW5kcy5cblx0ICovXG5cdGNvbmRpdGlvbj86IEV4ZWN1dGlvblByZWRpY2F0ZTtcblxuXHQvKipcblx0ICogVGhlIGNvbW1hbmQgY29vbGRvd24gaW4gbWlsbGlzZWNvbmRzLlxuXHQgKi9cblx0Y29vbGRvd24/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIERlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0ZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBhbnkgfCBhbnlbXTtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgbWVzc2FnZSBlZGl0cyB3aWxsIHJ1biB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRlZGl0YWJsZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEZsYWdzIHRvIHVzZSB3aGVuIHVzaW5nIGFuIEFyZ3VtZW50R2VuZXJhdG9yXG5cdCAqL1xuXHRmbGFncz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB1c2VyKHMpIHRvIGlnbm9yZSBjb29sZG93biBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdGlnbm9yZUNvb2xkb3duPzogU25vd2ZsYWtlIHwgU25vd2ZsYWtlW10gfCBJZ25vcmVDaGVja1ByZWRpY2F0ZTtcblxuXHQvKipcblx0ICogSUQgb2YgdXNlcihzKSB0byBpZ25vcmUgYHVzZXJQZXJtaXNzaW9uc2AgY2hlY2tzIG9yIGEgZnVuY3Rpb24gdG8gaWdub3JlLlxuXHQgKi9cblx0aWdub3JlUGVybWlzc2lvbnM/OiBTbm93Zmxha2UgfCBTbm93Zmxha2VbXSB8IElnbm9yZUNoZWNrUHJlZGljYXRlO1xuXG5cdC8qKlxuXHQgKiBUaGUga2V5IHR5cGUgb3Iga2V5IGdlbmVyYXRvciBmb3IgdGhlIGxvY2tlci4gSWYgbG9jayBpcyBhIHN0cmluZywgaXQncyBleHBlY3RlZCBvbmUgb2YgJ2d1aWxkJywgJ2NoYW5uZWwnLCBvciAndXNlcidcblx0ICovXG5cdGxvY2s/OiBLZXlTdXBwbGllciB8IFwiZ3VpbGRcIiB8IFwiY2hhbm5lbFwiIHwgXCJ1c2VyXCI7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIG9ubHkgYWxsb3cgdGhlIGNvbW1hbmQgdG8gYmUgcnVuIGluIE5TRlcgY2hhbm5lbHMuXG5cdCAqL1xuXHRvbmx5TnNmdz86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIE9wdGlvbiBmbGFncyB0byB1c2Ugd2hlbiB1c2luZyBhbiBBcmd1bWVudEdlbmVyYXRvci5cblx0ICovXG5cdG9wdGlvbkZsYWdzPzogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBvd25lcihzKSBvbmx5LlxuXHQgKi9cblx0b3duZXJPbmx5PzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIHByZWZpeChlcykgdG8gb3ZlcndyaXRlIHRoZSBnbG9iYWwgb25lIGZvciB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRwcmVmaXg/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFByZWZpeFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byBjb25zaWRlciBxdW90ZXMuXG5cdCAqL1xuXHRxdW90ZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBBbW91bnQgb2YgY29tbWFuZCB1c2VzIGFsbG93ZWQgdW50aWwgY29vbGRvd24uXG5cdCAqL1xuXHRyYXRlbGltaXQ/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIEEgcmVnZXggdG8gbWF0Y2ggaW4gbWVzc2FnZXMgdGhhdCBhcmUgbm90IGRpcmVjdGx5IGNvbW1hbmRzLiBUaGUgYXJncyBvYmplY3Qgd2lsbCBoYXZlIGBtYXRjaGAgYW5kIGBtYXRjaGVzYCBwcm9wZXJ0aWVzLlxuXHQgKi9cblx0cmVnZXg/OiBSZWdFeHAgfCBSZWdleFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBDdXN0b20gc2VwYXJhdG9yIGZvciBhcmd1bWVudCBpbnB1dC5cblx0ICovXG5cdHNlcGFyYXRvcj86IHN0cmluZztcblxuXHQvKipcblx0ICogTWFyayBjb21tYW5kIGFzIHNsYXNoIGNvbW1hbmQgYW5kIHNldCBpbmZvcm1hdGlvbi5cblx0ICovXG5cdHNsYXNoPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBzbGFzaCBjb21tYW5kIHJlc3BvbnNlcyBmb3IgdGhpcyBjb21tYW5kIHNob3VsZCBiZSBlcGhlbWVyYWwgb3Igbm90LlxuXHQgKi9cblx0c2xhc2hFcGhlbWVyYWw/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBBc3NpZ24gc2xhc2ggY29tbWFuZHMgdG8gU3BlY2lmaWMgZ3VpbGRzLiBUaGlzIG9wdGlvbiB3aWxsIG1ha2UgdGhlIGNvbW1hbmRzIGRvIG5vdCByZWdpc3RlciBnbG9iYWxseSwgYnV0IG9ubHkgdG8gdGhlIGNob3NlbiBzZXJ2ZXJzLlxuXHQgKi9cblx0c2xhc2hHdWlsZHM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogT3B0aW9ucyBmb3IgdXNpbmcgdGhlIHNsYXNoIGNvbW1hbmQuXG5cdCAqL1xuXHRzbGFzaE9wdGlvbnM/OiBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25EYXRhW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBzdXBlclVzZXJzKHMpIG9ubHkuXG5cdCAqL1xuXHRzdXBlclVzZXJPbmx5PzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gdHlwZSBpbiBjaGFubmVsIGR1cmluZyBleGVjdXRpb24uXG5cdCAqL1xuXHR0eXBpbmc/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBQZXJtaXNzaW9ucyByZXF1aXJlZCBieSB0aGUgdXNlciB0byBydW4gdGhpcyBjb21tYW5kLlxuXHQgKi9cblx0dXNlclBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcblxuXHQvKipcblx0ICogT25seSBhbGxvdyB0aGlzIGNvbW1hbmQgdG8gYmUgdXNlZCBhcyBhIHNsYXNoIGNvbW1hbmQuIEFsc28gbWFrZXMgYHNsYXNoYCBgdHJ1ZWBcblx0ICovXG5cdHNsYXNoT25seT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0byBydW4gYmVmb3JlIGFyZ3VtZW50IHBhcnNpbmcgYW5kIGV4ZWN1dGlvbi5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cbiAqL1xuZXhwb3J0IHR5cGUgQmVmb3JlQWN0aW9uID0gKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IGFueTtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHVzZWQgdG8gc3VwcGx5IHRoZSBrZXkgZm9yIHRoZSBsb2NrZXIuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gYXJncyAtIEV2YWx1YXRlZCBhcmd1bWVudHMuXG4gKi9cbmV4cG9ydCB0eXBlIEtleVN1cHBsaWVyID0gKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlLCBhcmdzOiBhbnkpID0+IHN0cmluZztcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIHJ1biBhcmJpdHJhcmlseS5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0byBjaGVjay5cbiAqL1xuZXhwb3J0IHR5cGUgRXhlY3V0aW9uUHJlZGljYXRlID0gKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdXNlZCB0byBjaGVjayBpZiBhIG1lc3NhZ2UgaGFzIHBlcm1pc3Npb25zIGZvciB0aGUgY29tbWFuZC5cbiAqIEEgbm9uLW51bGwgcmV0dXJuIHZhbHVlIHNpZ25pZmllcyB0aGUgcmVhc29uIGZvciBtaXNzaW5nIHBlcm1pc3Npb25zLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuICovXG5leHBvcnQgdHlwZSBNaXNzaW5nUGVybWlzc2lvblN1cHBsaWVyID0gKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKSA9PiBQcm9taXNlPGFueT4gfCBhbnk7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIHJldHVybiBhIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0byBnZXQgcmVnZXggZm9yLlxuICovXG5leHBvcnQgdHlwZSBSZWdleFN1cHBsaWVyID0gKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IFJlZ0V4cDtcblxuLyoqXG4gKiBHZW5lcmF0b3IgZm9yIGFyZ3VtZW50cy5cbiAqIFdoZW4geWllbGRpbmcgYXJndW1lbnQgb3B0aW9ucywgdGhhdCBhcmd1bWVudCBpcyByYW4gYW5kIHRoZSByZXN1bHQgb2YgdGhlIHByb2Nlc3NpbmcgaXMgZ2l2ZW4uXG4gKiBUaGUgbGFzdCB2YWx1ZSB3aGVuIHRoZSBnZW5lcmF0b3IgaXMgZG9uZSBpcyB0aGUgcmVzdWx0aW5nIGBhcmdzYCBmb3IgdGhlIGNvbW1hbmQncyBgZXhlY2AuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGNvbW1hbmQuXG4gKiBAcGFyYW0gcGFyc2VkIC0gUGFyc2VkIGNvbnRlbnQuXG4gKiBAcGFyYW0gc3RhdGUgLSBBcmd1bWVudCBwcm9jZXNzaW5nIHN0YXRlLlxuICovXG5leHBvcnQgdHlwZSBBcmd1bWVudEdlbmVyYXRvciA9IChcblx0bWVzc2FnZTogTWVzc2FnZSxcblx0cGFyc2VkOiBDb250ZW50UGFyc2VyUmVzdWx0LFxuXHRzdGF0ZTogQXJndW1lbnRSdW5uZXJTdGF0ZVxuKSA9PiBJdGVyYWJsZUl0ZXJhdG9yPEFyZ3VtZW50T3B0aW9ucyB8IEZsYWc+O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdHJ1Y3QvY29tbWFuZHMvQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLHlFQUFpRDtBQUlqRCxtRUFBb0U7QUFDcEUsb0VBQXlGO0FBQ3pGLGdGQUFpRjtBQUVqRixvRUFBcUU7QUFHckU7Ozs7R0FJRztBQUNILE1BQThCLE9BQVEsU0FBUSxzQkFBWTtJQUN6RDs7OztPQUlHO0lBQ0gsWUFBWSxFQUFVLEVBQUUsT0FBd0I7UUFDL0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUzQyxNQUFNLEVBQ0wsUUFBUSxHQUFHLEtBQUssRUFDaEIsT0FBTyxHQUFHLEVBQUUsRUFDWixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFDcEMsTUFBTSxHQUFHLElBQUksRUFDYixTQUFTLEVBQ1QsT0FBTyxHQUFHLElBQUssRUFDZixTQUFTLEdBQUcsS0FBSyxFQUNqQixhQUFhLEdBQUcsS0FBSyxFQUNyQixRQUFRLEdBQUcsSUFBSSxFQUNmLE1BQU0sR0FBRyxLQUFLLEVBQ2QsUUFBUSxHQUFHLElBQUssRUFDaEIsU0FBUyxHQUFHLENBQUMsRUFDYixnQkFBZ0IsR0FBRyxFQUFFLEVBQ3JCLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUNwQixpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQzFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUN0QyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFDbEIsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDM0MsTUFBTSxHQUFHLElBQUksQ0FBQyxN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QztJQUNsQyxDQUFDO0NBQ0Q7QUF6VUQsMEJBeVVDIiwic291cmNlc0NvbnRlbnQiOlsiLyogIGVzbGludC1kaXNhYmxlIGZ1bmMtbmFtZXMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHsgQXBwbGljYXRpb25Db21tYW5kT3B0aW9uRGF0YSwgTWVzc2FnZSwgUGVybWlzc2lvblJlc29sdmFibGUsIFNub3dmbGFrZSB9IGZyb20gXCJkaXNjb3JkLmpzXCI7XG5pbXBvcnQgQWthaXJvRXJyb3IgZnJvbSBcIi4uLy4uL3V0aWwvQWthaXJvRXJyb3JcIjtcbmltcG9ydCBBa2Fpcm9NZXNzYWdlIGZyb20gXCIuLi8uLi91dGlsL0FrYWlyb01lc3NhZ2VcIjtcbmltcG9ydCBDYXRlZ29yeSBmcm9tIFwiLi4vLi4vdXRpbC9DYXRlZ29yeVwiO1xuaW1wb3J0IEFrYWlyb0NsaWVudCBmcm9tIFwiLi4vQWthaXJvQ2xpZW50XCI7XG5pbXBvcnQgQWthaXJvTW9kdWxlLCB7IEFrYWlyb01vZHVsZU9wdGlvbnMgfSBmcm9tIFwiLi4vQWthaXJvTW9kdWxlXCI7XG5pbXBvcnQgQXJndW1lbnQsIHsgQXJndW1lbnRPcHRpb25zLCBEZWZhdWx0QXJndW1lbnRPcHRpb25zIH0gZnJvbSBcIi4vYXJndW1lbnRzL0FyZ3VtZW50XCI7XG5pbXBvcnQgQXJndW1lbnRSdW5uZXIsIHsgQXJndW1lbnRSdW5uZXJTdGF0ZSB9IGZyb20gXCIuL2FyZ3VtZW50cy9Bcmd1bWVudFJ1bm5lclwiO1xuaW1wb3J0IENvbW1hbmRIYW5kbGVyLCB7IElnbm9yZUNoZWNrUHJlZGljYXRlLCBQcmVmaXhTdXBwbGllciwgU2xhc2hSZXNvbHZlVHlwZXMgfSBmcm9tIFwiLi9Db21tYW5kSGFuZGxlclwiO1xuaW1wb3J0IENvbnRlbnRQYXJzZXIsIHsgQ29udGVudFBhcnNlclJlc3VsdCB9IGZyb20gXCIuL0NvbnRlbnRQYXJzZXJcIjtcbmltcG9ydCBGbGFnIGZyb20gXCIuL0ZsYWdcIjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY29tbWFuZC5cbiAqIEBwYXJhbSBpZCAtIENvbW1hbmQgSUQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIHRoZSBjb21tYW5kLlxuICovXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBDb21tYW5kIGV4dGVuZHMgQWthaXJvTW9kdWxlIHtcblx0LyoqXG5cdCAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGNvbW1hbmQuXG5cdCAqIEBwYXJhbSBhcmdzIC0gRXZhbHVhdGVkIGFyZ3VtZW50cy5cblx0ICovXG5cdGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiBDb21tYW5kT3B0aW9ucykge1xuXHRcdHN1cGVyKGlkLCB7IGNhdGVnb3J5OiBvcHRpb25zPy5jYXRlZ29yeSB9KTtcblxuXHRcdGNvbnN0IHtcblx0XHRcdG9ubHlOc2Z3ID0gZmFsc2UsXG5cdFx0XHRhbGlhc2VzID0gW10sXG5cdFx0XHRhcmdzID0gdGhpcy5fYXJncyB8fCB0aGlzLmFyZ3MgfHwgW10sXG5cdFx0XHRxdW90ZWQgPSB0cnVlLFxuXHRcdFx0c2VwYXJhdG9yLFxuXHRcdFx0Y2hhbm5lbCA9IG51bGwhLFxuXHRcdFx0b3duZXJPbmx5ID0gZmFsc2UsXG5cdFx0XHRzdXBlclVzZXJPbmx5ID0gZmFsc2UsXG5cdFx0XHRlZGl0YWJsZSA9IHRydWUsXG5cdFx0XHR0eXBpbmcgPSBmYWxzZSxcblx0XHRcdGNvb2xkb3duID0gbnVsbCEsXG5cdFx0XHRyYXRlbGltaXQgPSAxLFxuXHRcdFx0YXJndW1lbnREZWZhdWx0cyA9IHt9LFxuXHRcdFx0ZGVzY3JpcHRpb24gPSBcIlwiLFxuXHRcdFx0cHJlZml4ID0gdGhpcy5wcmVmaXgsXG5cdFx0XHRjbGllbnRQZXJtaXNzaW9ucyA9IHRoaXMuY2xpZW50UGVybWlzc2lvbnMsXG5cdFx0XHR1c2VyUGVybWlzc2lvbnMgPSB0aGlzLnVzZXJQZXJtaXNzaW9ucyxcblx0XHRcdHJlZ2V4ID0gdGhpcy5yZWdleCxcblx0XHRcdGNvbmRpdGlvbiA9IHRoaXMuY29uZGl0aW9uIHx8ICgoKSA9PiBmYWxzZSksXG5cdFx0XHRiZWZvcmUgPSB0aGlzLmJlZm9yZSB8fCAoKCkgPT4gdW5kZWZpbmVkKSxcblx0XHRcdGxvY2ssXG5cdFx0XHRpZ25vcmVDb29sZG93bixcblx0XHRcdGlnbm9yZVBlcm1pc3Npb25zLFxuXHRcdFx0ZmxhZ3MgPSBbXSxcblx0XHRcdG9wdGlvbkZsYWdzID0gW10sXG5cdFx0XHRzbGFzaCA9IGZhbHNlLFxuXHRcdFx0c2xhc2hPcHRpb25zLFxuXHRcdFx0c2xhc2hFcGhlbWVyYWwgPSBmYWxzZSxcblx0XHRcdHNsYXNoR3VpbGRzID0gW10sXG5cdFx0XHRzbGFzaE9ubHkgPSBmYWxzZVxuXHRcdH06IENvbW1hbmRPcHRpb25zID0gb3B0aW9ucyA/PyB7fTtcblx0XHR0aGlzLmFsaWFzZXMgPSBhbGlhc2VzID8/IFtdO1xuXHRcdGNvbnN0IHsgZmxhZ1dvcmRzLCBvcHRpb25GbGFnV29yZHMgfSA9IEFycmF5LmlzQXJyYXkoYXJncylcblx0XHRcdD8gQ29udGVudFBhcnNlci5nZXRGbGFncyhhcmdzKVxuXHRcdFx0OiB7IGZsYWdXb3JkczogZmxhZ3MsIG9wdGlvbkZsYWdXb3Jkczogb3B0aW9uRmxhZ3MgfTtcblx0XHR0aGlzLmNvbnRlbnRQYXJzZXIgPSBuZXcgQ29udGVudFBhcnNlcih7XG5cdFx0XHRmbGFnV29yZHMsXG5cdFx0XHRvcHRpb25GbGFnV29yZHMsXG5cdFx0XHRxdW90ZWQsXG5cdFx0XHRzZXBhcmF0b3Jcblx0XHR9KTtcblx0XHR0aGlzLmFyZ3VtZW50UnVubmVyID0gbmV3IEFyZ3VtZW50UnVubmVyKHRoaXMpO1xuXHRcdHRoaXMuYXJndW1lbnRHZW5lcmF0b3IgPSAoXG5cdFx0XHRBcnJheS5pc0FycmF5KGFyZ3MpXG5cdFx0XHRcdD8gQXJndW1lbnRSdW5uZXIuZnJvbUFyZ3VtZW50cyhhcmdzLm1hcChhcmcgPT4gW2FyZy5pZCEsIG5ldyBBcmd1bWVudCh0aGlzLCBhcmcpXSkpXG5cdFx0XHRcdDogYXJncy5iaW5kKHRoaXMpXG5cdFx0KSBhcyBBcmd1bWVudEdlbmVyYXRvcjtcblx0XHR0aGlzLm9ubHlOc2Z3ID0gQm9vbGVhbihvbmx5TnNmdyk7XG5cdFx0dGhpcy5jaGFubmVsID0gY2hhbm5lbCE7XG5cdFx0dGhpcy5vd25lck9ubHkgPSBCb29sZWFuKG93bmVyT25seSk7XG5cdFx0dGhpcy5zdXBlclVzZXJPbmx5ID0gQm9vbGVhbihzdXBlclVzZXJPbmx5KTtcblx0XHR0aGlzLmVkaXRhYmxlID0gQm9vbGVhbihlZGl0YWJsZSk7XG5cdFx0dGhpcy50eXBpbmcgPSBCb29sZWFuKHR5cGluZyk7XG5cdFx0dGhpcy5jb29sZG93biA9IGNvb2xkb3duITtcblx0XHR0aGlzLnJhdGVsaW1pdCA9IHJhdGVsaW1pdDtcblx0XHR0aGlzLmFyZ3VtZW50RGVmYXVsdHMgPSBhcmd1bWVudERlZmF1bHRzO1xuXHRcdHRoaXMuZGVzY3JpcHRpb24gPSBBcnJheS5pc0FycmF5KGRlc2NyaXB0aW9uKSA/IGRlc2NyaXB0aW9uLmpvaW4oXCJcXG5cIikgOiBkZXNjcmlwdGlvbjtcblx0XHR0aGlzLnByZWZpeCA9IHR5cGVvZiBwcmVmaXggPT09IFwiZnVuY3Rpb25cIiA/IHByZWZpeC5iaW5kKHRoaXMpIDogcHJlZml4O1xuXHRcdHRoaXMuY2xpZW50UGVybWlzc2lvbnMgPSB0eXBlb2YgY2xpZW50UGVybWlzc2lvbnMgPT09IFwiZnVuY3Rpb25cIiA/IGNsaWVudFBlcm1pc3Npb25zLmJpbmQodGhpcykgOiBjbGllbnRQZXJtaXNzaW9ucztcblx0XHR0aGlzLnVzZXJQZXJtaXNzaW9ucyA9IHR5cGVvZiB1c2VyUGVybWlzc2lvbnMgPT09IFwiZnVuY3Rpb25cIiA/IHVzZXJQZXJtaXNzaW9ucy5iaW5kKHRoaXMpIDogdXNlclBlcm1pc3Npb25zO1xuXHRcdHRoaXMucmVnZXggPSB0eXBlb2YgcmVnZXggPT09IFwiZnVuY3Rpb25cIiA/IHJlZ2V4LmJpbmQodGhpcykgOiByZWdleDtcblx0XHR0aGlzLmNvbmRpdGlvbiA9IGNvbmRpdGlvbi5iaW5kKHRoaXMpO1xuXHRcdHRoaXMuYmVmb3JlID0gYmVmb3JlLmJpbmQodGhpcyk7XG5cdFx0dGhpcy5sb2NrID0gbG9jaztcblx0XHRpZiAodHlwZW9mIGxvY2sgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRoaXMubG9jayA9IHtcblx0XHRcdFx0Z3VpbGQ6IChtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSk6IHN0cmluZyA9PiBtZXNzYWdlLmd1aWxkISAmJiBtZXNzYWdlLmd1aWxkLmlkISxcblx0XHRcdFx0Y2hhbm5lbDogKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlKTogc3RyaW5nID0+IG1lc3NhZ2UuY2hhbm5lbCEuaWQsXG5cdFx0XHRcdHVzZXI6IChtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSk6IHN0cmluZyA9PiBtZXNzYWdlLmF1dGhvci5pZFxuXHRcdFx0fVtsb2NrXTtcblx0XHR9XG5cdFx0aWYgKHRoaXMubG9jaykgdGhpcy5sb2NrZXIgPSBuZXcgU2V0KCk7XG5cdFx0dGhpcy5pZ25vcmVDb29sZG93biA9IHR5cGVvZiBpZ25vcmVDb29sZG93biA9PT0gXCJmdW5jdGlvblwiID8gaWdub3JlQ29vbGRvd24uYmluZCh0aGlzKSA6IGlnbm9yZUNvb2xkb3duO1xuXHRcdHRoaXMuaWdub3JlUGVybWlzc2lvbnMgPSB0eXBlb2YgaWdub3JlUGVybWlzc2lvbnMgPT09IFwiZnVuY3Rpb25cIiA/IGlnbm9yZVBlcm1pc3Npb25zLmJpbmQodGhpcykgOiBpZ25vcmVQZXJtaXNzaW9ucztcblx0XHR0aGlzLnNsYXNoT3B0aW9ucyA9IHNsYXNoT3B0aW9ucztcblx0XHR0aGlzLnNsYXNoRXBoZW1lcmFsID0gc2xhc2hFcGhlbWVyYWw7XG5cdFx0dGhpcy5zbGFzaCA9IHNsYXNoO1xuXHRcdHRoaXMuc2xhc2hHdWlsZHMgPSBzbGFzaEd1aWxkcztcblx0XHR0aGlzLnNsYXNoT25seSA9IHNsYXNoT25seTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb21tYW5kIG5hbWVzLlxuXHQgKi9cblx0cHVibGljIGFsaWFzZXM6IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBEZWZhdWx0IHByb21wdCBvcHRpb25zLlxuXHQgKi9cblx0cHVibGljIGFyZ3VtZW50RGVmYXVsdHM6IERlZmF1bHRBcmd1bWVudE9wdGlvbnM7XG5cblx0LyoqXG5cdCAqIENhdGVnb3J5IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBjYXRlZ29yeTogQ2F0ZWdvcnk8c3RyaW5nLCBDb21tYW5kPjtcblxuXHQvKipcblx0ICogVXNhYmxlIG9ubHkgaW4gdGhpcyBjaGFubmVsIHR5cGUuXG5cdCAqL1xuXHRwdWJsaWMgY2hhbm5lbD86IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIEFrYWlybyBjbGllbnQuXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBjbGllbnQ6IEFrYWlyb0NsaWVudDtcblxuXHQvKipcblx0ICogUGVybWlzc2lvbnMgcmVxdWlyZWQgdG8gcnVuIGNvbW1hbmQgYnkgdGhlIGNsaWVudC5cblx0ICovXG5cdHB1YmxpYyBjbGllbnRQZXJtaXNzaW9ucz86IFBlcm1pc3Npb25SZXNvbHZhYmxlIHwgUGVybWlzc2lvblJlc29sdmFibGVbXSB8IE1pc3NpbmdQZXJtaXNzaW9uU3VwcGxpZXI7XG5cblx0LyoqXG5cdCAqIENvb2xkb3duIGluIG1pbGxpc2Vjb25kcy5cblx0ICovXG5cdHB1YmxpYyBjb29sZG93bj86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVzY3JpcHRpb24gb2YgdGhlIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgZGVzY3JpcHRpb246IGFueTtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdGhpcyBjb21tYW5kIGNhbiBiZSByYW4gYnkgYW4gZWRpdC5cblx0ICovXG5cdHB1YmxpYyBlZGl0YWJsZTogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIGZpbGVwYXRoLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgZmlsZXBhdGg6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIGhhbmRsZXIuXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBoYW5kbGVyOiBDb21tYW5kSGFuZGxlcjtcblxuXHQvKipcblx0ICogVGhlIElEIG9mIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgaWQ6IHN0cmluZztcblxuXHQvKipcblx0ICogSUQgb2YgdXNlcihzKSB0byBpZ25vcmUgY29vbGRvd24gb3IgYSBmdW5jdGlvbiB0byBpZ25vcmUuXG5cdCAqL1xuXHRwdWJsaWMgaWdub3JlQ29vbGRvd24/OiBTbm93Zmxha2UgfCBTbm93Zmxha2VbXSB8IElnbm9yZUNoZWNrUHJlZGljYXRlO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB1c2VyKHMpIHRvIGlnbm9yZSBgdXNlclBlcm1pc3Npb25zYCBjaGVja3Mgb3IgYSBmdW5jdGlvbiB0byBpZ25vcmUuXG5cdCAqL1xuXHRwdWJsaWMgaWdub3JlUGVybWlzc2lvbnM/OiBTbm93Zmxha2UgfCBTbm93Zmxha2VbXSB8IElnbm9yZUNoZWNrUHJlZGljYXRlO1xuXG5cdC8qKlxuXHQgKiBUaGUga2V5IHN1cHBsaWVyIGZvciB0aGUgbG9ja2VyLlxuXHQgKi9cblx0cHVibGljIGxvY2s/OiBLZXlTdXBwbGllciB8IFwiY2hhbm5lbFwiIHwgXCJndWlsZFwiIHwgXCJ1c2VyXCI7XG5cblx0LyoqXG5cdCAqIFN0b3JlcyB0aGUgY3VycmVudCBsb2Nrcy5cblx0ICovXG5cdHB1YmxpYyBsb2NrZXI/OiBTZXQ8c3RyaW5nPjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdGhlIGNvbW1hbmQgY2FuIG9ubHkgYmUgcnVuIGluICBOU0ZXIGNoYW5uZWxzLlxuXHQgKi9cblx0cHVibGljIG9ubHlOc2Z3OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBVc2FibGUgb25seSBieSB0aGUgY2xpZW50IG93bmVyLlxuXHQgKi9cblx0cHVibGljIG93bmVyT25seTogYm9vbGVhbjtcblxuXHQvKipcblx0ICogQ29tbWFuZCBwcmVmaXggb3ZlcndyaXRlLlxuXHQgKi9cblx0cHVibGljIHByZWZpeD86IHN0cmluZyB8IHN0cmluZ1tdIHwgUHJlZml4U3VwcGxpZXI7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGNvbnNpZGVyIHF1b3Rlcy5cblx0ICovXG5cdHB1YmxpYyBxdW90ZWQhOiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBVc2VzIGFsbG93ZWQgYmVmb3JlIGNvb2xkb3duLlxuXHQgKi9cblx0cHVibGljIHJhdGVsaW1pdDogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBUaGUgcmVnZXggdHJpZ2dlciBmb3IgdGhpcyBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIHJlZ2V4PzogUmVnRXhwIHwgUmVnZXhTdXBwbGllcjtcblxuXHQvKipcblx0ICogTWFyayBjb21tYW5kIGFzIHNsYXNoIGNvbW1hbmQgYW5kIHNldCBpbmZvcm1hdGlvbi5cblx0ICovXG5cdHB1YmxpYyBzbGFzaD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgc2xhc2ggY29tbWFuZCByZXNwb25zZXMgZm9yIHRoaXMgY29tbWFuZCBzaG91bGQgYmUgZXBoZW1lcmFsIG9yIG5vdC5cblx0ICovXG5cdHB1YmxpYyBzbGFzaEVwaGVtZXJhbD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEFzc2lnbiBzbGFzaCBjb21tYW5kcyB0byBTcGVjaWZpYyBndWlsZHMuIFRoaXMgb3B0aW9uIHdpbGwgbWFrZSB0aGUgY29tbWFuZHMgbm90IHJlZ2lzdGVyIGdsb2JhbGx5LCBidXQgb25seSBpbiB0aGUgY2hvc2VuIHNlcnZlcnMuXG5cdCAqL1xuXHRwdWJsaWMgc2xhc2hHdWlsZHM/OiBTbm93Zmxha2VbXTtcblxuXHQvKipcblx0ICogT3B0aW9ucyBmb3IgdXNpbmcgdGhlIHNsYXNoIGNvbW1hbmQuXG5cdCAqL1xuXHRwdWJsaWMgc2xhc2hPcHRpb25zPzogU2xhc2hPcHRpb25bXTtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gYWxsb3cgY2xpZW50IHN1cGVyVXNlcnMocykgb25seS5cblx0ICovXG5cdHB1YmxpYyBzdXBlclVzZXJPbmx5OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byB0eXBlIGR1cmluZyBjb21tYW5kIGV4ZWN1dGlvbi5cblx0ICovXG5cdHB1YmxpYyB0eXBpbmc6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFBlcm1pc3Npb25zIHJlcXVpcmVkIHRvIHJ1biBjb21tYW5kIGJ5IHRoZSB1c2VyLlxuXHQgKi9cblx0cHVibGljIHVzZXJQZXJtaXNzaW9ucz86IFBlcm1pc3Npb25SZXNvbHZhYmxlIHwgUGVybWlzc2lvblJlc29sdmFibGVbXSB8IE1pc3NpbmdQZXJtaXNzaW9uU3VwcGxpZXI7XG5cblx0LyoqXG5cdCAqIEFyZ3VtZW50IG9wdGlvbnMgb3IgZ2VuZXJhdG9yLlxuXHQgKi9cblx0cHVibGljIF9hcmdzPzogQXJndW1lbnRPcHRpb25zW10gfCBBcmd1bWVudEdlbmVyYXRvcjtcblxuXHQvKipcblx0ICogVGhlIGNvbnRlbnQgcGFyc2VyLlxuXHQgKi9cblx0cHVibGljIGNvbnRlbnRQYXJzZXI6IENvbnRlbnRQYXJzZXI7XG5cblx0LyoqXG5cdCAqIFRoZSBhcmd1bWVudCBydW5uZXIuXG5cdCAqL1xuXHRwdWJsaWMgYXJndW1lbnRSdW5uZXI6IEFyZ3VtZW50UnVubmVyO1xuXG5cdC8qKlxuXHQgKiBPbmx5IGFsbG93cyB0aGlzIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgYXMgYSBzbGFzaCBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIHNsYXNoT25seTogYm9vbGVhbjtcblxuXHQvKipcblx0ICogR2VuZXJhdG9yIGZvciBhcmd1bWVudHMuXG5cdCAqIFdoZW4geWllbGRpbmcgYXJndW1lbnQgb3B0aW9ucywgdGhhdCBhcmd1bWVudCBpcyByYW4gYW5kIHRoZSByZXN1bHQgb2YgdGhlIHByb2Nlc3NpbmcgaXMgZ2l2ZW4uXG5cdCAqIFRoZSBsYXN0IHZhbHVlIHdoZW4gdGhlIGdlbmVyYXRvciBpcyBkb25lIGlzIHRoZSByZXN1bHRpbmcgYGFyZ3NgIGZvciB0aGUgY29tbWFuZCdzIGBleGVjYC5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuXHQgKiBAcGFyYW0gcGFyc2VkIC0gUGFyc2VkIGNvbnRlbnQuXG5cdCAqIEBwYXJhbSBzdGF0ZSAtIEFyZ3VtZW50IHByb2Nlc3Npbmcgc3RhdGUuXG5cdCAqL1xuXHRwdWJsaWMgKmFyZ3MoXG5cdFx0bWVzc2FnZTogTWVzc2FnZSxcblx0XHRwYXJzZWQ6IENvbnRlbnRQYXJzZXJSZXN1bHQsXG5cdFx0c3RhdGU6IEFyZ3VtZW50UnVubmVyU3RhdGVcblx0KTogSXRlcmFibGVJdGVyYXRvcjxBcmd1bWVudE9wdGlvbnMgfCBGbGFnPiB7fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0b3IgZm9yIGFyZ3VtZW50cy5cblx0ICovXG5cdHB1YmxpYyBhcmd1bWVudEdlbmVyYXRvcjogQXJndW1lbnRHZW5lcmF0b3I7XG5cblx0LyoqXG5cdCAqIFJ1bnMgYmVmb3JlIGFyZ3VtZW50IHBhcnNpbmcgYW5kIGV4ZWN1dGlvbi5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIGJlaW5nIGhhbmRsZWQuXG5cdCAqL1xuXHRwdWJsaWMgYmVmb3JlKG1lc3NhZ2U6IE1lc3NhZ2UpOiBhbnkge31cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSByYW4gYnkgdXNpbmcgYW4gYXJiaXRyYXJ5IGNvbmRpdGlvbi5cblx0ICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIGJlaW5nIGhhbmRsZWQuXG5cdCAqL1xuXHRwdWJsaWMgY29uZGl0aW9uKG1lc3NhZ2U6IE1lc3NhZ2UpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSwgYXJnczogYW55KTogYW55O1xuXHRwdWJsaWMgZXhlYyhtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KTogYW55O1xuXHRwdWJsaWMgZXhlYyhtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KTogYW55IHtcblx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNcIik7XG5cdH1cblxuXHQvKipcblx0ICogRXhlY3V0ZSB0aGUgc2xhc2ggY29tbWFuZFxuXHQgKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgZm9yIHNsYXNoIGNvbW1hbmRcblx0ICogQHBhcmFtIGFyZ3MgLSBTbGFzaCBjb21tYW5kIG9wdGlvbnNcblx0ICovXG5cdHB1YmxpYyBleGVjU2xhc2gobWVzc2FnZTogQWthaXJvTWVzc2FnZSwgLi4uYXJnczogYW55W10pOiBhbnkge1xuXHRcdGlmICh0aGlzLnNsYXNoKSB7XG5cdFx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNTbGFzaFwiKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGNvbnRlbnQgdXNpbmcgdGhlIGNvbW1hbmQncyBhcmd1bWVudHMuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0byB1c2UuXG5cdCAqIEBwYXJhbSBjb250ZW50IC0gU3RyaW5nIHRvIHBhcnNlLlxuXHQgKi9cblx0cHVibGljIHBhcnNlKG1lc3NhZ2U6IE1lc3NhZ2UsIGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8RmxhZyB8IGFueT4ge1xuXHRcdGNvbnN0IHBhcnNlZCA9IHRoaXMuY29udGVudFBhcnNlci5wYXJzZShjb250ZW50KTtcblx0XHRyZXR1cm4gdGhpcy5hcmd1bWVudFJ1bm5lci5ydW4obWVzc2FnZSwgcGFyc2VkLCB0aGlzLmFyZ3VtZW50R2VuZXJhdG9yKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWxvYWRzIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIG92ZXJyaWRlIHJlbG9hZCgpOiBQcm9taXNlPENvbW1hbmQ+IHtcblx0XHRyZXR1cm4gc3VwZXIucmVsb2FkKCkgYXMgUHJvbWlzZTxDb21tYW5kPjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0cHVibGljIG92ZXJyaWRlIHJlbW92ZSgpOiBDb21tYW5kIHtcblx0XHRyZXR1cm4gc3VwZXIucmVtb3ZlKCkgYXMgQ29tbWFuZDtcblx0fVxufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gdXNlIGZvciBjb21tYW5kIGV4ZWN1dGlvbiBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kT3B0aW9ucyBleHRlbmRzIEFrYWlyb01vZHVsZU9wdGlvbnMge1xuXHQvKipcblx0ICogQ29tbWFuZCBuYW1lcy5cblx0ICovXG5cdGFsaWFzZXM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogQXJndW1lbnQgb3B0aW9ucyBvciBnZW5lcmF0b3IuXG5cdCAqL1xuXHRhcmdzPzogQXJndW1lbnRPcHRpb25zW10gfCBBcmd1bWVudEdlbmVyYXRvcjtcblxuXHQvKipcblx0ICogVGhlIGRlZmF1bHQgYXJndW1lbnQgb3B0aW9ucy5cblx0ICovXG5cdGFyZ3VtZW50RGVmYXVsdHM/OiBEZWZhdWx0QXJndW1lbnRPcHRpb25zO1xuXG5cdC8qKlxuXHQgKiBGdW5jdGlvbiB0byBydW4gYmVmb3JlIGFyZ3VtZW50IHBhcnNpbmcgYW5kIGV4ZWN1dGlvbi5cblx0ICovXG5cdGJlZm9yZT86IEJlZm9yZUFjdGlvbjtcblxuXHQvKipcblx0ICogUmVzdHJpY3RzIGNoYW5uZWwgdG8gZWl0aGVyICdndWlsZCcgb3IgJ2RtJy5cblx0ICovXG5cdGNoYW5uZWw/OiBcImd1aWxkXCIgfCBcImRtXCI7XG5cblx0LyoqXG5cdCAqIFBlcm1pc3Npb25zIHJlcXVpcmVkIGJ5IHRoZSBjbGllbnQgdG8gcnVuIHRoaXMgY29tbWFuZC5cblx0ICovXG5cdGNsaWVudFBlcm1pc3Npb25zPzogUGVybWlzc2lvblJlc29sdmFibGUgfCBQZXJtaXNzaW9uUmVzb2x2YWJsZVtdIHwgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllcjtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgdG8gcnVuIG9uIG1lc3NhZ2VzIHRoYXQgYXJlIG5vdCBkaXJlY3RseSBjb21tYW5kcy5cblx0ICovXG5cdGNvbmRpdGlvbj86IEV4ZWN1dGlvblByZWRpY2F0ZTtcblxuXHQvKipcblx0ICogVGhlIGNvbW1hbmQgY29vbGRvd24gaW4gbWlsbGlzZWNvbmRzLlxuXHQgKi9cblx0Y29vbGRvd24/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIERlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kLlxuXHQgKi9cblx0ZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBhbnkgfCBhbnlbXTtcblxuXHQvKipcblx0ICogV2hldGhlciBvciBub3QgbWVzc2FnZSBlZGl0cyB3aWxsIHJ1biB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRlZGl0YWJsZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEZsYWdzIHRvIHVzZSB3aGVuIHVzaW5nIGFuIEFyZ3VtZW50R2VuZXJhdG9yXG5cdCAqL1xuXHRmbGFncz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB1c2VyKHMpIHRvIGlnbm9yZSBjb29sZG93biBvciBhIGZ1bmN0aW9uIHRvIGlnbm9yZS5cblx0ICovXG5cdGlnbm9yZUNvb2xkb3duPzogU25vd2ZsYWtlIHwgU25vd2ZsYWtlW10gfCBJZ25vcmVDaGVja1ByZWRpY2F0ZTtcblxuXHQvKipcblx0ICogSUQgb2YgdXNlcihzKSB0byBpZ25vcmUgYHVzZXJQZXJtaXNzaW9uc2AgY2hlY2tzIG9yIGEgZnVuY3Rpb24gdG8gaWdub3JlLlxuXHQgKi9cblx0aWdub3JlUGVybWlzc2lvbnM/OiBTbm93Zmxha2UgfCBTbm93Zmxha2VbXSB8IElnbm9yZUNoZWNrUHJlZGljYXRlO1xuXG5cdC8qKlxuXHQgKiBUaGUga2V5IHR5cGUgb3Iga2V5IGdlbmVyYXRvciBmb3IgdGhlIGxvY2tlci4gSWYgbG9jayBpcyBhIHN0cmluZywgaXQncyBleHBlY3RlZCBvbmUgb2YgJ2d1aWxkJywgJ2NoYW5uZWwnLCBvciAndXNlcidcblx0ICovXG5cdGxvY2s/OiBLZXlTdXBwbGllciB8IFwiZ3VpbGRcIiB8IFwiY2hhbm5lbFwiIHwgXCJ1c2VyXCI7XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIG9ubHkgYWxsb3cgdGhlIGNvbW1hbmQgdG8gYmUgcnVuIGluIE5TRlcgY2hhbm5lbHMuXG5cdCAqL1xuXHRvbmx5TnNmdz86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIE9wdGlvbiBmbGFncyB0byB1c2Ugd2hlbiB1c2luZyBhbiBBcmd1bWVudEdlbmVyYXRvci5cblx0ICovXG5cdG9wdGlvbkZsYWdzPzogc3RyaW5nW107XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IGNsaWVudCBvd25lcihzKSBvbmx5LlxuXHQgKi9cblx0b3duZXJPbmx5PzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogVGhlIHByZWZpeChlcykgdG8gb3ZlcndyaXRlIHRoZSBnbG9iYWwgb25lIGZvciB0aGlzIGNvbW1hbmQuXG5cdCAqL1xuXHRwcmVmaXg/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFByZWZpeFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byBjb25zaWRlciBxdW90ZXMuXG5cdCAqL1xuXHRxdW90ZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBBbW91bnQgb2YgY29tbWFuZCB1c2VzIGFsbG93ZWQgdW50aWwgY29vbGRvd24uXG5cdCAqL1xuXHRyYXRlbGltaXQ/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIEEgcmVnZXggdG8gbWF0Y2ggaW4gbWVzc2FnZXMgdGhhdCBhcmUgbm90IGRpcmVjdGx5IGNvbW1hbmRzLiBUaGUgYXJncyBvYmplY3Qgd2lsbCBoYXZlIGBtYXRjaGAgYW5kIGBtYXRjaGVzYCBwcm9wZXJ0aWVzLlxuXHQgKi9cblx0cmVnZXg/OiBSZWdFeHAgfCBSZWdleFN1cHBsaWVyO1xuXG5cdC8qKlxuXHQgKiBDdXN0b20gc2VwYXJhdG9yIGZvciBhcmd1bWVudCBpbnB1dC5cblx0ICovXG5cdHNlcGFyYXRvcj86IHN0cmluZztcblxuXHQvKipcblx0ICogTWFyayBjb21tYW5kIGFzIHNsYXNoIGNvbW1hbmQgYW5kIHNldCBpbmZvcm1hdGlvbi5cblx0ICovXG5cdHNsYXNoPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogV2hldGhlciBzbGFzaCBjb21tYW5kIHJlc3BvbnNlcyBmb3IgdGhpcyBjb21tYW5kIHNob3VsZCBiZSBlcGhlbWVyYWwgb3Igbm90LlxuXHQgKi9cblx0c2xhc2hFcGhlbWVyYWw/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBBc3NpZ24gc2xhc2ggY29tbWFuZHMgdG8gU3BlY2lmaWMgZ3VpbGRzLiBUaGlzIG9wdGlvbiB3aWxsIG1ha2UgdGhlIGNvbW1hbmRzIG5vdCByZWdpc3RlciBnbG9iYWxseSwgYnV0IG9ubHkgdG8gdGhlIGNob3NlbiBzZXJ2ZXJzLlxuXHQgKi9cblx0c2xhc2hHdWlsZHM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogT3B0aW9ucyBmb3IgdXNpbmcgdGhlIHNsYXNoIGNvbW1hbmQuXG5cdCAqL1xuXHRzbGFzaE9wdGlvbnM/OiBTbGFzaE9wdGlvbltdO1xuXG5cdC8qKlxuXHQgKiBXaGV0aGVyIG9yIG5vdCB0byBhbGxvdyBjbGllbnQgc3VwZXJVc2VycyhzKSBvbmx5LlxuXHQgKi9cblx0c3VwZXJVc2VyT25seT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRvIHR5cGUgaW4gY2hhbm5lbCBkdXJpbmcgZXhlY3V0aW9uLlxuXHQgKi9cblx0dHlwaW5nPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogUGVybWlzc2lvbnMgcmVxdWlyZWQgYnkgdGhlIHVzZXIgdG8gcnVuIHRoaXMgY29tbWFuZC5cblx0ICovXG5cdHVzZXJQZXJtaXNzaW9ucz86IFBlcm1pc3Npb25SZXNvbHZhYmxlIHwgUGVybWlzc2lvblJlc29sdmFibGVbXSB8IE1pc3NpbmdQZXJtaXNzaW9uU3VwcGxpZXI7XG5cblx0LyoqXG5cdCAqIE9ubHkgYWxsb3cgdGhpcyBjb21tYW5kIHRvIGJlIHVzZWQgYXMgYSBzbGFzaCBjb21tYW5kLiBBbHNvIG1ha2VzIGBzbGFzaGAgYHRydWVgXG5cdCAqL1xuXHRzbGFzaE9ubHk/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdG8gcnVuIGJlZm9yZSBhcmd1bWVudCBwYXJzaW5nIGFuZCBleGVjdXRpb24uXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdGhhdCB0cmlnZ2VyZWQgdGhlIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCB0eXBlIEJlZm9yZUFjdGlvbiA9IChtZXNzYWdlOiBNZXNzYWdlKSA9PiBhbnk7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIHN1cHBseSB0aGUga2V5IGZvciB0aGUgbG9ja2VyLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIGFyZ3MgLSBFdmFsdWF0ZWQgYXJndW1lbnRzLlxuICovXG5leHBvcnQgdHlwZSBLZXlTdXBwbGllciA9IChtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSwgYXJnczogYW55KSA9PiBzdHJpbmc7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB1c2VkIHRvIGNoZWNrIGlmIHRoZSBjb21tYW5kIHNob3VsZCBydW4gYXJiaXRyYXJpbHkuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdG8gY2hlY2suXG4gKi9cbmV4cG9ydCB0eXBlIEV4ZWN1dGlvblByZWRpY2F0ZSA9IChtZXNzYWdlOiBNZXNzYWdlKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHVzZWQgdG8gY2hlY2sgaWYgYSBtZXNzYWdlIGhhcyBwZXJtaXNzaW9ucyBmb3IgdGhlIGNvbW1hbmQuXG4gKiBBIG5vbi1udWxsIHJldHVybiB2YWx1ZSBzaWduaWZpZXMgdGhlIHJlYXNvbiBmb3IgbWlzc2luZyBwZXJtaXNzaW9ucy5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSB0aGF0IHRyaWdnZXJlZCB0aGUgY29tbWFuZC5cbiAqL1xuZXhwb3J0IHR5cGUgTWlzc2luZ1Blcm1pc3Npb25TdXBwbGllciA9IChtZXNzYWdlOiBNZXNzYWdlIHwgQWthaXJvTWVzc2FnZSkgPT4gUHJvbWlzZTxhbnk+IHwgYW55O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdXNlZCB0byByZXR1cm4gYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKiBAcGFyYW0gbWVzc2FnZSAtIE1lc3NhZ2UgdG8gZ2V0IHJlZ2V4IGZvci5cbiAqL1xuZXhwb3J0IHR5cGUgUmVnZXhTdXBwbGllciA9IChtZXNzYWdlOiBNZXNzYWdlKSA9PiBSZWdFeHA7XG5cbi8qKlxuICogR2VuZXJhdG9yIGZvciBhcmd1bWVudHMuXG4gKiBXaGVuIHlpZWxkaW5nIGFyZ3VtZW50IG9wdGlvbnMsIHRoYXQgYXJndW1lbnQgaXMgcmFuIGFuZCB0aGUgcmVzdWx0IG9mIHRoZSBwcm9jZXNzaW5nIGlzIGdpdmVuLlxuICogVGhlIGxhc3QgdmFsdWUgd2hlbiB0aGUgZ2VuZXJhdG9yIGlzIGRvbmUgaXMgdGhlIHJlc3VsdGluZyBgYXJnc2AgZm9yIHRoZSBjb21tYW5kJ3MgYGV4ZWNgLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBNZXNzYWdlIHRoYXQgdHJpZ2dlcmVkIHRoZSBjb21tYW5kLlxuICogQHBhcmFtIHBhcnNlZCAtIFBhcnNlZCBjb250ZW50LlxuICogQHBhcmFtIHN0YXRlIC0gQXJndW1lbnQgcHJvY2Vzc2luZyBzdGF0ZS5cbiAqL1xuZXhwb3J0IHR5cGUgQXJndW1lbnRHZW5lcmF0b3IgPSAoXG5cdG1lc3NhZ2U6IE1lc3NhZ2UsXG5cdHBhcnNlZDogQ29udGVudFBhcnNlclJlc3VsdCxcblx0c3RhdGU6IEFyZ3VtZW50UnVubmVyU3RhdGVcbikgPT4gSXRlcmFibGVJdGVyYXRvcjxBcmd1bWVudE9wdGlvbnMgfCBGbGFnPjtcblxuZXhwb3J0IHR5cGUgU2xhc2hPcHRpb24gPSBBcHBsaWNhdGlvbkNvbW1hbmRPcHRpb25EYXRhICYge1xuXHQvKipcblx0ICogQWxsb3dzIHlvdSB0byBnZXQgYSBkaXNjb3JkIHJlc29sdmVkIG9iamVjdFxuXHQgKlxuXHQgKiBleC4gZ2V0IHRoZSByZXNvbHZlZCBtZW1iZXIgb2JqZWN0IHdoZW4gdGhlIHR5cGUgaXMgYFVTRVJgXG5cdCAqL1xuXHRyZXNvbHZlPzogU2xhc2hSZXNvbHZlVHlwZXM7XG59O1xuIl19

@@ -50,2 +50,2 @@ "use strict";

exports.default = Inhibitor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5oaWJpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0cnVjdC9pbmhpYml0b3JzL0luaGliaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHlFQUFpRDtBQUlqRCxtRUFBb0U7QUFJcEU7Ozs7R0FJRztBQUNILE1BQThCLFNBQVUsU0FBUSxzQkFBWTtJQUMzRCxZQUFtQixFQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsTUFBTSxFQUFFLFFBQVEsR0FBRyxDQUFDLEtBQXVCLEVBQUU7UUFDM0csS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFTO0lBMkJ4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBUztJQUV0Qjs7T0FFRztJQUNJLElBQUksQ0FBUztJQWFiLElBQUksQ0FBQyxPQUFnQyxFQUFFLE9BQWlCO1FBQzlELE1BQU0sSUFBSSxxQkFBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDRCxzREFBc0Q7SUFFdEQ7O09BRUc7SUFDYSxNQUFNO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBd0IsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDYSxNQUFNO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBZSxDQUFDO0lBQ3BDLENBQUM7Q0FDRDtBQWhGRCw0QkFnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcbmltcG9ydCBBa2Fpcm9FcnJvciBmcm9tIFwiLi4vLi4vdXRpbC9Ba2Fpcm9FcnJvclwiO1xuaW1wb3J0IEFrYWlyb01lc3NhZ2UgZnJvbSBcIi4uLy4uL3V0aWwvQWthaXJvTWVzc2FnZVwiO1xuaW1wb3J0IENhdGVnb3J5IGZyb20gXCIuLi8uLi91dGlsL0NhdGVnb3J5XCI7XG5pbXBvcnQgQWthaXJvQ2xpZW50IGZyb20gXCIuLi9Ba2Fpcm9DbGllbnRcIjtcbmltcG9ydCBBa2Fpcm9Nb2R1bGUsIHsgQWthaXJvTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuLi9Ba2Fpcm9Nb2R1bGVcIjtcbmltcG9ydCBDb21tYW5kIGZyb20gXCIuLi9jb21tYW5kcy9Db21tYW5kXCI7XG5pbXBvcnQgSW5oaWJpdG9ySGFuZGxlciBmcm9tIFwiLi9JbmhpYml0b3JIYW5kbGVyXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBpbmhpYml0b3IuXG4gKiBAcGFyYW0gaWQgLSBJbmhpYml0b3IgSUQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIHRoZSBpbmhpYml0b3IuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIEluaGliaXRvciBleHRlbmRzIEFrYWlyb01vZHVsZSB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCB7IGNhdGVnb3J5LCByZWFzb24gPSBcIlwiLCB0eXBlID0gXCJwb3N0XCIsIHByaW9yaXR5ID0gMCB9OiBJbmhpYml0b3JPcHRpb25zID0ge30pIHtcblx0XHRzdXBlcihpZCwgeyBjYXRlZ29yeSB9KTtcblxuXHRcdHRoaXMucmVhc29uID0gcmVhc29uO1xuXG5cdFx0dGhpcy50eXBlID0gdHlwZTtcblxuXHRcdHRoaXMucHJpb3JpdHkgPSBwcmlvcml0eTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgcHJpb3JpdHkgb2YgdGhlIGluaGliaXRvci5cblx0ICovXG5cdHB1YmxpYyBwcmlvcml0eTogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBUaGUgY2F0ZWdvcnkgdGhlIGluaGliaXRvciBiZWxvbmdzIHRvLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgY2F0ZWdvcnk6IENhdGVnb3J5PHN0cmluZywgSW5oaWJpdG9yPjtcblxuXHQvKipcblx0ICogVGhlIEFrYWlybyBjbGllbnQuXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBjbGllbnQ6IEFrYWlyb0NsaWVudDtcblxuXHQvKipcblx0ICogVGhlIGZpbGVwYXRoLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgZmlsZXBhdGg6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIGluaGliaXRvciBoYW5kbGVyLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgaGFuZGxlcjogSW5oaWJpdG9ySGFuZGxlcjtcblxuXHQvKipcblx0ICogVGhlIElEIG9mIHRoaXMgaW5oaWJpdG9yLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgaWQ6IHN0cmluZztcblxuXHQvKipcblx0ICogUmVhc29uIGVtaXR0ZWQgd2hlbiBjb21tYW5kIGlzIGluaGliaXRlZC5cblx0ICovXG5cdHB1YmxpYyByZWFzb246IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIHR5cGUgb2YgdGhlIGluaGliaXRvciBmb3Igd2hlbiBpdCBzaG91bGQgcnVuLlxuXHQgKi9cblx0cHVibGljIHR5cGU6IHN0cmluZztcblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIG1lc3NhZ2Ugc2hvdWxkIGJlIGJsb2NrZWQuXG5cdCAqIEEgcmV0dXJuIHZhbHVlIG9mIHRydWUgd2lsbCBibG9jayB0aGUgbWVzc2FnZS5cblx0ICogSWYgcmV0dXJuaW5nIGEgUHJvbWlzZSwgYSByZXNvbHZlZCB2YWx1ZSBvZiB0cnVlIHdpbGwgYmxvY2sgdGhlIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBiZWluZyBoYW5kbGVkLlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgdG8gY2hlY2suXG5cdCAqL1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSwgY29tbWFuZD86IENvbW1hbmQpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblx0cHVibGljIGV4ZWMobWVzc2FnZTogQWthaXJvTWVzc2FnZSwgY29tbWFuZD86IENvbW1hbmQpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UsIGNvbW1hbmQ/OiBDb21tYW5kKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XG5cdHB1YmxpYyBleGVjKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlLCBjb21tYW5kPzogQ29tbWFuZCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcblx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNcIik7XG5cdH1cblx0LyogZXNsaW50LWVuYWJsZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgdGhlIGluaGliaXRvci5cblx0ICovXG5cdHB1YmxpYyBvdmVycmlkZSByZWxvYWQoKTogUHJvbWlzZTxJbmhpYml0b3I+IHtcblx0XHRyZXR1cm4gc3VwZXIucmVsb2FkKCkgYXMgUHJvbWlzZTxJbmhpYml0b3I+O1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgdGhlIGluaGliaXRvci5cblx0ICovXG5cdHB1YmxpYyBvdmVycmlkZSByZW1vdmUoKTogSW5oaWJpdG9yIHtcblx0XHRyZXR1cm4gc3VwZXIucmVtb3ZlKCkgYXMgSW5oaWJpdG9yO1xuXHR9XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byB1c2UgZm9yIGluaGliaXRvciBleGVjdXRpb24gYmVoYXZpb3IuXG4gKiBBbHNvIGluY2x1ZGVzIHByb3BlcnRpZXMgZnJvbSBBa2Fpcm9Nb2R1bGVPcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluaGliaXRvck9wdGlvbnMgZXh0ZW5kcyBBa2Fpcm9Nb2R1bGVPcHRpb25zIHtcblx0LyoqXG5cdCAqIFJlYXNvbiBlbWl0dGVkIHdoZW4gY29tbWFuZCBvciBtZXNzYWdlIGlzIGJsb2NrZWQuXG5cdCAqL1xuXHRyZWFzb24/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENhbiBiZSAnYWxsJyB0byBydW4gb24gYWxsIG1lc3NhZ2VzLCAncHJlJyB0byBydW4gb24gbWVzc2FnZXMgbm90IGJsb2NrZWQgYnkgdGhlIGJ1aWx0LWluIGluaGliaXRvcnMsIG9yICdwb3N0JyB0byBydW4gb24gbWVzc2FnZXMgdGhhdCBhcmUgY29tbWFuZHMuXG5cdCAqIERlZmF1bHRzIHRvIGBwb3N0YFxuXHQgKi9cblx0dHlwZT86IFwiYWxsXCIgfCBcInByZVwiIHwgXCJwb3N0XCI7XG5cblx0LyoqXG5cdCAqIFByaW9yaXR5IGZvciB0aGUgaW5oaWJpdG9yIGZvciB3aGVuIG1vcmUgdGhhbiBvbmUgaW5oaWJpdG9ycyBibG9jayBhIG1lc3NhZ2UuXG5cdCAqIFRoZSBpbmhpYml0b3Igd2l0aCB0aGUgaGlnaGVzdCBwcmlvcml0eSBpcyB0aGUgb25lIHRoYXQgaXMgdXNlZCBmb3IgdGhlIGJsb2NrIHJlYXNvbi5cblx0ICogRGVmYXVsdHMgdG8gYDBgXG5cdCAqL1xuXHRwcmlvcml0eT86IG51bWJlcjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5oaWJpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0cnVjdC9pbmhpYml0b3JzL0luaGliaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHlFQUFpRDtBQUlqRCxtRUFBb0U7QUFJcEU7Ozs7R0FJRztBQUNILE1BQThCLFNBQVUsU0FBUSxzQkFBWTtJQUMzRCxZQUFtQixFQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsTUFBTSxFQUFFLFFBQVEsR0FBRyxDQUFDLEtBQXVCLEVBQUU7UUFDM0csS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFTO0lBMkJ4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBUztJQUV0Qjs7T0FFRztJQUNJLElBQUksQ0FBUztJQVliLElBQUksQ0FBQyxPQUFnQyxFQUFFLE9BQWlCO1FBQzlELE1BQU0sSUFBSSxxQkFBVyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFDRCxzREFBc0Q7SUFFdEQ7O09BRUc7SUFDYSxNQUFNO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBd0IsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDYSxNQUFNO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBZSxDQUFDO0lBQ3BDLENBQUM7Q0FDRDtBQS9FRCw0QkErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcbmltcG9ydCBBa2Fpcm9FcnJvciBmcm9tIFwiLi4vLi4vdXRpbC9Ba2Fpcm9FcnJvclwiO1xuaW1wb3J0IEFrYWlyb01lc3NhZ2UgZnJvbSBcIi4uLy4uL3V0aWwvQWthaXJvTWVzc2FnZVwiO1xuaW1wb3J0IENhdGVnb3J5IGZyb20gXCIuLi8uLi91dGlsL0NhdGVnb3J5XCI7XG5pbXBvcnQgQWthaXJvQ2xpZW50IGZyb20gXCIuLi9Ba2Fpcm9DbGllbnRcIjtcbmltcG9ydCBBa2Fpcm9Nb2R1bGUsIHsgQWthaXJvTW9kdWxlT3B0aW9ucyB9IGZyb20gXCIuLi9Ba2Fpcm9Nb2R1bGVcIjtcbmltcG9ydCBDb21tYW5kIGZyb20gXCIuLi9jb21tYW5kcy9Db21tYW5kXCI7XG5pbXBvcnQgSW5oaWJpdG9ySGFuZGxlciBmcm9tIFwiLi9JbmhpYml0b3JIYW5kbGVyXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBpbmhpYml0b3IuXG4gKiBAcGFyYW0gaWQgLSBJbmhpYml0b3IgSUQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIHRoZSBpbmhpYml0b3IuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIEluaGliaXRvciBleHRlbmRzIEFrYWlyb01vZHVsZSB7XG5cdHB1YmxpYyBjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCB7IGNhdGVnb3J5LCByZWFzb24gPSBcIlwiLCB0eXBlID0gXCJwb3N0XCIsIHByaW9yaXR5ID0gMCB9OiBJbmhpYml0b3JPcHRpb25zID0ge30pIHtcblx0XHRzdXBlcihpZCwgeyBjYXRlZ29yeSB9KTtcblxuXHRcdHRoaXMucmVhc29uID0gcmVhc29uO1xuXG5cdFx0dGhpcy50eXBlID0gdHlwZTtcblxuXHRcdHRoaXMucHJpb3JpdHkgPSBwcmlvcml0eTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgcHJpb3JpdHkgb2YgdGhlIGluaGliaXRvci5cblx0ICovXG5cdHB1YmxpYyBwcmlvcml0eTogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBUaGUgY2F0ZWdvcnkgdGhlIGluaGliaXRvciBiZWxvbmdzIHRvLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgY2F0ZWdvcnk6IENhdGVnb3J5PHN0cmluZywgSW5oaWJpdG9yPjtcblxuXHQvKipcblx0ICogVGhlIEFrYWlybyBjbGllbnQuXG5cdCAqL1xuXHRwdWJsaWMgZGVjbGFyZSBjbGllbnQ6IEFrYWlyb0NsaWVudDtcblxuXHQvKipcblx0ICogVGhlIGZpbGVwYXRoLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgZmlsZXBhdGg6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIGluaGliaXRvciBoYW5kbGVyLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgaGFuZGxlcjogSW5oaWJpdG9ySGFuZGxlcjtcblxuXHQvKipcblx0ICogVGhlIElEIG9mIHRoaXMgaW5oaWJpdG9yLlxuXHQgKi9cblx0cHVibGljIGRlY2xhcmUgaWQ6IHN0cmluZztcblxuXHQvKipcblx0ICogUmVhc29uIGVtaXR0ZWQgd2hlbiBjb21tYW5kIGlzIGluaGliaXRlZC5cblx0ICovXG5cdHB1YmxpYyByZWFzb246IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIHR5cGUgb2YgdGhlIGluaGliaXRvciBmb3Igd2hlbiBpdCBzaG91bGQgcnVuLlxuXHQgKi9cblx0cHVibGljIHR5cGU6IHN0cmluZztcblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIG1lc3NhZ2Ugc2hvdWxkIGJlIGJsb2NrZWQuXG5cdCAqIEEgcmV0dXJuIHZhbHVlIG9mIHRydWUgd2lsbCBibG9jayB0aGUgbWVzc2FnZS5cblx0ICogSWYgcmV0dXJuaW5nIGEgUHJvbWlzZSwgYSByZXNvbHZlZCB2YWx1ZSBvZiB0cnVlIHdpbGwgYmxvY2sgdGhlIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSBtZXNzYWdlIC0gTWVzc2FnZSBiZWluZyBoYW5kbGVkLlxuXHQgKiBAcGFyYW0gY29tbWFuZCAtIENvbW1hbmQgdG8gY2hlY2suXG5cdCAqL1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSwgY29tbWFuZD86IENvbW1hbmQpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcblx0cHVibGljIGV4ZWMobWVzc2FnZTogTWVzc2FnZSB8IEFrYWlyb01lc3NhZ2UsIGNvbW1hbmQ/OiBDb21tYW5kKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj47XG5cdHB1YmxpYyBleGVjKG1lc3NhZ2U6IE1lc3NhZ2UgfCBBa2Fpcm9NZXNzYWdlLCBjb21tYW5kPzogQ29tbWFuZCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcblx0XHR0aHJvdyBuZXcgQWthaXJvRXJyb3IoXCJOT1RfSU1QTEVNRU5URURcIiwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBcImV4ZWNcIik7XG5cdH1cblx0LyogZXNsaW50LWVuYWJsZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgdGhlIGluaGliaXRvci5cblx0ICovXG5cdHB1YmxpYyBvdmVycmlkZSByZWxvYWQoKTogUHJvbWlzZTxJbmhpYml0b3I+IHtcblx0XHRyZXR1cm4gc3VwZXIucmVsb2FkKCkgYXMgUHJvbWlzZTxJbmhpYml0b3I+O1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgdGhlIGluaGliaXRvci5cblx0ICovXG5cdHB1YmxpYyBvdmVycmlkZSByZW1vdmUoKTogSW5oaWJpdG9yIHtcblx0XHRyZXR1cm4gc3VwZXIucmVtb3ZlKCkgYXMgSW5oaWJpdG9yO1xuXHR9XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byB1c2UgZm9yIGluaGliaXRvciBleGVjdXRpb24gYmVoYXZpb3IuXG4gKiBBbHNvIGluY2x1ZGVzIHByb3BlcnRpZXMgZnJvbSBBa2Fpcm9Nb2R1bGVPcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluaGliaXRvck9wdGlvbnMgZXh0ZW5kcyBBa2Fpcm9Nb2R1bGVPcHRpb25zIHtcblx0LyoqXG5cdCAqIFJlYXNvbiBlbWl0dGVkIHdoZW4gY29tbWFuZCBvciBtZXNzYWdlIGlzIGJsb2NrZWQuXG5cdCAqL1xuXHRyZWFzb24/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIENhbiBiZSAnYWxsJyB0byBydW4gb24gYWxsIG1lc3NhZ2VzLCAncHJlJyB0byBydW4gb24gbWVzc2FnZXMgbm90IGJsb2NrZWQgYnkgdGhlIGJ1aWx0LWluIGluaGliaXRvcnMsIG9yICdwb3N0JyB0byBydW4gb24gbWVzc2FnZXMgdGhhdCBhcmUgY29tbWFuZHMuXG5cdCAqIERlZmF1bHRzIHRvIGBwb3N0YFxuXHQgKi9cblx0dHlwZT86IFwiYWxsXCIgfCBcInByZVwiIHwgXCJwb3N0XCI7XG5cblx0LyoqXG5cdCAqIFByaW9yaXR5IGZvciB0aGUgaW5oaWJpdG9yIGZvciB3aGVuIG1vcmUgdGhhbiBvbmUgaW5oaWJpdG9ycyBibG9jayBhIG1lc3NhZ2UuXG5cdCAqIFRoZSBpbmhpYml0b3Igd2l0aCB0aGUgaGlnaGVzdCBwcmlvcml0eSBpcyB0aGUgb25lIHRoYXQgaXMgdXNlZCBmb3IgdGhlIGJsb2NrIHJlYXNvbi5cblx0ICogRGVmYXVsdHMgdG8gYDBgXG5cdCAqL1xuXHRwcmlvcml0eT86IG51bWJlcjtcbn1cbiJdfQ==
{
"name": "@notenoughupdates/discord-akairo",
"version": "9.0.5-dev.1633999353.3c120af",
"version": "9.0.5-dev.1634004509.ebde0e8",
"description": "A highly customizable bot framework for Discord.js.",

@@ -5,0 +5,0 @@ "main": "./dist/src/index.js",

@@ -10,3 +10,3 @@ /* eslint-disable func-names, @typescript-eslint/no-unused-vars */

import ArgumentRunner, { ArgumentRunnerState } from "./arguments/ArgumentRunner";
import CommandHandler, { IgnoreCheckPredicate, PrefixSupplier } from "./CommandHandler";
import CommandHandler, { IgnoreCheckPredicate, PrefixSupplier, SlashResolveTypes } from "./CommandHandler";
import ContentParser, { ContentParserResult } from "./ContentParser";

@@ -239,3 +239,3 @@ import Flag from "./Flag";

*/
public slashOptions?: ApplicationCommandOptionData[];
public slashOptions?: SlashOption[];

@@ -311,3 +311,2 @@ /**

public exec(message: Message, args: any): any;
public exec(message: AkairoMessage, args: any): any;
public exec(message: Message | AkairoMessage, args: any): any;

@@ -479,3 +478,3 @@ public exec(message: Message | AkairoMessage, args: any): any {

/**
* Assign slash commands to Specific guilds. This option will make the commands do not register globally, but only to the chosen servers.
* Assign slash commands to Specific guilds. This option will make the commands not register globally, but only to the chosen servers.
*/

@@ -487,3 +486,3 @@ slashGuilds?: string[];

*/
slashOptions?: ApplicationCommandOptionData[];
slashOptions?: SlashOption[];

@@ -556,1 +555,10 @@ /**

) => IterableIterator<ArgumentOptions | Flag>;
export type SlashOption = ApplicationCommandOptionData & {
/**
* Allows you to get a discord resolved object
*
* ex. get the resolved member object when the type is `USER`
*/
resolve?: SlashResolveTypes;
};

@@ -8,2 +8,3 @@ import {

CommandInteractionOption,
CommandInteractionOptionResolver,
GuildApplicationCommandPermissionData,

@@ -376,3 +377,8 @@ GuildResolvable,

description: parseDescriptionCommand(data.description) || "No description provided.",
options: data.slashOptions,
options: data.slashOptions?.map(o => {
// this may not be necessary but im not sure
const temp = Object.assign({}, o);
delete temp.resolve;
return temp as ApplicationCommandOptionData;
}),
guilds: data.slashGuilds ?? [],

@@ -680,5 +686,5 @@ defaultPermission: !(data.ownerOnly || /* data.superUserOnly || */ false),

public async handleSlash(interaction: CommandInteraction): Promise<boolean | null> {
const command = this.findCommand(interaction.commandName);
const commandModule = this.findCommand(interaction.commandName);
if (!command) {
if (!commandModule) {
this.emit(CommandHandlerEvents.SLASH_NOT_FOUND, interaction);

@@ -724,3 +730,3 @@ return false;

if (await this.runPostTypeInhibitors(message, command)) {
if (await this.runPostTypeInhibitors(message, commandModule)) {
return false;

@@ -734,6 +740,6 @@ }

if (["SUB_COMMAND", "SUB_COMMAND_GROUP"].includes(option.type)) continue;
convertedOptions[option.name] = interaction.options[_.camelCase(`GET_${option.type}`) as GetFunctions](
option.name,
false
);
const originalOption = commandModule.slashOptions?.find(o => o.name === option.name);
convertedOptions[option.name] = interaction.options[
_.camelCase(`GET_${originalOption?.resolve ?? option.type}`) as GetFunctions
](option.name, false);
}

@@ -743,36 +749,36 @@

try {
if (command.lock) key = (command.lock as KeySupplier)(message, convertedOptions);
if (commandModule.lock) key = (commandModule.lock as KeySupplier)(message, convertedOptions);
if (Util.isPromise(key)) key = await key;
if (key) {
if (command.locker?.has(key)) {
if (commandModule.locker?.has(key)) {
key = null;
this.emit(CommandHandlerEvents.COMMAND_LOCKED, message, command);
this.emit(CommandHandlerEvents.COMMAND_LOCKED, message, commandModule);
return true;
}
command.locker?.add(key);
commandModule.locker?.add(key);
}
} catch (err) {
this.emitError(err, message, command);
this.emitError(err, message, commandModule);
} finally {
if (key) command.locker?.delete(key);
if (key) commandModule.locker?.delete(key);
}
if (this.autoDefer || command.slashEphemeral) {
await interaction.deferReply({ ephemeral: command.slashEphemeral });
if (this.autoDefer || commandModule.slashEphemeral) {
await interaction.deferReply({ ephemeral: commandModule.slashEphemeral });
}
try {
this.emit(CommandHandlerEvents.SLASH_STARTED, message, command, convertedOptions);
this.emit(CommandHandlerEvents.SLASH_STARTED, message, commandModule, convertedOptions);
const ret =
Object.getOwnPropertyNames(Object.getPrototypeOf(command)).includes("execSlash") || this.execSlash
? await command.execSlash(message, convertedOptions)
: await command.exec(message, convertedOptions);
this.emit(CommandHandlerEvents.SLASH_FINISHED, message, command, convertedOptions, ret);
Object.getOwnPropertyNames(Object.getPrototypeOf(commandModule)).includes("execSlash") || this.execSlash
? await commandModule.execSlash(message, convertedOptions)
: await commandModule.exec(message, convertedOptions);
this.emit(CommandHandlerEvents.SLASH_FINISHED, message, commandModule, convertedOptions, ret);
return true;
} catch (err) {
this.emit(CommandHandlerEvents.SLASH_ERROR, err, message, command);
this.emit(CommandHandlerEvents.SLASH_ERROR, err, message, commandModule);
return false;
}
} catch (err) {
this.emitError(err, message, command);
this.emitError(err, message, commandModule);
return null;

@@ -1660,2 +1666,17 @@ }

/**
* Calls the corresponding get function on the {@link CommandInteractionOptionResolver}
*/
export type SlashResolveTypes =
| "boolean"
| "channel"
| "string"
| "integer"
| "number"
| "user"
| "member"
| "role"
| "mentionable"
| "message";
type GetFunctions =

@@ -1686,1 +1707,4 @@ | "getBoolean"

};
// eslint-disable-next-line no-unused-expressions, no-constant-condition
if (false) CommandInteractionOptionResolver;

@@ -75,3 +75,2 @@ import { Message } from "discord.js";

public exec(message: Message, command?: Command): boolean | Promise<boolean>;
public exec(message: AkairoMessage, command?: Command): boolean | Promise<boolean>;
public exec(message: Message | AkairoMessage, command?: Command): boolean | Promise<boolean>;

@@ -78,0 +77,0 @@ public exec(message: Message | AkairoMessage, command?: Command): boolean | Promise<boolean> {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc