// ==UserScript==
// @name OpenAI Playground (ChatGPT) - Continue Button
// @namespace https://greasyfork.org/en/users/10118-drhouse
// @version 2.2
// @description press the [Continue] button instead of 'Add message > type continue > Ctrl+Enter', configure panel optionally saves 'Temperature', 'Maximum Length' and 'Instructions'
// @include https://platform.openai.com/playground*
// @match https://platform.openai.com/playground*
// @require https://code.jquery.com/jquery-3.7.0.min.js
// @require https://greasyfork.org/scripts/439099-monkeyconfig-modern-reloaded/code/MonkeyConfig%20Modern%20Reloaded.js?version=1012538
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_addStyle
// @grant GM_setClipboard
// @grant GM_registerMenuCommand
// @author drhouse
// @license CC-BY-NC-SA-4.0
// @icon https://www.google.com/s2/favicons?sz=64&domain=openai.com
// ==/UserScript==
/* global jQuery, $ */
this.$ = this.jQuery = jQuery.noConflict(true);
(function($){
!function () {
function t(e) {
"use strict";
var a = {
omitExtraWLInCodeBlocks: { defaultValue: !1, describe: "Omit the default extra whiteline added to code blocks", type: "boolean" },
noHeaderId: { defaultValue: !1, describe: "Turn on/off generated header id", type: "boolean" },
prefixHeaderId: { defaultValue: !1, describe: "Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix", type: "string" },
rawPrefixHeaderId: {
defaultValue: !1,
describe: 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',
type: "boolean",
},
ghCompatibleHeaderId: { defaultValue: !1, describe: "Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)", type: "boolean" },
rawHeaderId: { defaultValue: !1, describe: "Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids", type: "boolean" },
headerLevelStart: { defaultValue: !1, describe: "The header blocks level start", type: "integer" },
parseImgDimensions: { defaultValue: !1, describe: "Turn on/off image dimension parsing", type: "boolean" },
simplifiedAutoLink: { defaultValue: !1, describe: "Turn on/off GFM autolink style", type: "boolean" },
literalMidWordUnderscores: { defaultValue: !1, describe: "Parse midword underscores as literal underscores", type: "boolean" },
literalMidWordAsterisks: { defaultValue: !1, describe: "Parse midword asterisks as literal asterisks", type: "boolean" },
strikethrough: { defaultValue: !1, describe: "Turn on/off strikethrough support", type: "boolean" },
tables: { defaultValue: !1, describe: "Turn on/off tables support", type: "boolean" },
tablesHeaderId: { defaultValue: !1, describe: "Add an id to table headers", type: "boolean" },
ghCodeBlocks: { defaultValue: !0, describe: "Turn on/off GFM fenced code blocks support", type: "boolean" },
tasklists: { defaultValue: !1, describe: "Turn on/off GFM tasklist support", type: "boolean" },
smoothLivePreview: { defaultValue: !1, describe: "Prevents weird effects in live previews due to incomplete input", type: "boolean" },
smartIndentationFix: { defaultValue: !1, describe: "Tries to smartly fix indentation in es6 strings", type: "boolean" },
disableForced4SpacesIndentedSublists: { defaultValue: !1, describe: "Disables the requirement of indenting nested sublists by 4 spaces", type: "boolean" },
simpleLineBreaks: { defaultValue: !1, describe: "Parses simple line breaks as <br> (GFM Style)", type: "boolean" },
requireSpaceBeforeHeadingText: { defaultValue: !1, describe: "Makes adding a space between `#` and the header text mandatory (GFM Style)", type: "boolean" },
ghMentions: { defaultValue: !1, describe: "Enables github @mentions", type: "boolean" },
ghMentionsLink: { defaultValue: "https://github.com/{u}", describe: "Changes the link generated by @mentions. Only applies if ghMentions option is enabled.", type: "string" },
encodeEmails: { defaultValue: !0, describe: "Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities", type: "boolean" },
openLinksInNewWindow: { defaultValue: !1, describe: "Open all links in new windows", type: "boolean" },
backslashEscapesHTMLTags: { defaultValue: !1, describe: "Support for HTML Tag escaping. ex: <div>foo</div>", type: "boolean" },
emoji: { defaultValue: !1, describe: "Enable emoji support. Ex: `this is a :smile: emoji`", type: "boolean" },
underline: {
defaultValue: !1,
describe: "Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",
type: "boolean",
},
ellipsis: { defaultValue: !0, describe: "Replaces three dots with the ellipsis unicode character", type: "boolean" },
completeHTMLDocument: { defaultValue: !1, describe: "Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags", type: "boolean" },
metadata: { defaultValue: !1, describe: "Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).", type: "boolean" },
splitAdjacentBlockquotes: { defaultValue: !1, describe: "Split adjacent blockquote blocks", type: "boolean" },
moreStyling: { defaultValue: !1, describe: "Adds some useful styling css classes in the generated html", type: "boolean" },
relativePathBaseUrl: { defaultValue: !1, describe: "Prepends a base URL to relative paths", type: "string" },
};
if (!1 === e) return JSON.parse(JSON.stringify(a));
var r,
t = {};
for (r in a) a.hasOwnProperty(r) && (t[r] = a[r].defaultValue);
return t;
}
var e,
P = {},
r = {},
h = {},
m = t(!0),
d = "vanilla",
g = {
github: {
omitExtraWLInCodeBlocks: !0,
simplifiedAutoLink: !0,
literalMidWordUnderscores: !0,
strikethrough: !0,
tables: !0,
tablesHeaderId: !0,
ghCodeBlocks: !0,
tasklists: !0,
disableForced4SpacesIndentedSublists: !0,
simpleLineBreaks: !0,
requireSpaceBeforeHeadingText: !0,
ghCompatibleHeaderId: !0,
ghMentions: !0,
backslashEscapesHTMLTags: !0,
emoji: !0,
splitAdjacentBlockquotes: !0,
},
original: { noHeaderId: !0, ghCodeBlocks: !1 },
ghost: {
omitExtraWLInCodeBlocks: !0,
parseImgDimensions: !0,
simplifiedAutoLink: !0,
literalMidWordUnderscores: !0,
strikethrough: !0,
tables: !0,
tablesHeaderId: !0,
ghCodeBlocks: !0,
tasklists: !0,
smoothLivePreview: !0,
simpleLineBreaks: !0,
requireSpaceBeforeHeadingText: !0,
ghMentions: !1,
encodeEmails: !0,
},
vanilla: t(!0),
allOn: (function () {
"use strict";
var e,
a = t(!0),
r = {};
for (e in a) a.hasOwnProperty(e) && (r[e] = !0);
return r;
})(),
};
function p(e, a) {
"use strict";
var r = a ? "Error in " + a + " extension->" : "Error in unnamed extension",
t = { valid: !0, error: "" };
P.helper.isArray(e) || (e = [e]);
for (var n = 0; n < e.length; ++n) {
var s = r + " sub-extension " + n + ": ",
i = e[n];
if ("object" != typeof i) return (t.valid = !1), (t.error = s + "must be an object, but " + typeof i + " given"), t;
if (!P.helper.isString(i.type)) return (t.valid = !1), (t.error = s + 'property "type" must be a string, but ' + typeof i.type + " given"), t;
var o = (i.type = i.type.toLowerCase());
if ("lang" !== (o = "html" === (o = "language" === o ? (i.type = "lang") : o) ? (i.type = "output") : o) && "output" !== o && "listener" !== o)
return (t.valid = !1), (t.error = s + "type " + o + ' is not recognized. Valid values: "lang/language", "output/html" or "listener"'), t;
if ("listener" === o) {
if (P.helper.isUndefined(i.listeners)) return (t.valid = !1), (t.error = s + '. Extensions of type "listener" must have a property called "listeners"'), t;
} else if (P.helper.isUndefined(i.filter) && P.helper.isUndefined(i.regex)) return (t.valid = !1), (t.error = s + o + ' extensions must define either a "regex" property or a "filter" method'), t;
if (i.listeners) {
if ("object" != typeof i.listeners) return (t.valid = !1), (t.error = s + '"listeners" property must be an object but ' + typeof i.listeners + " given"), t;
for (var l in i.listeners)
if (i.listeners.hasOwnProperty(l) && "function" != typeof i.listeners[l])
return (t.valid = !1), (t.error = s + '"listeners" property must be an hash of [event name]: [callback]. listeners.' + l + " must be a function but " + typeof i.listeners[l] + " given"), t;
}
if (i.filter) {
if ("function" != typeof i.filter) return (t.valid = !1), (t.error = s + '"filter" must be a function, but ' + typeof i.filter + " given"), t;
} else if (i.regex) {
if ((P.helper.isString(i.regex) && (i.regex = new RegExp(i.regex, "g")), !(i.regex instanceof RegExp)))
return (t.valid = !1), (t.error = s + '"regex" property must either be a string or a RegExp object, but ' + typeof i.regex + " given"), t;
if (P.helper.isUndefined(i.replace)) return (t.valid = !1), (t.error = s + '"regex" extensions must implement a replace string or function'), t;
}
}
return t;
}
function n(e, a) {
"use strict";
return "¨E" + a.charCodeAt(0) + "E";
}
(P.helper = {}),
(P.extensions = {}),
(P.setOption = function (e, a) {
"use strict";
return (m[e] = a), this;
}),
(P.getOption = function (e) {
"use strict";
return m[e];
}),
(P.getOptions = function () {
"use strict";
return m;
}),
(P.resetOptions = function () {
"use strict";
m = t(!0);
}),
(P.setFlavor = function (e) {
"use strict";
if (!g.hasOwnProperty(e)) throw Error(e + " flavor was not found");
P.resetOptions();
var a,
r = g[e];
for (a in ((d = e), r)) r.hasOwnProperty(a) && (m[a] = r[a]);
}),
(P.getFlavor = function () {
"use strict";
return d;
}),
(P.getFlavorOptions = function (e) {
"use strict";
if (g.hasOwnProperty(e)) return g[e];
}),
(P.getDefaultOptions = t),
(P.subParser = function (e, a) {
"use strict";
if (!P.helper.isString(e)) throw Error("showdown.subParser function first argument must be a string (the name of the subparser)");
if (void 0 === a) {
if (r.hasOwnProperty(e)) return r[e];
throw Error("SubParser named " + e + " not registered!");
}
r[e] = a;
}),
(P.extension = function (e, a) {
"use strict";
if (!P.helper.isString(e)) throw Error("Extension 'name' must be a string");
if (((e = P.helper.stdExtName(e)), P.helper.isUndefined(a))) {
if (h.hasOwnProperty(e)) return h[e];
throw Error("Extension named " + e + " is not registered!");
}
"function" == typeof a && (a = a());
var r = p((a = P.helper.isArray(a) ? a : [a]), e);
if (!r.valid) throw Error(r.error);
h[e] = a;
}),
(P.getAllExtensions = function () {
"use strict";
return h;
}),
(P.removeExtension = function (e) {
"use strict";
delete h[e];
}),
(P.resetExtensions = function () {
"use strict";
h = {};
}),
(P.validateExtension = function (e) {
"use strict";
e = p(e, null);
return !!e.valid || (console.warn(e.error), !1);
}),
P.hasOwnProperty("helper") || (P.helper = {}),
void 0 === this && "undefined" != typeof window
? (P.helper.document = window.document)
: (void 0 === this.document && void 0 === this.window && ((e = require("jsdom")), (this.window = new e.JSDOM("", {}).window)), (P.helper.document = this.window.document)),
(P.helper.isString = function (e) {
"use strict";
return "string" == typeof e || e instanceof String;
}),
(P.helper.isFunction = function (e) {
"use strict";
return e && "[object Function]" === {}.toString.call(e);
}),
(P.helper.isArray = function (e) {
"use strict";
return Array.isArray(e);
}),
(P.helper.isUndefined = function (e) {
"use strict";
return void 0 === e;
}),
(P.helper.forEach = function (e, a) {
"use strict";
if (P.helper.isUndefined(e)) throw new Error("obj param is required");
if (P.helper.isUndefined(a)) throw new Error("callback param is required");
if (!P.helper.isFunction(a)) throw new Error("callback param must be a function/closure");
if ("function" == typeof e.forEach) e.forEach(a);
else if (P.helper.isArray(e)) for (var r = 0; r < e.length; r++) a(e[r], r, e);
else {
if ("object" != typeof e) throw new Error("obj does not seem to be an array or an iterable object");
for (var t in e) e.hasOwnProperty(t) && a(e[t], t, e);
}
}),
(P.helper.stdExtName = function (e) {
"use strict";
return e
.replace(/[_?*+\/\\.^-]/g, "")
.replace(/\s/g, "")
.toLowerCase();
}),
(P.helper.escapeCharactersCallback = n),
(P.helper.escapeCharacters = function (e, a, r) {
"use strict";
(a = "([" + a.replace(/([\[\]\\])/g, "\\$1") + "])"), r && (a = "\\\\" + a), (r = new RegExp(a, "g"));
return (e = e.replace(r, n));
});
function u(e, a, r, t) {
"use strict";
var n,
s,
i,
o = -1 < (t = t || "").indexOf("g"),
l = new RegExp(a + "|" + r, "g" + t.replace(/g/g, "")),
c = new RegExp(a, t.replace(/g/g, "")),
u = [];
do {
for (n = 0; (m = l.exec(e)); )
if (c.test(m[0])) n++ || (i = (s = l.lastIndex) - m[0].length);
else if (n && !--n) {
var h = m.index + m[0].length,
m = { left: { start: i, end: s }, match: { start: s, end: m.index }, right: { start: m.index, end: h }, wholeMatch: { start: i, end: h } };
if ((u.push(m), !o)) return u;
}
} while (n && (l.lastIndex = s));
return u;
}
var s;
function i(o, l, c, u, h) {
return (
(h = !!h),
function (e, a, r, t, n, s, i) {
return /\n\n/.test(e) ? e : b(_(o, l + ".captureStart", e, a, r, t, i, c, u), c, u, h);
}
);
}
function l(o, l, c, u, h) {
return function (e, a, r, t, n, s, i) {
return (t = P.helper.applyBaseUrl(c.relativePathBaseUrl, t)), b(_(o, l + ".captureStart", e, a, r, t, i, c, u), c, u, h);
};
}
function _(e, a, r, t, n, s, i, o, l) {
return l.converter._dispatch(a, r, o, l, { regexp: e, matches: { wholeMatch: r, text: t, id: n, url: s, title: i } });
}
function b(e, a, r, t) {
var n = e.getMatches().wholeMatch,
s = e.getMatches().text,
i = e.getMatches().id,
o = e.getMatches().url,
l = "",
e = (e = e.getMatches().title) || "",
i = i ? i.toLowerCase() : "";
if (t) o = "";
else if (!o) {
if (((o = "#" + (i = i || s.toLowerCase().replace(/ ?\n/g, " "))), P.helper.isUndefined(r.gUrls[i]))) return n;
(o = r.gUrls[i]), P.helper.isUndefined(r.gTitles[i]) || (e = r.gTitles[i]);
}
(o = o.replace(P.helper.regexes.asteriskDashTildeAndColon, P.helper.escapeCharactersCallback)),
"" !== e && null !== e && (e = ' title="' + (e = (e = e.replace(/"/g, """)).replace(P.helper.regexes.asteriskDashTildeAndColon, P.helper.escapeCharactersCallback)) + '"'),
a.openLinksInNewWindow && !/^#/.test(o) && (l = ' rel="noopener noreferrer" target="¨E95Eblank"'),
(s = P.subParser("makehtml.codeSpans")(s, a, r)),
(s = P.subParser("makehtml.emoji")(s, a, r)),
(s = P.subParser("makehtml.underline")(s, a, r)),
(s = P.subParser("makehtml.italicsAndBold")(s, a, r)),
(s = P.subParser("makehtml.strikethrough")(s, a, r)),
(s = P.subParser("makehtml.ellipsis")(s, a, r));
t = '<a href="' + o + '"' + e + l + ">" + (s = P.subParser("makehtml.hashHTMLSpans")(s, a, r)) + "</a>";
return P.subParser("makehtml.hashHTMLSpans")(t, a, r);
}
(P.helper.matchRecursiveRegExp = function (e, a, r, t) {
"use strict";
for (var n = u(e, a, r, t), s = [], i = 0; i < n.length; ++i)
s.push([e.slice(n[i].wholeMatch.start, n[i].wholeMatch.end), e.slice(n[i].match.start, n[i].match.end), e.slice(n[i].left.start, n[i].left.end), e.slice(n[i].right.start, n[i].right.end)]);
return s;
}),
(P.helper.replaceRecursiveRegExp = function (e, a, r, t, n) {
"use strict";
P.helper.isFunction(a) ||
((s = a),
(a = function () {
return s;
}));
var s,
i = u(e, r, t, n),
r = e,
o = i.length;
if (0 < o) {
var l = [];
0 !== i[0].wholeMatch.start && l.push(e.slice(0, i[0].wholeMatch.start));
for (var c = 0; c < o; ++c)
l.push(a(e.slice(i[c].wholeMatch.start, i[c].wholeMatch.end), e.slice(i[c].match.start, i[c].match.end), e.slice(i[c].left.start, i[c].left.end), e.slice(i[c].right.start, i[c].right.end))),
c < o - 1 && l.push(e.slice(i[c].wholeMatch.end, i[c + 1].wholeMatch.start));
i[o - 1].wholeMatch.end < e.length && l.push(e.slice(i[o - 1].wholeMatch.end)), (r = l.join(""));
}
return r;
}),
(P.helper.regexIndexOf = function (e, a, r) {
"use strict";
if (!P.helper.isString(e)) throw "InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";
if (!(a instanceof RegExp)) throw "InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp";
e = e.substring(r || 0).search(a);
return 0 <= e ? e + (r || 0) : e;
}),
(P.helper.splitAtIndex = function (e, a) {
"use strict";
if (P.helper.isString(e)) return [e.substring(0, a), e.substring(a)];
throw "InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";
}),
(P.helper.encodeEmailAddress = function (e) {
"use strict";
var r = [
function (e) {
return "&#" + e.charCodeAt(0) + ";";
},
function (e) {
return "&#x" + e.charCodeAt(0).toString(16) + ";";
},
function (e) {
return e;
},
];
return (e = e.replace(/./g, function (e) {
var a;
return (e = "@" === e ? r[Math.floor(2 * Math.random())](e) : 0.9 < (a = Math.random()) ? r[2](e) : 0.45 < a ? r[1](e) : r[0](e));
}));
}),
(P.helper.repeat = function (e, a) {
"use strict";
if (!P.helper.isUndefined(String.prototype.repeat)) return e.repeat(a);
if (((e = "" + e), a < 0)) throw new RangeError("repeat count must be non-negative");
if (a === 1 / 0) throw new RangeError("repeat count must be less than infinity");
if (((a = Math.floor(a)), 0 === e.length || 0 === a)) return "";
if (e.length * a >= 1 << 28) throw new RangeError("repeat count must not overflow maximum string size");
var r = e.length * a;
for (a = Math.floor(Math.log(a) / Math.log(2)); a; ) (e += e), a--;
return (e += e.substring(0, r - e.length));
}),
(P.helper.padEnd = function (e, a, r) {
"use strict";
return (a >>= 0), (r = String(r || " ")), e.length > a ? String(e) : ((a -= e.length) > r.length && (r += P.helper.repeat(r, a / r.length)), String(e) + r.slice(0, a));
}),
(P.helper.unescapeHTMLEntities = function (e) {
"use strict";
return e
.replace(/"/g, '"')
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/&/g, "&");
}),
(P.helper._hashHTMLSpan = function (e, a) {
return "¨C" + (a.gHtmlSpans.push(e) - 1) + "C";
}),
(P.helper.applyBaseUrl = function (e, a) {
return (a = e && !this.isAbsolutePath(a) ? (0, require("url").resolve)(e, a) : a);
}),
(P.helper.isAbsolutePath = function (e) {
return /(^([a-z]+:)?\/\/)|(^#)/i.test(e);
}),
(P.helper.Event = function (e, a, r) {
"use strict";
var t = r.regexp || null,
n = r.matches || {},
s = r.options || {},
i = r.converter || null,
o = r.globals || {};
(this.getName = function () {
return e;
}),
(this.getEventName = function () {
return e;
}),
(this._stopExecution = !1),
(this.parsedText = r.parsedText || null),
(this.getRegexp = function () {
return t;
}),
(this.getOptions = function () {
return s;
}),
(this.getConverter = function () {
return i;
}),
(this.getGlobals = function () {
return o;
}),
(this.getCapturedText = function () {
return a;
}),
(this.getText = function () {
return a;
}),
(this.setText = function (e) {
a = e;
}),
(this.getMatches = function () {
return n;
}),
(this.setMatches = function (e) {
n = e;
}),
(this.preventDefault = function (e) {
this._stopExecution = !e;
});
}),
"undefined" == typeof console &&
(console = {
warn: function (e) {
"use strict";
alert(e);
},
log: function (e) {
"use strict";
alert(e);
},
error: function (e) {
"use strict";
throw e;
},
}),
(P.helper.regexes = { asteriskDashTildeAndColon: /([*_:~])/g, asteriskDashAndTilde: /([*_~])/g }),
(P.helper.emojis = {
100: "💯",
1234: "🔢",
"+1": "👍",
"-1": "👎",
"1st_place_medal": "🥇",
"2nd_place_medal": "🥈",
"3rd_place_medal": "🥉",
"8ball": "🎱",
a: "🅰️",
ab: "🆎",
abacus: "🧮",
abc: "🔤",
abcd: "🔡",
accept: "🉑",
adhesive_bandage: "🩹",
adult: "🧑",
aerial_tramway: "🚡",
afghanistan: "🇦🇫",
airplane: "✈️",
aland_islands: "🇦🇽",
alarm_clock: "⏰",
albania: "🇦🇱",
alembic: "⚗️",
algeria: "🇩🇿",
alien: "👽",
ambulance: "🚑",
american_samoa: "🇦🇸",
amphora: "🏺",
anchor: "⚓",
andorra: "🇦🇩",
angel: "👼",
anger: "💢",
angola: "🇦🇴",
angry: "😠",
anguilla: "🇦🇮",
anguished: "😧",
ant: "🐜",
antarctica: "🇦🇶",
antigua_barbuda: "🇦🇬",
apple: "🍎",
aquarius: "♒",
argentina: "🇦🇷",
aries: "♈",
armenia: "🇦🇲",
arrow_backward: "◀️",
arrow_double_down: "⏬",
arrow_double_up: "⏫",
arrow_down: "⬇️",
arrow_down_small: "🔽",
arrow_forward: "▶️",
arrow_heading_down: "⤵️",
arrow_heading_up: "⤴️",
arrow_left: "⬅️",
arrow_lower_left: "↙️",
arrow_lower_right: "↘️",
arrow_right: "➡️",
arrow_right_hook: "↪️",
arrow_up: "⬆️",
arrow_up_down: "↕️",
arrow_up_small: "🔼",
arrow_upper_left: "↖️",
arrow_upper_right: "↗️",
arrows_clockwise: "🔃",
arrows_counterclockwise: "🔄",
art: "🎨",
articulated_lorry: "🚛",
artificial_satellite: "🛰️",
artist: "🧑🎨",
aruba: "🇦🇼",
ascension_island: "🇦🇨",
asterisk: "*️⃣",
astonished: "😲",
astronaut: "🧑🚀",
athletic_shoe: "👟",
atm: "🏧",
atom_symbol: "⚛️",
australia: "🇦🇺",
austria: "🇦🇹",
auto_rickshaw: "🛺",
avocado: "🥑",
axe: "🪓",
azerbaijan: "🇦🇿",
b: "🅱️",
baby: "👶",
baby_bottle: "🍼",
baby_chick: "🐤",
baby_symbol: "🚼",
back: "🔙",
bacon: "🥓",
badger: "🦡",
badminton: "🏸",
bagel: "🥯",
baggage_claim: "🛄",
baguette_bread: "🥖",
bahamas: "🇧🇸",
bahrain: "🇧🇭",
balance_scale: "⚖️",
bald_man: "👨🦲",
bald_woman: "👩🦲",
ballet_shoes: "🩰",
balloon: "🎈",
ballot_box: "🗳️",
ballot_box_with_check: "☑️",
bamboo: "🎍",
banana: "🍌",
bangbang: "‼️",
bangladesh: "🇧🇩",
banjo: "🪕",
bank: "🏦",
bar_chart: "📊",
barbados: "🇧🇧",
barber: "💈",
baseball: "⚾",
basket: "🧺",
basketball: "🏀",
basketball_man: "⛹️♂️",
basketball_woman: "⛹️♀️",
bat: "🦇",
bath: "🛀",
bathtub: "🛁",
battery: "🔋",
beach_umbrella: "🏖️",
bear: "🐻",
bearded_person: "🧔",
bed: "🛏️",
bee: "🐝",
beer: "🍺",
beers: "🍻",
beetle: "🐞",
beginner: "🔰",
belarus: "🇧🇾",
belgium: "🇧🇪",
belize: "🇧🇿",
bell: "🔔",
bellhop_bell: "🛎️",
benin: "🇧🇯",
bento: "🍱",
bermuda: "🇧🇲",
beverage_box: "🧃",
bhutan: "🇧🇹",
bicyclist: "🚴",
bike: "🚲",
biking_man: "🚴♂️",
biking_woman: "🚴♀️",
bikini: "👙",
billed_cap: "🧢",
biohazard: "☣️",
bird: "🐦",
birthday: "🎂",
black_circle: "⚫",
black_flag: "🏴",
black_heart: "🖤",
black_joker: "🃏",
black_large_square: "⬛",
black_medium_small_square: "◾",
black_medium_square: "◼️",
black_nib: "✒️",
black_small_square: "▪️",
black_square_button: "🔲",
blond_haired_man: "👱♂️",
blond_haired_person: "👱",
blond_haired_woman: "👱♀️",
blonde_woman: "👱♀️",
blossom: "🌼",
blowfish: "🐡",
blue_book: "📘",
blue_car: "🚙",
blue_heart: "💙",
blue_square: "🟦",
blush: "😊",
boar: "🐗",
boat: "⛵",
bolivia: "🇧🇴",
bomb: "💣",
bone: "🦴",
book: "📖",
bookmark: "🔖",
bookmark_tabs: "📑",
books: "📚",
boom: "💥",
boot: "👢",
bosnia_herzegovina: "🇧🇦",
botswana: "🇧🇼",
bouncing_ball_man: "⛹️♂️",
bouncing_ball_person: "⛹️",
bouncing_ball_woman: "⛹️♀️",
bouquet: "💐",
bouvet_island: "🇧🇻",
bow: "🙇",
bow_and_arrow: "🏹",
bowing_man: "🙇♂️",
bowing_woman: "🙇♀️",
bowl_with_spoon: "🥣",
bowling: "🎳",
boxing_glove: "🥊",
boy: "👦",
brain: "🧠",
brazil: "🇧🇷",
bread: "🍞",
breast_feeding: "🤱",
bricks: "🧱",
bride_with_veil: "👰",
bridge_at_night: "🌉",
briefcase: "💼",
british_indian_ocean_territory: "🇮🇴",
british_virgin_islands: "🇻🇬",
broccoli: "🥦",
broken_heart: "💔",
broom: "🧹",
brown_circle: "🟤",
brown_heart: "🤎",
brown_square: "🟫",
brunei: "🇧🇳",
bug: "🐛",
building_construction: "🏗️",
bulb: "💡",
bulgaria: "🇧🇬",
bullettrain_front: "🚅",
bullettrain_side: "🚄",
burkina_faso: "🇧🇫",
burrito: "🌯",
burundi: "🇧🇮",
bus: "🚌",
business_suit_levitating: "🕴️",
busstop: "🚏",
bust_in_silhouette: "👤",
busts_in_silhouette: "👥",
butter: "🧈",
butterfly: "🦋",
cactus: "🌵",
cake: "🍰",
calendar: "📆",
call_me_hand: "🤙",
calling: "📲",
cambodia: "🇰🇭",
camel: "🐫",
camera: "📷",
camera_flash: "📸",
cameroon: "🇨🇲",
camping: "🏕️",
canada: "🇨🇦",
canary_islands: "🇮🇨",
cancer: "♋",
candle: "🕯️",
candy: "🍬",
canned_food: "🥫",
canoe: "🛶",
cape_verde: "🇨🇻",
capital_abcd: "🔠",
capricorn: "♑",
car: "🚗",
card_file_box: "🗃️",
card_index: "📇",
card_index_dividers: "🗂️",
caribbean_netherlands: "🇧🇶",
carousel_horse: "🎠",
carrot: "🥕",
cartwheeling: "🤸",
cat: "🐱",
cat2: "🐈",
cayman_islands: "🇰🇾",
cd: "💿",
central_african_republic: "🇨🇫",
ceuta_melilla: "🇪🇦",
chad: "🇹🇩",
chains: "⛓️",
chair: "🪑",
champagne: "🍾",
chart: "💹",
chart_with_downwards_trend: "📉",
chart_with_upwards_trend: "📈",
checkered_flag: "🏁",
cheese: "🧀",
cherries: "🍒",
cherry_blossom: "🌸",
chess_pawn: "♟️",
chestnut: "🌰",
chicken: "🐔",
child: "🧒",
children_crossing: "🚸",
chile: "🇨🇱",
chipmunk: "🐿️",
chocolate_bar: "🍫",
chopsticks: "🥢",
christmas_island: "🇨🇽",
christmas_tree: "🎄",
church: "⛪",
cinema: "🎦",
circus_tent: "🎪",
city_sunrise: "🌇",
city_sunset: "🌆",
cityscape: "🏙️",
cl: "🆑",
clamp: "🗜️",
clap: "👏",
clapper: "🎬",
classical_building: "🏛️",
climbing: "🧗",
climbing_man: "🧗♂️",
climbing_woman: "🧗♀️",
clinking_glasses: "🥂",
clipboard: "📋",
clipperton_island: "🇨🇵",
clock1: "🕐",
clock10: "🕙",
clock1030: "🕥",
clock11: "🕚",
clock1130: "🕦",
clock12: "🕛",
clock1230: "🕧",
clock130: "🕜",
clock2: "🕑",
clock230: "🕝",
clock3: "🕒",
clock330: "🕞",
clock4: "🕓",
clock430: "🕟",
clock5: "🕔",
clock530: "🕠",
clock6: "🕕",
clock630: "🕡",
clock7: "🕖",
clock730: "🕢",
clock8: "🕗",
clock830: "🕣",
clock9: "🕘",
clock930: "🕤",
closed_book: "📕",
closed_lock_with_key: "🔐",
closed_umbrella: "🌂",
cloud: "☁️",
cloud_with_lightning: "🌩️",
cloud_with_lightning_and_rain: "⛈️",
cloud_with_rain: "🌧️",
cloud_with_snow: "🌨️",
clown_face: "🤡",
clubs: "♣️",
cn: "🇨🇳",
coat: "🧥",
cocktail: "🍸",
coconut: "🥥",
cocos_islands: "🇨🇨",
coffee: "☕",
coffin: "⚰️",
cold_face: "🥶",
cold_sweat: "😰",
collision: "💥",
colombia: "🇨🇴",
comet: "☄️",
comoros: "🇰🇲",
compass: "🧭",
computer: "💻",
computer_mouse: "🖱️",
confetti_ball: "🎊",
confounded: "😖",
confused: "😕",
congo_brazzaville: "🇨🇬",
congo_kinshasa: "🇨🇩",
congratulations: "㊗️",
construction: "🚧",
construction_worker: "👷",
construction_worker_man: "👷♂️",
construction_worker_woman: "👷♀️",
control_knobs: "🎛️",
convenience_store: "🏪",
cook: "🧑🍳",
cook_islands: "🇨🇰",
cookie: "🍪",
cool: "🆒",
cop: "👮",
copyright: "©️",
corn: "🌽",
costa_rica: "🇨🇷",
cote_divoire: "🇨🇮",
couch_and_lamp: "🛋️",
couple: "👫",
couple_with_heart: "💑",
couple_with_heart_man_man: "👨❤️👨",
couple_with_heart_woman_man: "👩❤️👨",
couple_with_heart_woman_woman: "👩❤️👩",
couplekiss: "💏",
couplekiss_man_man: "👨❤️💋👨",
couplekiss_man_woman: "👩❤️💋👨",
couplekiss_woman_woman: "👩❤️💋👩",
cow: "🐮",
cow2: "🐄",
cowboy_hat_face: "🤠",
crab: "🦀",
crayon: "🖍️",
credit_card: "💳",
crescent_moon: "🌙",
cricket: "🦗",
cricket_game: "🏏",
croatia: "🇭🇷",
crocodile: "🐊",
croissant: "🥐",
crossed_fingers: "🤞",
crossed_flags: "🎌",
crossed_swords: "⚔️",
crown: "👑",
cry: "😢",
crying_cat_face: "😿",
crystal_ball: "🔮",
cuba: "🇨🇺",
cucumber: "🥒",
cup_with_straw: "🥤",
cupcake: "🧁",
cupid: "💘",
curacao: "🇨🇼",
curling_stone: "🥌",
curly_haired_man: "👨🦱",
curly_haired_woman: "👩🦱",
curly_loop: "➰",
currency_exchange: "💱",
curry: "🍛",
cursing_face: "🤬",
custard: "🍮",
customs: "🛃",
cut_of_meat: "🥩",
cyclone: "🌀",
cyprus: "🇨🇾",
czech_republic: "🇨🇿",
dagger: "🗡️",
dancer: "💃",
dancers: "👯",
dancing_men: "👯♂️",
dancing_women: "👯♀️",
dango: "🍡",
dark_sunglasses: "🕶️",
dart: "🎯",
dash: "💨",
date: "📅",
de: "🇩🇪",
deaf_man: "🧏♂️",
deaf_person: "🧏",
deaf_woman: "🧏♀️",
deciduous_tree: "🌳",
deer: "🦌",
denmark: "🇩🇰",
department_store: "🏬",
derelict_house: "🏚️",
desert: "🏜️",
desert_island: "🏝️",
desktop_computer: "🖥️",
detective: "🕵️",
diamond_shape_with_a_dot_inside: "💠",
diamonds: "♦️",
diego_garcia: "🇩🇬",
disappointed: "😞",
disappointed_relieved: "😥",
diving_mask: "🤿",
diya_lamp: "🪔",
dizzy: "💫",
dizzy_face: "😵",
djibouti: "🇩🇯",
dna: "🧬",
do_not_litter: "🚯",
dog: "🐶",
dog2: "🐕",
dollar: "💵",
dolls: "🎎",
dolphin: "🐬",
dominica: "🇩🇲",
dominican_republic: "🇩🇴",
door: "🚪",
doughnut: "🍩",
dove: "🕊️",
dragon: "🐉",
dragon_face: "🐲",
dress: "👗",
dromedary_camel: "🐪",
drooling_face: "🤤",
drop_of_blood: "🩸",
droplet: "💧",
drum: "🥁",
duck: "🦆",
dumpling: "🥟",
dvd: "📀",
"e-mail": "📧",
eagle: "🦅",
ear: "👂",
ear_of_rice: "🌾",
ear_with_hearing_aid: "🦻",
earth_africa: "🌍",
earth_americas: "🌎",
earth_asia: "🌏",
ecuador: "🇪🇨",
egg: "🥚",
eggplant: "🍆",
egypt: "🇪🇬",
eight: "8️⃣",
eight_pointed_black_star: "✴️",
eight_spoked_asterisk: "✳️",
eject_button: "⏏️",
el_salvador: "🇸🇻",
electric_plug: "🔌",
elephant: "🐘",
elf: "🧝",
elf_man: "🧝♂️",
elf_woman: "🧝♀️",
email: "✉️",
end: "🔚",
england: "🏴",
envelope: "✉️",
envelope_with_arrow: "📩",
equatorial_guinea: "🇬🇶",
eritrea: "🇪🇷",
es: "🇪🇸",
estonia: "🇪🇪",
ethiopia: "🇪🇹",
eu: "🇪🇺",
euro: "💶",
european_castle: "🏰",
european_post_office: "🏤",
european_union: "🇪🇺",
evergreen_tree: "🌲",
exclamation: "❗",
exploding_head: "🤯",
expressionless: "😑",
eye: "👁️",
eye_speech_bubble: "👁️🗨️",
eyeglasses: "👓",
eyes: "👀",
face_with_head_bandage: "🤕",
face_with_thermometer: "🤒",
facepalm: "🤦",
facepunch: "👊",
factory: "🏭",
factory_worker: "🧑🏭",
fairy: "🧚",
fairy_man: "🧚♂️",
fairy_woman: "🧚♀️",
falafel: "🧆",
falkland_islands: "🇫🇰",
fallen_leaf: "🍂",
family: "👪",
family_man_boy: "👨👦",
family_man_boy_boy: "👨👦👦",
family_man_girl: "👨👧",
family_man_girl_boy: "👨👧👦",
family_man_girl_girl: "👨👧👧",
family_man_man_boy: "👨👨👦",
family_man_man_boy_boy: "👨👨👦👦",
family_man_man_girl: "👨👨👧",
family_man_man_girl_boy: "👨👨👧👦",
family_man_man_girl_girl: "👨👨👧👧",
family_man_woman_boy: "👨👩👦",
family_man_woman_boy_boy: "👨👩👦👦",
family_man_woman_girl: "👨👩👧",
family_man_woman_girl_boy: "👨👩👧👦",
family_man_woman_girl_girl: "👨👩👧👧",
family_woman_boy: "👩👦",
family_woman_boy_boy: "👩👦👦",
family_woman_girl: "👩👧",
family_woman_girl_boy: "👩👧👦",
family_woman_girl_girl: "👩👧👧",
family_woman_woman_boy: "👩👩👦",
family_woman_woman_boy_boy: "👩👩👦👦",
family_woman_woman_girl: "👩👩👧",
family_woman_woman_girl_boy: "👩👩👧👦",
family_woman_woman_girl_girl: "👩👩👧👧",
farmer: "🧑🌾",
faroe_islands: "🇫🇴",
fast_forward: "⏩",
fax: "📠",
fearful: "😨",
feet: "🐾",
female_detective: "🕵️♀️",
female_sign: "♀️",
ferris_wheel: "🎡",
ferry: "⛴️",
field_hockey: "🏑",
fiji: "🇫🇯",
file_cabinet: "🗄️",
file_folder: "📁",
film_projector: "📽️",
film_strip: "🎞️",
finland: "🇫🇮",
fire: "🔥",
fire_engine: "🚒",
fire_extinguisher: "🧯",
firecracker: "🧨",
firefighter: "🧑🚒",
fireworks: "🎆",
first_quarter_moon: "🌓",
first_quarter_moon_with_face: "🌛",
fish: "🐟",
fish_cake: "🍥",
fishing_pole_and_fish: "🎣",
fist: "✊",
fist_left: "🤛",
fist_oncoming: "👊",
fist_raised: "✊",
fist_right: "🤜",
five: "5️⃣",
flags: "🎏",
flamingo: "🦩",
flashlight: "🔦",
flat_shoe: "🥿",
fleur_de_lis: "⚜️",
flight_arrival: "🛬",
flight_departure: "🛫",
flipper: "🐬",
floppy_disk: "💾",
flower_playing_cards: "🎴",
flushed: "😳",
flying_disc: "🥏",
flying_saucer: "🛸",
fog: "🌫️",
foggy: "🌁",
foot: "🦶",
football: "🏈",
footprints: "👣",
fork_and_knife: "🍴",
fortune_cookie: "🥠",
fountain: "⛲",
fountain_pen: "🖋️",
four: "4️⃣",
four_leaf_clover: "🍀",
fox_face: "🦊",
fr: "🇫🇷",
framed_picture: "🖼️",
free: "🆓",
french_guiana: "🇬🇫",
french_polynesia: "🇵🇫",
french_southern_territories: "🇹🇫",
fried_egg: "🍳",
fried_shrimp: "🍤",
fries: "🍟",
frog: "🐸",
frowning: "😦",
frowning_face: "☹️",
frowning_man: "🙍♂️",
frowning_person: "🙍",
frowning_woman: "🙍♀️",
fu: "🖕",
fuelpump: "⛽",
full_moon: "🌕",
full_moon_with_face: "🌝",
funeral_urn: "⚱️",
gabon: "🇬🇦",
gambia: "🇬🇲",
game_die: "🎲",
garlic: "🧄",
gb: "🇬🇧",
gear: "⚙️",
gem: "💎",
gemini: "♊",
genie: "🧞",
genie_man: "🧞♂️",
genie_woman: "🧞♀️",
georgia: "🇬🇪",
ghana: "🇬🇭",
ghost: "👻",
gibraltar: "🇬🇮",
gift: "🎁",
gift_heart: "💝",
giraffe: "🦒",
girl: "👧",
globe_with_meridians: "🌐",
gloves: "🧤",
goal_net: "🥅",
goat: "🐐",
goggles: "🥽",
golf: "⛳",
golfing: "🏌️",
golfing_man: "🏌️♂️",
golfing_woman: "🏌️♀️",
gorilla: "🦍",
grapes: "🍇",
greece: "🇬🇷",
green_apple: "🍏",
green_book: "📗",
green_circle: "🟢",
green_heart: "💚",
green_salad: "🥗",
green_square: "🟩",
greenland: "🇬🇱",
grenada: "🇬🇩",
grey_exclamation: "❕",
grey_question: "❔",
grimacing: "😬",
grin: "😁",
grinning: "😀",
guadeloupe: "🇬🇵",
guam: "🇬🇺",
guard: "💂",
guardsman: "💂♂️",
guardswoman: "💂♀️",
guatemala: "🇬🇹",
guernsey: "🇬🇬",
guide_dog: "🦮",
guinea: "🇬🇳",
guinea_bissau: "🇬🇼",
guitar: "🎸",
gun: "🔫",
guyana: "🇬🇾",
haircut: "💇",
haircut_man: "💇♂️",
haircut_woman: "💇♀️",
haiti: "🇭🇹",
hamburger: "🍔",
hammer: "🔨",
hammer_and_pick: "⚒️",
hammer_and_wrench: "🛠️",
hamster: "🐹",
hand: "✋",
hand_over_mouth: "🤭",
handbag: "👜",
handball_person: "🤾",
handshake: "🤝",
hankey: "💩",
hash: "#️⃣",
hatched_chick: "🐥",
hatching_chick: "🐣",
headphones: "🎧",
health_worker: "🧑⚕️",
hear_no_evil: "🙉",
heard_mcdonald_islands: "🇭🇲",
heart: "❤️",
heart_decoration: "💟",
heart_eyes: "😍",
heart_eyes_cat: "😻",
heartbeat: "💓",
heartpulse: "💗",
hearts: "♥️",
heavy_check_mark: "✔️",
heavy_division_sign: "➗",
heavy_dollar_sign: "💲",
heavy_exclamation_mark: "❗",
heavy_heart_exclamation: "❣️",
heavy_minus_sign: "➖",
heavy_multiplication_x: "✖️",
heavy_plus_sign: "➕",
hedgehog: "🦔",
helicopter: "🚁",
herb: "🌿",
hibiscus: "🌺",
high_brightness: "🔆",
high_heel: "👠",
hiking_boot: "🥾",
hindu_temple: "🛕",
hippopotamus: "🦛",
hocho: "🔪",
hole: "🕳️",
honduras: "🇭🇳",
honey_pot: "🍯",
honeybee: "🐝",
hong_kong: "🇭🇰",
horse: "🐴",
horse_racing: "🏇",
hospital: "🏥",
hot_face: "🥵",
hot_pepper: "🌶️",
hotdog: "🌭",
hotel: "🏨",
hotsprings: "♨️",
hourglass: "⌛",
hourglass_flowing_sand: "⏳",
house: "🏠",
house_with_garden: "🏡",
houses: "🏘️",
hugs: "🤗",
hungary: "🇭🇺",
hushed: "😯",
ice_cream: "🍨",
ice_cube: "🧊",
ice_hockey: "🏒",
ice_skate: "⛸️",
icecream: "🍦",
iceland: "🇮🇸",
id: "🆔",
ideograph_advantage: "🉐",
imp: "👿",
inbox_tray: "📥",
incoming_envelope: "📨",
india: "🇮🇳",
indonesia: "🇮🇩",
infinity: "♾️",
information_desk_person: "💁",
information_source: "ℹ️",
innocent: "😇",
interrobang: "⁉️",
iphone: "📱",
iran: "🇮🇷",
iraq: "🇮🇶",
ireland: "🇮🇪",
isle_of_man: "🇮🇲",
israel: "🇮🇱",
it: "🇮🇹",
izakaya_lantern: "🏮",
jack_o_lantern: "🎃",
jamaica: "🇯🇲",
japan: "🗾",
japanese_castle: "🏯",
japanese_goblin: "👺",
japanese_ogre: "👹",
jeans: "👖",
jersey: "🇯🇪",
jigsaw: "🧩",
jordan: "🇯🇴",
joy: "😂",
joy_cat: "😹",
joystick: "🕹️",
jp: "🇯🇵",
judge: "🧑⚖️",
juggling_person: "🤹",
kaaba: "🕋",
kangaroo: "🦘",
kazakhstan: "🇰🇿",
kenya: "🇰🇪",
key: "🔑",
keyboard: "⌨️",
keycap_ten: "🔟",
kick_scooter: "🛴",
kimono: "👘",
kiribati: "🇰🇮",
kiss: "💋",
kissing: "😗",
kissing_cat: "😽",
kissing_closed_eyes: "😚",
kissing_heart: "😘",
kissing_smiling_eyes: "😙",
kite: "🪁",
kiwi_fruit: "🥝",
kneeling_man: "🧎♂️",
kneeling_person: "🧎",
kneeling_woman: "🧎♀️",
knife: "🔪",
koala: "🐨",
koko: "🈁",
kosovo: "🇽🇰",
kr: "🇰🇷",
kuwait: "🇰🇼",
kyrgyzstan: "🇰🇬",
lab_coat: "🥼",
label: "🏷️",
lacrosse: "🥍",
lantern: "🏮",
laos: "🇱🇦",
large_blue_circle: "🔵",
large_blue_diamond: "🔷",
large_orange_diamond: "🔶",
last_quarter_moon: "🌗",
last_quarter_moon_with_face: "🌜",
latin_cross: "✝️",
latvia: "🇱🇻",
laughing: "😆",
leafy_green: "🥬",
leaves: "🍃",
lebanon: "🇱🇧",
ledger: "📒",
left_luggage: "🛅",
left_right_arrow: "↔️",
left_speech_bubble: "🗨️",
leftwards_arrow_with_hook: "↩️",
leg: "🦵",
lemon: "🍋",
leo: "♌",
leopard: "🐆",
lesotho: "🇱🇸",
level_slider: "🎚️",
liberia: "🇱🇷",
libra: "♎",
libya: "🇱🇾",
liechtenstein: "🇱🇮",
light_rail: "🚈",
link: "🔗",
lion: "🦁",
lips: "👄",
lipstick: "💄",
lithuania: "🇱🇹",
lizard: "🦎",
llama: "🦙",
lobster: "🦞",
lock: "🔒",
lock_with_ink_pen: "🔏",
lollipop: "🍭",
loop: "➿",
lotion_bottle: "🧴",
lotus_position: "🧘",
lotus_position_man: "🧘♂️",
lotus_position_woman: "🧘♀️",
loud_sound: "🔊",
loudspeaker: "📢",
love_hotel: "🏩",
love_letter: "💌",
love_you_gesture: "🤟",
low_brightness: "🔅",
luggage: "🧳",
luxembourg: "🇱🇺",
lying_face: "🤥",
m: "Ⓜ️",
macau: "🇲🇴",
macedonia: "🇲🇰",
madagascar: "🇲🇬",
mag: "🔍",
mag_right: "🔎",
mage: "🧙",
mage_man: "🧙♂️",
mage_woman: "🧙♀️",
magnet: "🧲",
mahjong: "🀄",
mailbox: "📫",
mailbox_closed: "📪",
mailbox_with_mail: "📬",
mailbox_with_no_mail: "📭",
malawi: "🇲🇼",
malaysia: "🇲🇾",
maldives: "🇲🇻",
male_detective: "🕵️♂️",
male_sign: "♂️",
mali: "🇲🇱",
malta: "🇲🇹",
man: "👨",
man_artist: "👨🎨",
man_astronaut: "👨🚀",
man_cartwheeling: "🤸♂️",
man_cook: "👨🍳",
man_dancing: "🕺",
man_facepalming: "🤦♂️",
man_factory_worker: "👨🏭",
man_farmer: "👨🌾",
man_firefighter: "👨🚒",
man_health_worker: "👨⚕️",
man_in_manual_wheelchair: "👨🦽",
man_in_motorized_wheelchair: "👨🦼",
man_in_tuxedo: "🤵",
man_judge: "👨⚖️",
man_juggling: "🤹♂️",
man_mechanic: "👨🔧",
man_office_worker: "👨💼",
man_pilot: "👨✈️",
man_playing_handball: "🤾♂️",
man_playing_water_polo: "🤽♂️",
man_scientist: "👨🔬",
man_shrugging: "🤷♂️",
man_singer: "👨🎤",
man_student: "👨🎓",
man_teacher: "👨🏫",
man_technologist: "👨💻",
man_with_gua_pi_mao: "👲",
man_with_probing_cane: "👨🦯",
man_with_turban: "👳♂️",
mandarin: "🍊",
mango: "🥭",
mans_shoe: "👞",
mantelpiece_clock: "🕰️",
manual_wheelchair: "🦽",
maple_leaf: "🍁",
marshall_islands: "🇲🇭",
martial_arts_uniform: "🥋",
martinique: "🇲🇶",
mask: "😷",
massage: "💆",
massage_man: "💆♂️",
massage_woman: "💆♀️",
mate: "🧉",
mauritania: "🇲🇷",
mauritius: "🇲🇺",
mayotte: "🇾🇹",
meat_on_bone: "🍖",
mechanic: "🧑🔧",
mechanical_arm: "🦾",
mechanical_leg: "🦿",
medal_military: "🎖️",
medal_sports: "🏅",
medical_symbol: "⚕️",
mega: "📣",
melon: "🍈",
memo: "📝",
men_wrestling: "🤼♂️",
menorah: "🕎",
mens: "🚹",
mermaid: "🧜♀️",
merman: "🧜♂️",
merperson: "🧜",
metal: "🤘",
metro: "🚇",
mexico: "🇲🇽",
microbe: "🦠",
micronesia: "🇫🇲",
microphone: "🎤",
microscope: "🔬",
middle_finger: "🖕",
milk_glass: "🥛",
milky_way: "🌌",
minibus: "🚐",
minidisc: "💽",
mobile_phone_off: "📴",
moldova: "🇲🇩",
monaco: "🇲🇨",
money_mouth_face: "🤑",
money_with_wings: "💸",
moneybag: "💰",
mongolia: "🇲🇳",
monkey: "🐒",
monkey_face: "🐵",
monocle_face: "🧐",
monorail: "🚝",
montenegro: "🇲🇪",
montserrat: "🇲🇸",
moon: "🌔",
moon_cake: "🥮",
morocco: "🇲🇦",
mortar_board: "🎓",
mosque: "🕌",
mosquito: "🦟",
motor_boat: "🛥️",
motor_scooter: "🛵",
motorcycle: "🏍️",
motorized_wheelchair: "🦼",
motorway: "🛣️",
mount_fuji: "🗻",
mountain: "⛰️",
mountain_bicyclist: "🚵",
mountain_biking_man: "🚵♂️",
mountain_biking_woman: "🚵♀️",
mountain_cableway: "🚠",
mountain_railway: "🚞",
mountain_snow: "🏔️",
mouse: "🐭",
mouse2: "🐁",
movie_camera: "🎥",
moyai: "🗿",
mozambique: "🇲🇿",
mrs_claus: "🤶",
muscle: "💪",
mushroom: "🍄",
musical_keyboard: "🎹",
musical_note: "🎵",
musical_score: "🎼",
mute: "🔇",
myanmar: "🇲🇲",
nail_care: "💅",
name_badge: "📛",
namibia: "🇳🇦",
national_park: "🏞️",
nauru: "🇳🇷",
nauseated_face: "🤢",
nazar_amulet: "🧿",
necktie: "👔",
negative_squared_cross_mark: "❎",
nepal: "🇳🇵",
nerd_face: "🤓",
netherlands: "🇳🇱",
neutral_face: "😐",
new: "🆕",
new_caledonia: "🇳🇨",
new_moon: "🌑",
new_moon_with_face: "🌚",
new_zealand: "🇳🇿",
newspaper: "📰",
newspaper_roll: "🗞️",
next_track_button: "⏭️",
ng: "🆖",
ng_man: "🙅♂️",
ng_woman: "🙅♀️",
nicaragua: "🇳🇮",
niger: "🇳🇪",
nigeria: "🇳🇬",
night_with_stars: "🌃",
nine: "9️⃣",
niue: "🇳🇺",
no_bell: "🔕",
no_bicycles: "🚳",
no_entry: "⛔",
no_entry_sign: "🚫",
no_good: "🙅",
no_good_man: "🙅♂️",
no_good_woman: "🙅♀️",
no_mobile_phones: "📵",
no_mouth: "😶",
no_pedestrians: "🚷",
no_smoking: "🚭",
"non-potable_water": "🚱",
norfolk_island: "🇳🇫",
north_korea: "🇰🇵",
northern_mariana_islands: "🇲🇵",
norway: "🇳🇴",
nose: "👃",
notebook: "📓",
notebook_with_decorative_cover: "📔",
notes: "🎶",
nut_and_bolt: "🔩",
o: "⭕",
o2: "🅾️",
ocean: "🌊",
octopus: "🐙",
oden: "🍢",
office: "🏢",
office_worker: "🧑💼",
oil_drum: "🛢️",
ok: "🆗",
ok_hand: "👌",
ok_man: "🙆♂️",
ok_person: "🙆",
ok_woman: "🙆♀️",
old_key: "🗝️",
older_adult: "🧓",
older_man: "👴",
older_woman: "👵",
om: "🕉️",
oman: "🇴🇲",
on: "🔛",
oncoming_automobile: "🚘",
oncoming_bus: "🚍",
oncoming_police_car: "🚔",
oncoming_taxi: "🚖",
one: "1️⃣",
one_piece_swimsuit: "🩱",
onion: "🧅",
open_book: "📖",
open_file_folder: "📂",
open_hands: "👐",
open_mouth: "😮",
open_umbrella: "☂️",
ophiuchus: "⛎",
orange: "🍊",
orange_book: "📙",
orange_circle: "🟠",
orange_heart: "🧡",
orange_square: "🟧",
orangutan: "🦧",
orthodox_cross: "☦️",
otter: "🦦",
outbox_tray: "📤",
owl: "🦉",
ox: "🐂",
oyster: "🦪",
package: "📦",
page_facing_up: "📄",
page_with_curl: "📃",
pager: "📟",
paintbrush: "🖌️",
pakistan: "🇵🇰",
palau: "🇵🇼",
palestinian_territories: "🇵🇸",
palm_tree: "🌴",
palms_up_together: "🤲",
panama: "🇵🇦",
pancakes: "🥞",
panda_face: "🐼",
paperclip: "📎",
paperclips: "🖇️",
papua_new_guinea: "🇵🇬",
parachute: "🪂",
paraguay: "🇵🇾",
parasol_on_ground: "⛱️",
parking: "🅿️",
parrot: "🦜",
part_alternation_mark: "〽️",
partly_sunny: "⛅",
partying_face: "🥳",
passenger_ship: "🛳️",
passport_control: "🛂",
pause_button: "⏸️",
paw_prints: "🐾",
peace_symbol: "☮️",
peach: "🍑",
peacock: "🦚",
peanuts: "🥜",
pear: "🍐",
pen: "🖊️",
pencil: "📝",
pencil2: "✏️",
penguin: "🐧",
pensive: "😔",
people_holding_hands: "🧑🤝🧑",
performing_arts: "🎭",
persevere: "😣",
person_bald: "🧑🦲",
person_curly_hair: "🧑🦱",
person_fencing: "🤺",
person_in_manual_wheelchair: "🧑🦽",
person_in_motorized_wheelchair: "🧑🦼",
person_red_hair: "🧑🦰",
person_white_hair: "🧑🦳",
person_with_probing_cane: "🧑🦯",
person_with_turban: "👳",
peru: "🇵🇪",
petri_dish: "🧫",
philippines: "🇵🇭",
phone: "☎️",
pick: "⛏️",
pie: "🥧",
pig: "🐷",
pig2: "🐖",
pig_nose: "🐽",
pill: "💊",
pilot: "🧑✈️",
pinching_hand: "🤏",
pineapple: "🍍",
ping_pong: "🏓",
pirate_flag: "🏴☠️",
pisces: "♓",
pitcairn_islands: "🇵🇳",
pizza: "🍕",
place_of_worship: "🛐",
plate_with_cutlery: "🍽️",
play_or_pause_button: "⏯️",
pleading_face: "🥺",
point_down: "👇",
point_left: "👈",
point_right: "👉",
point_up: "☝️",
point_up_2: "👆",
poland: "🇵🇱",
police_car: "🚓",
police_officer: "👮",
policeman: "👮♂️",
policewoman: "👮♀️",
poodle: "🐩",
poop: "💩",
popcorn: "🍿",
portugal: "🇵🇹",
post_office: "🏣",
postal_horn: "📯",
postbox: "📮",
potable_water: "🚰",
potato: "🥔",
pouch: "👝",
poultry_leg: "🍗",
pound: "💷",
pout: "😡",
pouting_cat: "😾",
pouting_face: "🙎",
pouting_man: "🙎♂️",
pouting_woman: "🙎♀️",
pray: "🙏",
prayer_beads: "📿",
pregnant_woman: "🤰",
pretzel: "🥨",
previous_track_button: "⏮️",
prince: "🤴",
princess: "👸",
printer: "🖨️",
probing_cane: "🦯",
puerto_rico: "🇵🇷",
punch: "👊",
purple_circle: "🟣",
purple_heart: "💜",
purple_square: "🟪",
purse: "👛",
pushpin: "📌",
put_litter_in_its_place: "🚮",
qatar: "🇶🇦",
question: "❓",
rabbit: "🐰",
rabbit2: "🐇",
raccoon: "🦝",
racehorse: "🐎",
racing_car: "🏎️",
radio: "📻",
radio_button: "🔘",
radioactive: "☢️",
rage: "😡",
railway_car: "🚃",
railway_track: "🛤️",
rainbow: "🌈",
rainbow_flag: "🏳️🌈",
raised_back_of_hand: "🤚",
raised_eyebrow: "🤨",
raised_hand: "✋",
raised_hand_with_fingers_splayed: "🖐️",
raised_hands: "🙌",
raising_hand: "🙋",
raising_hand_man: "🙋♂️",
raising_hand_woman: "🙋♀️",
ram: "🐏",
ramen: "🍜",
rat: "🐀",
razor: "🪒",
receipt: "🧾",
record_button: "⏺️",
recycle: "♻️",
red_car: "🚗",
red_circle: "🔴",
red_envelope: "🧧",
red_haired_man: "👨🦰",
red_haired_woman: "👩🦰",
red_square: "🟥",
registered: "®️",
relaxed: "☺️",
relieved: "😌",
reminder_ribbon: "🎗️",
repeat: "🔁",
repeat_one: "🔂",
rescue_worker_helmet: "⛑️",
restroom: "🚻",
reunion: "🇷🇪",
revolving_hearts: "💞",
rewind: "⏪",
rhinoceros: "🦏",
ribbon: "🎀",
rice: "🍚",
rice_ball: "🍙",
rice_cracker: "🍘",
rice_scene: "🎑",
right_anger_bubble: "🗯️",
ring: "💍",
ringed_planet: "🪐",
robot: "🤖",
rocket: "🚀",
rofl: "🤣",
roll_eyes: "🙄",
roll_of_paper: "🧻",
roller_coaster: "🎢",
romania: "🇷🇴",
rooster: "🐓",
rose: "🌹",
rosette: "🏵️",
rotating_light: "🚨",
round_pushpin: "📍",
rowboat: "🚣",
rowing_man: "🚣♂️",
rowing_woman: "🚣♀️",
ru: "🇷🇺",
rugby_football: "🏉",
runner: "🏃",
running: "🏃",
running_man: "🏃♂️",
running_shirt_with_sash: "🎽",
running_woman: "🏃♀️",
rwanda: "🇷🇼",
sa: "🈂️",
safety_pin: "🧷",
safety_vest: "🦺",
sagittarius: "♐",
sailboat: "⛵",
sake: "🍶",
salt: "🧂",
samoa: "🇼🇸",
san_marino: "🇸🇲",
sandal: "👡",
sandwich: "🥪",
santa: "🎅",
sao_tome_principe: "🇸🇹",
sari: "🥻",
sassy_man: "💁♂️",
sassy_woman: "💁♀️",
satellite: "📡",
satisfied: "😆",
saudi_arabia: "🇸🇦",
sauna_man: "🧖♂️",
sauna_person: "🧖",
sauna_woman: "🧖♀️",
sauropod: "🦕",
saxophone: "🎷",
scarf: "🧣",
school: "🏫",
school_satchel: "🎒",
scientist: "🧑🔬",
scissors: "✂️",
scorpion: "🦂",
scorpius: "♏",
scotland: "🏴",
scream: "😱",
scream_cat: "🙀",
scroll: "📜",
seat: "💺",
secret: "㊙️",
see_no_evil: "🙈",
seedling: "🌱",
selfie: "🤳",
senegal: "🇸🇳",
serbia: "🇷🇸",
service_dog: "🐕🦺",
seven: "7️⃣",
seychelles: "🇸🇨",
shallow_pan_of_food: "🥘",
shamrock: "☘️",
shark: "🦈",
shaved_ice: "🍧",
sheep: "🐑",
shell: "🐚",
shield: "🛡️",
shinto_shrine: "⛩️",
ship: "🚢",
shirt: "👕",
shit: "💩",
shoe: "👞",
shopping: "🛍️",
shopping_cart: "🛒",
shorts: "🩳",
shower: "🚿",
shrimp: "🦐",
shrug: "🤷",
shushing_face: "🤫",
sierra_leone: "🇸🇱",
signal_strength: "📶",
singapore: "🇸🇬",
singer: "🧑🎤",
sint_maarten: "🇸🇽",
six: "6️⃣",
six_pointed_star: "🔯",
skateboard: "🛹",
ski: "🎿",
skier: "⛷️",
skull: "💀",
skull_and_crossbones: "☠️",
skunk: "🦨",
sled: "🛷",
sleeping: "😴",
sleeping_bed: "🛌",
sleepy: "😪",
slightly_frowning_face: "🙁",
slightly_smiling_face: "🙂",
slot_machine: "🎰",
sloth: "🦥",
slovakia: "🇸🇰",
slovenia: "🇸🇮",
small_airplane: "🛩️",
small_blue_diamond: "🔹",
small_orange_diamond: "🔸",
small_red_triangle: "🔺",
small_red_triangle_down: "🔻",
smile: "😄",
smile_cat: "😸",
smiley: "😃",
smiley_cat: "😺",
smiling_face_with_three_hearts: "🥰",
smiling_imp: "😈",
smirk: "😏",
smirk_cat: "😼",
smoking: "🚬",
snail: "🐌",
snake: "🐍",
sneezing_face: "🤧",
snowboarder: "🏂",
snowflake: "❄️",
snowman: "⛄",
snowman_with_snow: "☃️",
soap: "🧼",
sob: "😭",
soccer: "⚽",
socks: "🧦",
softball: "🥎",
solomon_islands: "🇸🇧",
somalia: "🇸🇴",
soon: "🔜",
sos: "🆘",
sound: "🔉",
south_africa: "🇿🇦",
south_georgia_south_sandwich_islands: "🇬🇸",
south_sudan: "🇸🇸",
space_invader: "👾",
spades: "♠️",
spaghetti: "🍝",
sparkle: "❇️",
sparkler: "🎇",
sparkles: "✨",
sparkling_heart: "💖",
speak_no_evil: "🙊",
speaker: "🔈",
speaking_head: "🗣️",
speech_balloon: "💬",
speedboat: "🚤",
spider: "🕷️",
spider_web: "🕸️",
spiral_calendar: "🗓️",
spiral_notepad: "🗒️",
sponge: "🧽",
spoon: "🥄",
squid: "🦑",
sri_lanka: "🇱🇰",
st_barthelemy: "🇧🇱",
st_helena: "🇸🇭",
st_kitts_nevis: "🇰🇳",
st_lucia: "🇱🇨",
st_martin: "🇲🇫",
st_pierre_miquelon: "🇵🇲",
st_vincent_grenadines: "🇻🇨",
stadium: "🏟️",
standing_man: "🧍♂️",
standing_person: "🧍",
standing_woman: "🧍♀️",
star: "⭐",
star2: "🌟",
star_and_crescent: "☪️",
star_of_david: "✡️",
star_struck: "🤩",
stars: "🌠",
station: "🚉",
statue_of_liberty: "🗽",
steam_locomotive: "🚂",
stethoscope: "🩺",
stew: "🍲",
stop_button: "⏹️",
stop_sign: "🛑",
stopwatch: "⏱️",
straight_ruler: "📏",
strawberry: "🍓",
stuck_out_tongue: "😛",
stuck_out_tongue_closed_eyes: "😝",
stuck_out_tongue_winking_eye: "😜",
student: "🧑🎓",
studio_microphone: "🎙️",
stuffed_flatbread: "🥙",
sudan: "🇸🇩",
sun_behind_large_cloud: "🌥️",
sun_behind_rain_cloud: "🌦️",
sun_behind_small_cloud: "🌤️",
sun_with_face: "🌞",
sunflower: "🌻",
sunglasses: "😎",
sunny: "☀️",
sunrise: "🌅",
sunrise_over_mountains: "🌄",
superhero: "🦸",
superhero_man: "🦸♂️",
superhero_woman: "🦸♀️",
supervillain: "🦹",
supervillain_man: "🦹♂️",
supervillain_woman: "🦹♀️",
surfer: "🏄",
surfing_man: "🏄♂️",
surfing_woman: "🏄♀️",
suriname: "🇸🇷",
sushi: "🍣",
suspension_railway: "🚟",
svalbard_jan_mayen: "🇸🇯",
swan: "🦢",
swaziland: "🇸🇿",
sweat: "😓",
sweat_drops: "💦",
sweat_smile: "😅",
sweden: "🇸🇪",
sweet_potato: "🍠",
swim_brief: "🩲",
swimmer: "🏊",
swimming_man: "🏊♂️",
swimming_woman: "🏊♀️",
switzerland: "🇨🇭",
symbols: "🔣",
synagogue: "🕍",
syria: "🇸🇾",
syringe: "💉",
"t-rex": "🦖",
taco: "🌮",
tada: "🎉",
taiwan: "🇹🇼",
tajikistan: "🇹🇯",
takeout_box: "🥡",
tanabata_tree: "🎋",
tangerine: "🍊",
tanzania: "🇹🇿",
taurus: "♉",
taxi: "🚕",
tea: "🍵",
teacher: "🧑🏫",
technologist: "🧑💻",
teddy_bear: "🧸",
telephone: "☎️",
telephone_receiver: "📞",
telescope: "🔭",
tennis: "🎾",
tent: "⛺",
test_tube: "🧪",
thailand: "🇹🇭",
thermometer: "🌡️",
thinking: "🤔",
thought_balloon: "💭",
thread: "🧵",
three: "3️⃣",
thumbsdown: "👎",
thumbsup: "👍",
ticket: "🎫",
tickets: "🎟️",
tiger: "🐯",
tiger2: "🐅",
timer_clock: "⏲️",
timor_leste: "🇹🇱",
tipping_hand_man: "💁♂️",
tipping_hand_person: "💁",
tipping_hand_woman: "💁♀️",
tired_face: "😫",
tm: "™️",
togo: "🇹🇬",
toilet: "🚽",
tokelau: "🇹🇰",
tokyo_tower: "🗼",
tomato: "🍅",
tonga: "🇹🇴",
tongue: "👅",
toolbox: "🧰",
tooth: "🦷",
top: "🔝",
tophat: "🎩",
tornado: "🌪️",
tr: "🇹🇷",
trackball: "🖲️",
tractor: "🚜",
traffic_light: "🚥",
train: "🚋",
train2: "🚆",
tram: "🚊",
triangular_flag_on_post: "🚩",
triangular_ruler: "📐",
trident: "🔱",
trinidad_tobago: "🇹🇹",
tristan_da_cunha: "🇹🇦",
triumph: "😤",
trolleybus: "🚎",
trophy: "🏆",
tropical_drink: "🍹",
tropical_fish: "🐠",
truck: "🚚",
trumpet: "🎺",
tshirt: "👕",
tulip: "🌷",
tumbler_glass: "🥃",
tunisia: "🇹🇳",
turkey: "🦃",
turkmenistan: "🇹🇲",
turks_caicos_islands: "🇹🇨",
turtle: "🐢",
tuvalu: "🇹🇻",
tv: "📺",
twisted_rightwards_arrows: "🔀",
two: "2️⃣",
two_hearts: "💕",
two_men_holding_hands: "👬",
two_women_holding_hands: "👭",
u5272: "🈹",
u5408: "🈴",
u55b6: "🈺",
u6307: "🈯",
u6708: "🈷️",
u6709: "🈶",
u6e80: "🈵",
u7121: "🈚",
u7533: "🈸",
u7981: "🈲",
u7a7a: "🈳",
uganda: "🇺🇬",
uk: "🇬🇧",
ukraine: "🇺🇦",
umbrella: "☔",
unamused: "😒",
underage: "🔞",
unicorn: "🦄",
united_arab_emirates: "🇦🇪",
united_nations: "🇺🇳",
unlock: "🔓",
up: "🆙",
upside_down_face: "🙃",
uruguay: "🇺🇾",
us: "🇺🇸",
us_outlying_islands: "🇺🇲",
us_virgin_islands: "🇻🇮",
uzbekistan: "🇺🇿",
v: "✌️",
vampire: "🧛",
vampire_man: "🧛♂️",
vampire_woman: "🧛♀️",
vanuatu: "🇻🇺",
vatican_city: "🇻🇦",
venezuela: "🇻🇪",
vertical_traffic_light: "🚦",
vhs: "📼",
vibration_mode: "📳",
video_camera: "📹",
video_game: "🎮",
vietnam: "🇻🇳",
violin: "🎻",
virgo: "♍",
volcano: "🌋",
volleyball: "🏐",
vomiting_face: "🤮",
vs: "🆚",
vulcan_salute: "🖖",
waffle: "🧇",
wales: "🏴",
walking: "🚶",
walking_man: "🚶♂️",
walking_woman: "🚶♀️",
wallis_futuna: "🇼🇫",
waning_crescent_moon: "🌘",
waning_gibbous_moon: "🌖",
warning: "⚠️",
wastebasket: "🗑️",
watch: "⌚",
water_buffalo: "🐃",
water_polo: "🤽",
watermelon: "🍉",
wave: "👋",
wavy_dash: "〰️",
waxing_crescent_moon: "🌒",
waxing_gibbous_moon: "🌔",
wc: "🚾",
weary: "😩",
wedding: "💒",
weight_lifting: "🏋️",
weight_lifting_man: "🏋️♂️",
weight_lifting_woman: "🏋️♀️",
western_sahara: "🇪🇭",
whale: "🐳",
whale2: "🐋",
wheel_of_dharma: "☸️",
wheelchair: "♿",
white_check_mark: "✅",
white_circle: "⚪",
white_flag: "🏳️",
white_flower: "💮",
white_haired_man: "👨🦳",
white_haired_woman: "👩🦳",
white_heart: "🤍",
white_large_square: "⬜",
white_medium_small_square: "◽",
white_medium_square: "◻️",
white_small_square: "▫️",
white_square_button: "🔳",
wilted_flower: "🥀",
wind_chime: "🎐",
wind_face: "🌬️",
wine_glass: "🍷",
wink: "😉",
wolf: "🐺",
woman: "👩",
woman_artist: "👩🎨",
woman_astronaut: "👩🚀",
woman_cartwheeling: "🤸♀️",
woman_cook: "👩🍳",
woman_dancing: "💃",
woman_facepalming: "🤦♀️",
woman_factory_worker: "👩🏭",
woman_farmer: "👩🌾",
woman_firefighter: "👩🚒",
woman_health_worker: "👩⚕️",
woman_in_manual_wheelchair: "👩🦽",
woman_in_motorized_wheelchair: "👩🦼",
woman_judge: "👩⚖️",
woman_juggling: "🤹♀️",
woman_mechanic: "👩🔧",
woman_office_worker: "👩💼",
woman_pilot: "👩✈️",
woman_playing_handball: "🤾♀️",
woman_playing_water_polo: "🤽♀️",
woman_scientist: "👩🔬",
woman_shrugging: "🤷♀️",
woman_singer: "👩🎤",
woman_student: "👩🎓",
woman_teacher: "👩🏫",
woman_technologist: "👩💻",
woman_with_headscarf: "🧕",
woman_with_probing_cane: "👩🦯",
woman_with_turban: "👳♀️",
womans_clothes: "👚",
womans_hat: "👒",
women_wrestling: "🤼♀️",
womens: "🚺",
woozy_face: "🥴",
world_map: "🗺️",
worried: "😟",
wrench: "🔧",
wrestling: "🤼",
writing_hand: "✍️",
x: "❌",
yarn: "🧶",
yawning_face: "🥱",
yellow_circle: "🟡",
yellow_heart: "💛",
yellow_square: "🟨",
yemen: "🇾🇪",
yen: "💴",
yin_yang: "☯️",
yo_yo: "🪀",
yum: "😋",
zambia: "🇿🇲",
zany_face: "🤪",
zap: "⚡",
zebra: "🦓",
zero: "0️⃣",
zimbabwe: "🇿🇼",
zipper_mouth_face: "🤐",
zombie: "🧟",
zombie_man: "🧟♂️",
zombie_woman: "🧟♀️",
zzz: "💤",
atom: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/atom.png?v8">',
basecamp: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/basecamp.png?v8">',
basecampy: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/basecampy.png?v8">',
bowtie: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/bowtie.png?v8">',
electron: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/electron.png?v8">',
feelsgood: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/feelsgood.png?v8">',
finnadie: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/finnadie.png?v8">',
goberserk: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/goberserk.png?v8">',
godmode: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/godmode.png?v8">',
hurtrealbad: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/hurtrealbad.png?v8">',
neckbeard: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/neckbeard.png?v8">',
octocat: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/octocat.png?v8">',
rage1: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/rage1.png?v8">',
rage2: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/rage2.png?v8">',
rage3: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/rage3.png?v8">',
rage4: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/rage4.png?v8">',
shipit: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/shipit.png?v8">',
suspect: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/suspect.png?v8">',
trollface: '<img width="20" height="20" align="absmiddle" src="https://github.githubassets.com/images/icons/emoji/trollface.png?v8">',
showdown:
'<img width="20" height="20" align="absmiddle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAS1BMVEX///8jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS0jJS3b1q3b1q3b1q3b1q3b1q3b1q3b1q3b1q0565CIAAAAGXRSTlMAQHCAYCCw/+DQwPCQUBAwoHCAEP+wwFBgS2fvBgAAAUZJREFUeAHs1cGy7BAUheFFsEDw/k97VTq3T6ge2EmdM+pvrP6Iwd74XV9Kb52xuMU4/uc1YNgZLFOeV8FGdhGrNk5SEgUyPxAEdj4LlMRDyhVAMVEa2M7TBSeVZAFPdqHgzSZJwPKgcLFLAooHDJo4EDCw4gAtBoJA5UFj4Ng5LOGLwVXZuoIlji/jeQHFk7+baHxrCjeUwB9+s88KndvlhcyBN5BSkYNQIVVb4pV+Npm7hhuKDs/uMP5KxT3WzSNNLIuuoDpMmuAVMruMSeDyQBi24DTr43LAY7ILA1QYaWkgfHzFthYYzg67SQsCbB8GhJUEGCtO9n0rSaCLxgJQjS/JSgMTg2eBDEHAJ+H350AsjYNYscrErgI2e/l+mdR967TCX/v6N0EhPECYCP0i+IAoYQOE8BogNhQMEMdrgAQWHaMAAGi5I5euoY9NAAAAAElFTkSuQmCC">',
}),
P.subParser("makehtml.blockGamut", function (e, a, r) {
"use strict";
return (
(e = r.converter._dispatch("makehtml.blockGamut.before", e, a, r).getText()),
(e = P.subParser("makehtml.blockQuotes")(e, a, r)),
(e = P.subParser("makehtml.headers")(e, a, r)),
(e = P.subParser("makehtml.horizontalRule")(e, a, r)),
(e = P.subParser("makehtml.lists")(e, a, r)),
(e = P.subParser("makehtml.codeBlocks")(e, a, r)),
(e = P.subParser("makehtml.tables")(e, a, r)),
(e = P.subParser("makehtml.hashHTMLBlocks")(e, a, r)),
(e = P.subParser("makehtml.paragraphs")(e, a, r)),
(e = r.converter._dispatch("makehtml.blockGamut.after", e, a, r).getText())
);
}),
P.subParser("makehtml.blockQuotes", function (e, a, r) {
"use strict";
e = r.converter._dispatch("makehtml.blockQuotes.before", e, a, r).getText();
var t = /(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;
return (
a.splitAdjacentBlockquotes && (t = /^ {0,3}>[\s\S]*?(?:\n\n)/gm),
(e = (e += "\n\n").replace(t, function (e) {
return (
(e = (e = (e = e.replace(/^[ \t]*>[ \t]?/gm, "")).replace(/¨0/g, "")).replace(/^[ \t]+$/gm, "")),
(e = P.subParser("makehtml.githubCodeBlocks")(e, a, r)),
(e = (e = (e = P.subParser("makehtml.blockGamut")(e, a, r)).replace(/(^|\n)/g, "$1 ")).replace(/(\s*<pre>[^\r]+?<\/pre>)/gm, function (e, a) {
return a.replace(/^ /gm, "¨0").replace(/¨0/g, "");
})),
P.subParser("makehtml.hashBlock")("<blockquote>\n" + e + "\n</blockquote>", a, r)
);
})),
(e = r.converter._dispatch("makehtml.blockQuotes.after", e, a, r).getText())
);
}),
P.subParser("makehtml.codeBlocks", function (e, n, s) {
"use strict";
e = s.converter._dispatch("makehtml.codeBlocks.before", e, n, s).getText();
return (
(e = (e = (e += "¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g, function (e, a, r) {
var t = "\n",
a = P.subParser("makehtml.outdent")(a, n, s);
return (
(a = P.subParser("makehtml.encodeCode")(a, n, s)),
(a = "<pre><code>" + (a = (a = (a = P.subParser("makehtml.detab")(a, n, s)).replace(/^\n+/g, "")).replace(/\n+$/g, "")) + (t = n.omitExtraWLInCodeBlocks ? "" : t) + "</code></pre>"),
P.subParser("makehtml.hashBlock")(a, n, s) + r
);
})).replace(/¨0/, "")),
(e = s.converter._dispatch("makehtml.codeBlocks.after", e, n, s).getText())
);
}),
P.subParser("makehtml.codeSpans", function (e, n, s) {
"use strict";
return (
(e = (e = void 0 === (e = s.converter._dispatch("makehtml.codeSpans.before", e, n, s).getText()) ? "" : e).replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm, function (e, a, r, t) {
return (t = (t = t.replace(/^([ \t]*)/g, "")).replace(/[ \t]*$/g, "")), (t = a + "<code>" + (t = P.subParser("makehtml.encodeCode")(t, n, s)) + "</code>"), (t = P.subParser("makehtml.hashHTMLSpans")(t, n, s));
})),
(e = s.converter._dispatch("makehtml.codeSpans.after", e, n, s).getText())
);
}),
P.subParser("makehtml.completeHTMLDocument", function (e, a, r) {
"use strict";
if (!a.completeHTMLDocument) return e;
e = r.converter._dispatch("makehtml.completeHTMLDocument.before", e, a, r).getText();
var t,
n = "html",
s = "<!DOCTYPE HTML>\n",
i = "",
o = '<meta charset="utf-8">\n',
l = "",
c = "";
for (t in (void 0 !== r.metadata.parsed.doctype &&
((s = "<!DOCTYPE " + r.metadata.parsed.doctype + ">\n"), ("html" !== (n = r.metadata.parsed.doctype.toString().toLowerCase()) && "html5" !== n) || (o = '<meta charset="utf-8">')),
r.metadata.parsed))
if (r.metadata.parsed.hasOwnProperty(t))
switch (t.toLowerCase()) {
case "doctype":
break;
case "title":
i = "<title>" + r.metadata.parsed.title + "</title>\n";
break;
case "charset":
o = "html" === n || "html5" === n ? '<meta charset="' + r.metadata.parsed.charset + '">\n' : '<meta name="charset" content="' + r.metadata.parsed.charset + '">\n';
break;
case "language":
case "lang":
(l = ' lang="' + r.metadata.parsed[t] + '"'), (c += '<meta name="' + t + '" content="' + r.metadata.parsed[t] + '">\n');
break;
default:
c += '<meta name="' + t + '" content="' + r.metadata.parsed[t] + '">\n';
}
return (e = s + "<html" + l + ">\n<head>\n" + i + o + c + "</head>\n<body>\n" + e.trim() + "\n</body>\n</html>"), (e = r.converter._dispatch("makehtml.completeHTMLDocument.after", e, a, r).getText());
}),
P.subParser("makehtml.detab", function (e, a, r) {
"use strict";
return (
(e = (e = (e = (e = (e = (e = r.converter._dispatch("makehtml.detab.before", e, a, r).getText()).replace(/\t(?=\t)/g, " ")).replace(/\t/g, "¨A¨B")).replace(/¨B(.+?)¨A/g, function (e, a) {
for (var r = a, t = 4 - (r.length % 4), n = 0; n < t; n++) r += " ";
return r;
})).replace(/¨A/g, " ")).replace(/¨B/g, "")),
(e = r.converter._dispatch("makehtml.detab.after", e, a, r).getText())
);
}),
P.subParser("makehtml.ellipsis", function (e, a, r) {
"use strict";
return a.ellipsis ? ((e = (e = r.converter._dispatch("makehtml.ellipsis.before", e, a, r).getText()).replace(/\.\.\./g, "…")), r.converter._dispatch("makehtml.ellipsis.after", e, a, r).getText()) : e;
}),
P.subParser("makehtml.emoji", function (e, a, r) {
"use strict";
if (!a.emoji) return e;
return (
(e = (e = r.converter._dispatch("makehtml.emoji.before", e, a, r).getText()).replace(/:([\S]+?):/g, function (e, a) {
return P.helper.emojis.hasOwnProperty(a) ? P.helper.emojis[a] : e;
})),
(e = r.converter._dispatch("makehtml.emoji.after", e, a, r).getText())
);
}),
P.subParser("makehtml.encodeAmpsAndAngles", function (e, a, r) {
"use strict";
return (
(e = (e = (e = (e = (e = r.converter._dispatch("makehtml.encodeAmpsAndAngles.before", e, a, r).getText()).replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g, "&")).replace(/<(?![a-z\/?$!])/gi, "<")).replace(
/</g,
"<"
)).replace(/>/g, ">")),
(e = r.converter._dispatch("makehtml.encodeAmpsAndAngles.after", e, a, r).getText())
);
}),
P.subParser("makehtml.encodeBackslashEscapes", function (e, a, r) {
"use strict";
return (
(e = (e = (e = r.converter._dispatch("makehtml.encodeBackslashEscapes.before", e, a, r).getText()).replace(/\\(\\)/g, P.helper.escapeCharactersCallback)).replace(
/\\([`*_{}\[\]()>#+.!~=|:-])/g,
P.helper.escapeCharactersCallback
)),
(e = r.converter._dispatch("makehtml.encodeBackslashEscapes.after", e, a, r).getText())
);
}),
P.subParser("makehtml.encodeCode", function (e, a, r) {
"use strict";
return (
(e = (e = r.converter._dispatch("makehtml.encodeCode.before", e, a, r).getText())
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/([*_{}\[\]\\=~-])/g, P.helper.escapeCharactersCallback)),
(e = r.converter._dispatch("makehtml.encodeCode.after", e, a, r).getText())
);
}),
P.subParser("makehtml.escapeSpecialCharsWithinTagAttributes", function (e, a, r) {
"use strict";
return (
(e = (e = (e = r.converter._dispatch("makehtml.escapeSpecialCharsWithinTagAttributes.before", e, a, r).getText()).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi, function (e) {
return e.replace(/(.)<\/?code>(?=.)/g, "$1`").replace(/([\\`*_~=|])/g, P.helper.escapeCharactersCallback);
})).replace(/<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi, function (e) {
return e.replace(/([\\`*_~=|])/g, P.helper.escapeCharactersCallback);
})),
(e = r.converter._dispatch("makehtml.escapeSpecialCharsWithinTagAttributes.after", e, a, r).getText())
);
}),
P.subParser("makehtml.githubCodeBlocks", function (e, s, i) {
"use strict";
return s.ghCodeBlocks
? ((e = i.converter._dispatch("makehtml.githubCodeBlocks.before", e, s, i).getText()),
(e = (e = (e += "¨0").replace(/(?:^|\n) {0,3}(```+|~~~+) *([^\n\t`~]*)\n([\s\S]*?)\n {0,3}\1/g, function (e, a, r, t) {
var n = s.omitExtraWLInCodeBlocks ? "" : "\n";
return (
(r = r.trim().split(" ")[0]),
(t = P.subParser("makehtml.encodeCode")(t, s, i)),
(t = "<pre><code" + (r ? ' class="' + r + " language-" + r + '"' : "") + ">" + (t = (t = (t = P.subParser("makehtml.detab")(t, s, i)).replace(/^\n+/g, "")).replace(/\n+$/g, "")) + n + "</code></pre>"),
(t = P.subParser("makehtml.hashBlock")(t, s, i)),
"\n\n¨G" + (i.ghCodeBlocks.push({ text: e, codeblock: t }) - 1) + "G\n\n"
);
})).replace(/¨0/, "")),
i.converter._dispatch("makehtml.githubCodeBlocks.after", e, s, i).getText())
: e;
}),
P.subParser("makehtml.hashBlock", function (e, a, r) {
"use strict";
return (
(e = (e = r.converter._dispatch("makehtml.hashBlock.before", e, a, r).getText()).replace(/(^\n+|\n+$)/g, "")),
(e = "\n\n¨K" + (r.gHtmlBlocks.push(e) - 1) + "K\n\n"),
(e = r.converter._dispatch("makehtml.hashBlock.after", e, a, r).getText())
);
}),
P.subParser("makehtml.hashCodeTags", function (e, n, s) {
"use strict";
e = s.converter._dispatch("makehtml.hashCodeTags.before", e, n, s).getText();
return (
(e = P.helper.replaceRecursiveRegExp(
e,
function (e, a, r, t) {
r = r + P.subParser("makehtml.encodeCode")(a, n, s) + t;
return "¨C" + (s.gHtmlSpans.push(r) - 1) + "C";
},
"<code\\b[^>]*>",
"</code>",
"gim"
)),
(e = s.converter._dispatch("makehtml.hashCodeTags.after", e, n, s).getText())
);
}),
P.subParser("makehtml.hashElement", function (e, a, r) {
"use strict";
return function (e, a) {
return (a = (a = (a = a.replace(/\n\n/g, "\n")).replace(/^\n/, "")).replace(/\n+$/g, "")), (a = "\n\n¨K" + (r.gHtmlBlocks.push(a) - 1) + "K\n\n");
};
}),
P.subParser("makehtml.hashHTMLBlocks", function (e, a, n) {
"use strict";
e = n.converter._dispatch("makehtml.hashHTMLBlocks.before", e, a, n).getText();
function r(e, a, r, t) {
return -1 !== r.search(/\bmarkdown\b/) && (e = r + n.converter.makeHtml(a) + t), "\n\n¨K" + (n.gHtmlBlocks.push(e) - 1) + "K\n\n";
}
var t = [
"pre",
"div",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"blockquote",
"table",
"dl",
"ol",
"ul",
"script",
"noscript",
"form",
"fieldset",
"iframe",
"math",
"style",
"section",
"header",
"footer",
"nav",
"article",
"aside",
"address",
"audio",
"canvas",
"figure",
"hgroup",
"output",
"video",
"details",
"p",
];
a.backslashEscapesHTMLTags &&
(e = e.replace(/\\<(\/?[^>]+?)>/g, function (e, a) {
return "<" + a + ">";
}));
for (var s = 0; s < t.length; ++s)
for (var i = new RegExp("^ {0,3}(<" + t[s] + "\\b[^>]*>)", "im"), o = "<" + t[s] + "\\b[^>]*>", l = "</" + t[s] + ">"; -1 !== (c = P.helper.regexIndexOf(e, i)); ) {
var c = P.helper.splitAtIndex(e, c),
u = P.helper.replaceRecursiveRegExp(c[1], r, o, l, "im");
if (u === c[1]) break;
e = c[0].concat(u);
}
return (
(e = e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g, P.subParser("makehtml.hashElement")(e, a, n))),
(e = (e = P.helper.replaceRecursiveRegExp(
e,
function (e) {
return "\n\n¨K" + (n.gHtmlBlocks.push(e) - 1) + "K\n\n";
},
"^ {0,3}\x3c!--",
"--\x3e",
"gm"
)).replace(/\n\n( {0,3}<([?%])[^\r]*?\2>[ \t]*(?=\n{2,}))/g, P.subParser("makehtml.hashElement")(e, a, n))),
(e = n.converter._dispatch("makehtml.hashHTMLBlocks.after", e, a, n).getText())
);
}),
P.subParser("makehtml.hashHTMLSpans", function (e, a, r) {
"use strict";
return (
(e = (e = (e = (e = (e = r.converter._dispatch("makehtml.hashHTMLSpans.before", e, a, r).getText()).replace(/<[^>]+?\/>/gi, function (e) {
return P.helper._hashHTMLSpan(e, r);
})).replace(/<([^>]+?)>[\s\S]*?<\/\1>/g, function (e) {
return P.helper._hashHTMLSpan(e, r);
})).replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g, function (e) {
return P.helper._hashHTMLSpan(e, r);
})).replace(/<[^>]+?>/gi, function (e) {
return P.helper._hashHTMLSpan(e, r);
})),
(e = r.converter._dispatch("makehtml.hashHTMLSpans.after", e, a, r).getText())
);
}),
P.subParser("makehtml.unhashHTMLSpans", function (e, a, r) {
"use strict";
e = r.converter._dispatch("makehtml.unhashHTMLSpans.before", e, a, r).getText();
for (var t = 0; t < r.gHtmlSpans.length; ++t) {
for (var n = r.gHtmlSpans[t], s = 0; /¨C(\d+)C/.test(n); ) {
var i = RegExp.$1,
n = n.replace("¨C" + i + "C", r.gHtmlSpans[i]);
if (10 === s) {
console.error("maximum nesting of 10 spans reached!!!");
break;
}
++s;
}
e = e.replace("¨C" + t + "C", n);
}
return (e = r.converter._dispatch("makehtml.unhashHTMLSpans.after", e, a, r).getText());
}),
P.subParser("makehtml.hashPreCodeTags", function (e, n, s) {
"use strict";
e = s.converter._dispatch("makehtml.hashPreCodeTags.before", e, n, s).getText();
return (
(e = P.helper.replaceRecursiveRegExp(
e,
function (e, a, r, t) {
r = r + P.subParser("makehtml.encodeCode")(a, n, s) + t;
return "\n\n¨G" + (s.ghCodeBlocks.push({ text: e, codeblock: r }) - 1) + "G\n\n";
},
"^ {0,3}<pre\\b[^>]*>\\s*<code\\b[^>]*>",
"^ {0,3}</code>\\s*</pre>",
"gim"
)),
(e = s.converter._dispatch("makehtml.hashPreCodeTags.after", e, n, s).getText())
);
}),
P.subParser("makehtml.headers", function (e, n, s) {
"use strict";
e = s.converter._dispatch("makehtml.headers.before", e, n, s).getText();
var i = isNaN(parseInt(n.headerLevelStart)) ? 1 : parseInt(n.headerLevelStart),
a = n.smoothLivePreview ? /^(.+)[ \t]*\n={2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n=+[ \t]*\n+/gm,
r = n.smoothLivePreview ? /^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n-+[ \t]*\n+/gm,
a =
((e = (e = e.replace(a, function (e, a) {
var r = P.subParser("makehtml.spanGamut")(a, n, s),
a = n.noHeaderId ? "" : ' id="' + o(a) + '"',
a = "<h" + i + a + ">" + r + "</h" + i + ">";
return P.subParser("makehtml.hashBlock")(a, n, s);
})).replace(r, function (e, a) {
var r = P.subParser("makehtml.spanGamut")(a, n, s),
a = n.noHeaderId ? "" : ' id="' + o(a) + '"',
t = i + 1,
a = "<h" + t + a + ">" + r + "</h" + t + ">";
return P.subParser("makehtml.hashBlock")(a, n, s);
})),
n.requireSpaceBeforeHeadingText ? /^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm : /^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm);
function o(e) {
var a = (e = n.customizedHeaderId && (a = e.match(/{([^{]+?)}\s*$/)) && a[1] ? a[1] : e),
e = P.helper.isString(n.prefixHeaderId) ? n.prefixHeaderId : !0 === n.prefixHeaderId ? "section-" : "";
return (
n.rawPrefixHeaderId || (a = e + a),
(a = (n.ghCompatibleHeaderId
? a
.replace(/ /g, "-")
.replace(/&/g, "")
.replace(/¨T/g, "")
.replace(/¨D/g, "")
.replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g, "")
: n.rawHeaderId
? a.replace(/ /g, "-").replace(/&/g, "&").replace(/¨T/g, "¨").replace(/¨D/g, "$").replace(/["']/g, "-")
: a.replace(/[^\w]/g, "")
).toLowerCase()),
n.rawPrefixHeaderId && (a = e + a),
s.hashLinkCounts[a] ? (a = a + "-" + s.hashLinkCounts[a]++) : (s.hashLinkCounts[a] = 1),
a
);
}
return (
(e = e.replace(a, function (e, a, r) {
var t = r,
t = (n.customizedHeaderId && (t = r.replace(/\s?{([^{]+?)}\s*$/, "")), P.subParser("makehtml.spanGamut")(t, n, s)),
r = n.noHeaderId ? "" : ' id="' + o(r) + '"',
a = i - 1 + a.length,
r = "<h" + a + r + ">" + t + "</h" + a + ">";
return P.subParser("makehtml.hashBlock")(r, n, s);
})),
(e = s.converter._dispatch("makehtml.headers.after", e, n, s).getText())
);
}),
P.subParser("makehtml.horizontalRule", function (e, a, r) {
"use strict";
e = r.converter._dispatch("makehtml.horizontalRule.before", e, a, r).getText();
var t = P.subParser("makehtml.hashBlock")("<hr />", a, r);
return (
(e = (e = (e = e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm, t)).replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm, t)).replace(/^ {0,2}( ?_){3,}[ \t]*$/gm, t)), (e = r.converter._dispatch("makehtml.horizontalRule.after", e, a, r).getText())
);
}),
P.subParser("makehtml.images", function (e, l, h) {
"use strict";
function a(e, a, r, t, n, s, i, o) {
return c(e, a, r, (t = P.helper.applyBaseUrl(l.relativePathBaseUrl, t)), n, s, 0, o);
}
function c(e, a, r, t, n, s, i, o) {
var l = h.gUrls,
c = h.gTitles,
u = h.gDimensions;
if (((r = r.toLowerCase()), (o = o || ""), -1 < e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m))) t = "";
else if ("" === t || null === t) {
if (((t = "#" + (r = "" !== r && null !== r ? r : a.toLowerCase().replace(/ ?\n/g, " "))), P.helper.isUndefined(l[r]))) return e;
(t = l[r]), P.helper.isUndefined(c[r]) || (o = c[r]), P.helper.isUndefined(u[r]) || ((n = u[r].width), (s = u[r].height));
}
a = a.replace(/"/g, """).replace(P.helper.regexes.asteriskDashTildeAndColon, P.helper.escapeCharactersCallback);
e = '<img src="' + (t = t.replace(P.helper.regexes.asteriskDashTildeAndColon, P.helper.escapeCharactersCallback)) + '" alt="' + a + '"';
return (
o && P.helper.isString(o) && (e += ' title="' + (o = o.replace(/"/g, """).replace(P.helper.regexes.asteriskDashTildeAndColon, P.helper.escapeCharactersCallback)) + '"'),
n && s && (e = e + (' width="' + (n = "*" === n ? "auto" : n)) + '" height="' + (s = "*" === s ? "auto" : s) + '"'),
(e += " />")
);
}
return (
(e = (e = (e = (e = (e = (e = h.converter._dispatch("makehtml.images.before", e, l, h).getText()).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g, c)).replace(
/!\[([^\]]*?)][ \t]*()\([ \t]?<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,
function (e, a, r, t, n, s, i, o) {
return c(e, a, r, (t = t.replace(/\s/g, "")), n, s, 0, o);
}
)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g, a)).replace(
/!\[([^\]]*?)][ \t]*()\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,
a
)).replace(/!\[([^\[\]]+)]()()()()()/g, c)),
(e = h.converter._dispatch("makehtml.images.after", e, l, h).getText())
);
}),
P.subParser("makehtml.italicsAndBold", function (e, a, r) {
"use strict";
return (
(e = r.converter._dispatch("makehtml.italicsAndBold.before", e, a, r).getText()),
(e = (e = (e = (e = a.literalMidWordUnderscores
? (e = (e = e.replace(/\b___(\S[\s\S]*?)___\b/g, function (e, a) {
return "<strong><em>" + a + "</em></strong>";
})).replace(/\b__(\S[\s\S]*?)__\b/g, function (e, a) {
return "<strong>" + a + "</strong>";
})).replace(/\b_(\S[\s\S]*?)_\b/g, function (e, a) {
return "<em>" + a + "</em>";
})
: (e = (e = e.replace(/___(\S[\s\S]*?)___/g, function (e, a) {
return /\S$/.test(a) ? "<strong><em>" + a + "</em></strong>" : e;
})).replace(/__(\S[\s\S]*?)__/g, function (e, a) {
return /\S$/.test(a) ? "<strong>" + a + "</strong>" : e;
})).replace(/_([^\s_][\s\S]*?)_/g, function (e, a) {
return /\S$/.test(a) ? "<em>" + a + "</em>" : e;
})).replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g, function (e, a) {
return /\S$/.test(a) ? "<strong><em>" + a + "</em></strong>" : e;
})).replace(/\*\*(\S[\s\S]*?)\*\*/g, function (e, a) {
return /\S$/.test(a) ? "<strong>" + a + "</strong>" : e;
})).replace(/\*([^\s*][\s\S]*?)\*/g, function (e, a) {
return /\S$/.test(a) ? "<em>" + a + "</em>" : e;
})),
(e = r.converter._dispatch("makehtml.italicsAndBold.after", e, a, r).getText())
);
}),
(s = "makehtml.links"),
P.subParser("makehtml.links", function (e, a, r) {
return (
(e = r.converter._dispatch(s + ".start", e, a, r).getText()),
(e = P.subParser("makehtml.links.reference")(e, a, r)),
(e = P.subParser("makehtml.links.inline")(e, a, r)),
(e = P.subParser("makehtml.links.referenceShortcut")(e, a, r)),
(e = P.subParser("makehtml.links.angleBrackets")(e, a, r)),
(e = (e = (e = P.subParser("makehtml.links.ghMentions")(e, a, r)).replace(/<a\s[^>]*>[\s\S]*<\/a>/g, function (e) {
return P.helper._hashHTMLSpan(e, r);
})).replace(/<img\s[^>]*\/?>/g, function (e) {
return P.helper._hashHTMLSpan(e, r);
})),
(e = P.subParser("makehtml.links.naked")(e, a, r)),
(e = r.converter._dispatch(s + ".end", e, a, r).getText())
);
}),
P.subParser("makehtml.links.inline", function (e, a, r) {
var t = void 0 + ".inline",
n = /\[(.*?)]()()()()\(<? ?>? ?(?:["'](.*)["'])?\)/g,
s = /\[((?:\[[^\]]*]|[^\[\]])*)]()\s?\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,
i = /\[([\S ]*?)]\s?()\( *<?([^\s'"]*?(?:\([\S]*?\)[\S]*?)?)>?\s*(?:()(['"])(.*?)\5)? *\)/g,
o = /\[([\S ]*?)]\s?()\( *<?([^\s'"]*?(?:\([\S]*?\)[\S]*?)?)>?\s+()()\((.*?)\) *\)/g;
return (
(e = (e = (e = (e = (e = r.converter._dispatch(t + ".start", e, a, r).getText()).replace(n, l(n, t, a, r, !0))).replace(s, l(s, t, a, r))).replace(i, l(i, t, a, r))).replace(o, l(o, t, a, r))),
(e = r.converter._dispatch(t + ".end", e, a, r).getText())
);
}),
P.subParser("makehtml.links.reference", function (e, a, r) {
var t = void 0 + ".reference",
n = /\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g;
return (e = (e = r.converter._dispatch(t + ".start", e, a, r).getText()).replace(n, i(n, t, a, r))), (e = r.converter._dispatch(t + ".end", e, a, r).getText());
}),
P.subParser("makehtml.links.referenceShortcut", function (e, a, r) {
var t = void 0 + ".referenceShortcut",
n = /\[([^\[\]]+)]()()()()()/g;
return (e = (e = r.converter._dispatch(t + ".start", e, a, r).getText()).replace(n, i(n, t, a, r))), (e = r.converter._dispatch(t + ".end", e, a, r).getText());
}),
P.subParser("makehtml.links.ghMentions", function (e, s, i) {
var o = void 0 + "ghMentions";
if (!s.ghMentions) return e;
e = i.converter._dispatch(o + ".start", e, s, i).getText();
var l = /(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d._-]+?[a-z\d]+)*))/gi;
return (
(e = e.replace(l, function (e, a, r, t, n) {
if ("\\" === r) return a + t;
if (!P.helper.isString(s.ghMentionsLink)) throw new Error("ghMentionsLink option must be a string");
r = s.ghMentionsLink.replace(/{u}/g, n);
return a + b(_(l, o + ".captureStart", e, t, null, r, null, s, i), s, i);
})),
(e = i.converter._dispatch(o + ".end", e, s, i).getText())
);
}),
P.subParser("makehtml.links.angleBrackets", function (e, t, n) {
var s = "makehtml.links.angleBrackets",
i = ((e = n.converter._dispatch(s + ".start", e, t, n).getText()), /<(((?:https?|ftp):\/\/|www\.)[^'">\s]+)>/gi),
o =
((e = e.replace(i, function (e, a, r) {
return b(_(i, s + ".captureStart", e, a, null, (a = "www." === r ? "http://" + a : a), null, t, n), t, n);
})),
/<(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi);
return (
(e = e.replace(o, function (e, a) {
var r = "mailto:";
return (
(a = P.subParser("makehtml.unescapeSpecialChars")(a, t, n)),
t.encodeEmails ? ((r = P.helper.encodeEmailAddress(r + a)), (a = P.helper.encodeEmailAddress(a))) : (r += a),
b(_(o, s + ".captureStart", e, a, null, r, null, t, n), t, n)
);
})),
(e = n.converter._dispatch(s + ".end", e, t, n).getText())
);
}),
P.subParser("makehtml.links.naked", function (e, u, h) {
if (!u.simplifiedAutoLink) return e;
var m = "makehtml.links.naked",
d = ((e = h.converter._dispatch(m + ".start", e, u, h).getText()), /([_*~]*?)(((?:https?|ftp):\/\/|www\.)[^\s<>"'`´.-][^\s<>"'`´]*?\.[a-z\d.]+[^\s<>"']*)\1/gi),
n =
((e = e.replace(d, function (e, a, r, t) {
for (var n = "", s = r.length - 1; 0 <= s; --s) {
var i = r.charAt(s);
if (/[_*~,;:.!?]/.test(i)) (r = r.slice(0, -1)), (n = i + n);
else if (/\)/.test(i)) {
var o = r.match(/\(/g) || [],
l = r.match(/\)/g);
if (!(o.length < l.length)) break;
(r = r.slice(0, -1)), (n = i + n);
} else {
if (!/]/.test(i)) break;
(o = r.match(/\[/g) || []), (l = r.match(/\]/g));
if (!(o.length < l.length)) break;
(r = r.slice(0, -1)), (n = i + n);
}
}
var c = r;
return (
(r = "www." === t ? "http://" + r : r), (c = c.replace(P.helper.regexes.asteriskDashTildeAndColon, P.helper.escapeCharactersCallback)), a + b(_(d, m + ".captureStart", e, c, null, r, null, u, h), u, h) + n + a
);
})),
/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim);
return (
(e = e.replace(n, function (e, a, r) {
var t = "mailto:";
return (
(r = P.subParser("makehtml.unescapeSpecialChars")(r, u, h)),
u.encodeEmails ? ((t = P.helper.encodeEmailAddress(t + r)), (r = P.helper.encodeEmailAddress(r))) : (t += r),
a + b(_(n, m + ".captureStart", e, r, null, t, null, u, h), u, h)
);
})),
(e = h.converter._dispatch(m + ".end", e, u, h).getText())
);
}),
P.subParser("makehtml.lists", function (e, g, p) {
"use strict";
function h(e, a) {
p.gListLevel++, (e = e.replace(/\n{2,}$/, "\n"));
var r = /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[([xX ])])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,
d = /\n[ \t]*\n(?!¨0)/.test((e += "¨0"));
return (
g.disableForced4SpacesIndentedSublists && (r = /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[([xX ])])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),
(e = (e = e.replace(r, function (e, a, r, t, n, s, i) {
i = i && "" !== i.trim();
var n = P.subParser("makehtml.outdent")(n, g, p),
o = "";
if (
(s &&
g.tasklists &&
((o = ' class="task-list-item'),
g.moreStyling && (o += i ? " task-list-item-complete" : ""),
(o += '" style="list-style-type: none;"'),
(n = n.replace(/^[ \t]*\[([xX ])?]/m, function () {
var e = '<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"';
return i && (e += " checked"), (e += ">");
}))),
(n = n.replace(/^([-*+]|\d\.)[ \t]+[\S\n ]*/g, function (e) {
return "¨A" + e;
})),
/^#+.+\n.+/.test(n) && (n = n.replace(/^(#+.+)$/m, "$1\n")),
a || -1 < n.search(/\n{2,}/))
) {
(n = P.subParser("makehtml.githubCodeBlocks")(n, g, p)),
(n = P.subParser("makehtml.blockQuotes")(n, g, p)),
(n = P.subParser("makehtml.headers")(n, g, p)),
(n = P.subParser("makehtml.lists")(n, g, p)),
(n = P.subParser("makehtml.codeBlocks")(n, g, p)),
(n = P.subParser("makehtml.tables")(n, g, p));
for (var l = (n = (n = (n = P.subParser("makehtml.hashHTMLBlocks")(n, g, p)).replace(/^\n+/g, "")).replace(/\n+$/g, "")).split(/\n{2,}/g), c = [], u = l.length, h = 0; h < u; h++) {
var m = l[h];
0 <= m.search(/¨([KG])(\d+)\1/g) ? c.push(m) : 0 <= m.search(/\S/) && ((m = (m = P.subParser("makehtml.spanGamut")(m, g, p)).replace(/^([ \t]*)/g, "<p>")), (m += "</p>"), c.push(m));
}
n = (n = (n = c.join("\n")).replace(/^\n+/g, "")).replace(/\n+$/g, "");
} else (n = (n = P.subParser("makehtml.lists")(n, g, p)).replace(/\n$/, "")), (n = (n = P.subParser("makehtml.hashHTMLBlocks")(n, g, p)).replace(/\n\n+/g, "\n\n")), (n = (d ? P.subParser("makehtml.paragraphs") : P.subParser("makehtml.spanGamut"))(n, g, p));
return (n = "<li" + o + ">" + (n = n.replace("¨A", "")) + "</li>\n");
})).replace(/¨0/g, "")),
p.gListLevel--,
(e = a ? e.replace(/\s+$/, "") : e)
);
}
function m(e, a) {
if ("ol" === a) {
a = e.match(/^ *(\d+)\./);
if (a && "1" !== a[1]) return ' start="' + a[1] + '"';
}
return "";
}
function n(n, s, i) {
var e,
o = g.disableForced4SpacesIndentedSublists ? /^ ?\d+\.[ \t]/gm : /^ {0,3}\d+\.[ \t]/gm,
l = g.disableForced4SpacesIndentedSublists ? /^ ?[*+-][ \t]/gm : /^ {0,3}[*+-][ \t]/gm,
c = "ul" === s ? o : l,
u = "";
return (
-1 !== n.search(c)
? (function e(a) {
var r = a.search(c),
t = m(n, s);
-1 !== r
? ((u += "\n\n<" + s + t + ">\n" + h(a.slice(0, r), !!i) + "</" + s + ">\n"), (c = "ul" === (s = "ul" === s ? "ol" : "ul") ? o : l), e(a.slice(r)))
: (u += "\n\n<" + s + t + ">\n" + h(a, !!i) + "</" + s + ">\n");
})(n)
: ((e = m(n, s)), (u = "\n\n<" + s + e + ">\n" + h(n, !!i) + "</" + s + ">\n")),
u
);
}
return (
(e = p.converter._dispatch("lists.before", e, g, p).getText()),
(e += "¨0"),
(e = (e = p.gListLevel
? e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm, function (e, a, r) {
return n(a, -1 < r.search(/[*+-]/g) ? "ul" : "ol", !0);
})
: e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm, function (e, a, r, t) {
return n(r, -1 < t.search(/[*+-]/g) ? "ul" : "ol", !1);
})).replace(/¨0/, "")),
(e = p.converter._dispatch("makehtml.lists.after", e, g, p).getText())
);
}),
P.subParser("makehtml.metadata", function (e, a, t) {
"use strict";
return a.metadata
? ((e = (e = (e = (e = t.converter._dispatch("makehtml.metadata.before", e, a, t).getText()).replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/, function (e, a, r) {
return n(r), "¨M";
})).replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/, function (e, a, r) {
return a && (t.metadata.format = a), n(r), "¨M";
})).replace(/¨M/g, "")),
t.converter._dispatch("makehtml.metadata.after", e, a, t).getText())
: e;
function n(e) {
(e = (e = (e = (t.metadata.raw = e).replace(/&/g, "&").replace(/"/g, """)).replace(/¨D/g, "$$").replace(/¨T/g, "¨")).replace(/\n {4}/g, " ")).replace(/^([\S ]+): +([\s\S]+?)$/gm, function (e, a, r) {
return (t.metadata.parsed[a] = r), "";
});
}
}),
P.subParser("makehtml.outdent", function (e, a, r) {
"use strict";
return (e = (e = (e = r.converter._dispatch("makehtml.outdent.before", e, a, r).getText()).replace(/^(\t|[ ]{1,4})/gm, "¨0")).replace(/¨0/g, "")), (e = r.converter._dispatch("makehtml.outdent.after", e, a, r).getText());
}),
P.subParser("makehtml.paragraphs", function (e, a, r) {
"use strict";
for (var t = (e = (e = (e = r.converter._dispatch("makehtml.paragraphs.before", e, a, r).getText()).replace(/^\n+/g, "")).replace(/\n+$/g, "")).split(/\n{2,}/g), n = [], s = t.length, i = 0; i < s; i++) {
var o = t[i];
0 <= o.search(/¨(K|G)(\d+)\1/g) ? n.push(o) : 0 <= o.search(/\S/) && ((o = (o = P.subParser("makehtml.spanGamut")(o, a, r)).replace(/^([ \t]*)/g, "<p>")), (o += "</p>"), n.push(o));
}
for (s = n.length, i = 0; i < s; i++) {
for (var l = "", c = n[i], u = !1; /¨(K|G)(\d+)\1/.test(c); ) {
var h = RegExp.$1,
m = RegExp.$2;
(l = (l = "K" === h ? r.gHtmlBlocks[m] : u ? P.subParser("makehtml.encodeCode")(r.ghCodeBlocks[m].text, a, r) : r.ghCodeBlocks[m].codeblock).replace(/\$/g, "$$$$")),
(c = c.replace(/(\n\n)?¨(K|G)\d+\2(\n\n)?/, l)),
/^<pre\b[^>]*>\s*<code\b[^>]*>/.test(c) && (u = !0);
}
n[i] = c;
}
return (e = (e = (e = n.join("\n")).replace(/^\n+/g, "")).replace(/\n+$/g, "")), r.converter._dispatch("makehtml.paragraphs.after", e, a, r).getText();
}),
P.subParser("makehtml.runExtension", function (e, a, r, t) {
"use strict";
return e.filter ? (a = e.filter(a, t.converter, r)) : e.regex && ((t = e.regex) instanceof RegExp || (t = new RegExp(t, "g")), (a = a.replace(t, e.replace))), a;
}),
P.subParser("makehtml.spanGamut", function (e, a, r) {
"use strict";
return (
(e = r.converter._dispatch("makehtml.span.before", e, a, r).getText()),
(e = P.subParser("makehtml.codeSpans")(e, a, r)),
(e = P.subParser("makehtml.escapeSpecialCharsWithinTagAttributes")(e, a, r)),
(e = P.subParser("makehtml.encodeBackslashEscapes")(e, a, r)),
(e = P.subParser("makehtml.images")(e, a, r)),
(e = r.converter._dispatch("smakehtml.links.before", e, a, r).getText()),
(e = P.subParser("makehtml.links")(e, a, r)),
(e = r.converter._dispatch("smakehtml.links.after", e, a, r).getText()),
(e = P.subParser("makehtml.emoji")(e, a, r)),
(e = P.subParser("makehtml.underline")(e, a, r)),
(e = P.subParser("makehtml.italicsAndBold")(e, a, r)),
(e = P.subParser("makehtml.strikethrough")(e, a, r)),
(e = P.subParser("makehtml.ellipsis")(e, a, r)),
(e = P.subParser("makehtml.hashHTMLSpans")(e, a, r)),
(e = P.subParser("makehtml.encodeAmpsAndAngles")(e, a, r)),
a.simpleLineBreaks ? /\n\n¨K/.test(e) || (e = e.replace(/\n+/g, "<br />\n")) : (e = e.replace(/ +\n/g, "<br />\n")),
(e = r.converter._dispatch("makehtml.spanGamut.after", e, a, r).getText())
);
}),
P.subParser("makehtml.strikethrough", function (e, a, r) {
"use strict";
return (
a.strikethrough &&
((e = (e = r.converter._dispatch("makehtml.strikethrough.before", e, a, r).getText()).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g, function (e, a) {
return "<del>" + a + "</del>";
})),
(e = r.converter._dispatch("makehtml.strikethrough.after", e, a, r).getText())),
e
);
}),
P.subParser("makehtml.stripLinkDefinitions", function (o, l, c) {
"use strict";
function e(e, a, r, t, n, s, i) {
return (
(a = a.toLowerCase()),
o.toLowerCase().split(a).length - 1 < 2
? e
: (r.match(/^data:.+?\/.+?;base64,/) ? (c.gUrls[a] = r.replace(/\s/g, "")) : ((r = P.helper.applyBaseUrl(l.relativePathBaseUrl, r)), (c.gUrls[a] = P.subParser("makehtml.encodeAmpsAndAngles")(r, l, c))),
s ? s + i : (i && (c.gTitles[a] = i.replace(/"|'/g, """)), l.parseImgDimensions && t && n && (c.gDimensions[a] = { width: t, height: n }), ""))
);
}
return (o = (o = (o = (o += "¨0").replace(
/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,
e
)).replace(/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm, e)).replace(/¨0/, ""));
}),
P.subParser("makehtml.tables", function (e, y, x) {
"use strict";
if (!y.tables) return e;
function a(e) {
for (var a = e.split("\n"), r = 0; r < a.length; ++r)
/^ {0,3}\|/.test(a[r]) && (a[r] = a[r].replace(/^ {0,3}\|/, "")), /\|[ \t]*$/.test(a[r]) && (a[r] = a[r].replace(/\|[ \t]*$/, "")), (a[r] = P.subParser("makehtml.codeSpans")(a[r], y, x));
var t,
n,
s,
i,
o,
l = a[0].split("|").map(function (e) {
return e.trim();
}),
c = a[1].split("|").map(function (e) {
return e.trim();
}),
u = [],
h = [],
m = [],
d = [];
for (a.shift(), a.shift(), r = 0; r < a.length; ++r)
"" !== a[r].trim() &&
u.push(
a[r].split("|").map(function (e) {
return e.trim();
})
);
if (l.length < c.length) return e;
for (r = 0; r < c.length; ++r)
m.push(((t = c[r]), /^:[ \t]*--*$/.test(t) ? ' style="text-align:left;"' : /^--*[ \t]*:[ \t]*$/.test(t) ? ' style="text-align:right;"' : /^:[ \t]*--*[ \t]*:$/.test(t) ? ' style="text-align:center;"' : ""));
for (r = 0; r < l.length; ++r)
P.helper.isUndefined(m[r]) && (m[r] = ""),
h.push(
((n = l[r]),
(s = m[r]),
void 0,
(i = ""),
(n = n.trim()),
"<th" + (i = y.tablesHeaderId || y.tableHeaderId ? ' id="' + n.replace(/ /g, "_").toLowerCase() + '"' : i) + s + ">" + (n = P.subParser("makehtml.spanGamut")(n, y, x)) + "</th>\n")
);
for (r = 0; r < u.length; ++r) {
for (var g = [], p = 0; p < h.length; ++p) P.helper.isUndefined(u[r][p]), g.push(((o = u[r][p]), "<td" + m[p] + ">" + P.subParser("makehtml.spanGamut")(o, y, x) + "</td>\n"));
d.push(g);
}
for (var _ = h, b = d, f = "<table>\n<thead>\n<tr>\n", k = _.length, w = 0; w < k; ++w) f += _[w];
for (f += "</tr>\n</thead>\n<tbody>\n", w = 0; w < b.length; ++w) {
f += "<tr>\n";
for (var v = 0; v < k; ++v) f += b[w][v];
f += "</tr>\n";
}
return (f += "</tbody>\n</table>\n");
}
return (
(e = (e = (e = (e = x.converter._dispatch("makehtml.tables.before", e, y, x).getText()).replace(/\\(\|)/g, P.helper.escapeCharactersCallback)).replace(
/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*[-=]{2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*[-=]{2,}[\s\S]+?(?:\n\n|¨0)/gm,
a
)).replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*[-=]{2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm, a)),
(e = x.converter._dispatch("makehtml.tables.after", e, y, x).getText())
);
}),
P.subParser("makehtml.underline", function (e, a, r) {
"use strict";
return a.underline
? ((e = r.converter._dispatch("makehtml.underline.before", e, a, r).getText()),
(e = (e = a.literalMidWordUnderscores
? (e = e.replace(/\b___(\S[\s\S]*?)___\b/g, function (e, a) {
return "<u>" + a + "</u>";
})).replace(/\b__(\S[\s\S]*?)__\b/g, function (e, a) {
return "<u>" + a + "</u>";
})
: (e = e.replace(/___(\S[\s\S]*?)___/g, function (e, a) {
return /\S$/.test(a) ? "<u>" + a + "</u>" : e;
})).replace(/__(\S[\s\S]*?)__/g, function (e, a) {
return /\S$/.test(a) ? "<u>" + a + "</u>" : e;
})).replace(/(_)/g, P.helper.escapeCharactersCallback)),
r.converter._dispatch("makehtml.underline.after", e, a, r).getText())
: e;
}),
P.subParser("makehtml.unescapeSpecialChars", function (e, a, r) {
"use strict";
return (
(e = (e = r.converter._dispatch("makehtml.unescapeSpecialChars.before", e, a, r).getText()).replace(/¨E(\d+)E/g, function (e, a) {
a = parseInt(a);
return String.fromCharCode(a);
})),
(e = r.converter._dispatch("makehtml.unescapeSpecialChars.after", e, a, r).getText())
);
}),
P.subParser("makeMarkdown.blockquote", function (e, a) {
"use strict";
var r = "";
if (e.hasChildNodes())
for (var t = e.childNodes, n = t.length, s = 0; s < n; ++s) {
var i = P.subParser("makeMarkdown.node")(t[s], a);
"" !== i && (r += i);
}
return (r = "> " + (r = r.trim()).split("\n").join("\n> "));
}),
P.subParser("makeMarkdown.break", function () {
"use strict";
return " \n";
}),
P.subParser("makeMarkdown.codeBlock", function (e, a) {
"use strict";
var r = e.getAttribute("language"),
e = e.getAttribute("precodenum");
return "```" + r + "\n" + a.preList[e] + "\n```";
}),
P.subParser("makeMarkdown.codeSpan", function (e) {
"use strict";
return "`" + e.innerHTML + "`";
}),
P.subParser("makeMarkdown.emphasis", function (e, a) {
"use strict";
var r = "";
if (e.hasChildNodes()) {
r += "*";
for (var t = e.childNodes, n = t.length, s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a);
r += "*";
}
return r;
}),
P.subParser("makeMarkdown.header", function (e, a, r) {
"use strict";
var r = new Array(r + 1).join("#"),
t = "";
if (e.hasChildNodes()) for (var t = r + " ", n = e.childNodes, s = n.length, i = 0; i < s; ++i) t += P.subParser("makeMarkdown.node")(n[i], a);
return t;
}),
P.subParser("makeMarkdown.hr", function () {
"use strict";
return "---";
}),
P.subParser("makeMarkdown.image", function (e) {
"use strict";
var a = "";
return (
e.hasAttribute("src") &&
((a = (a += " + "<" + e.getAttribute("src") + ">"),
e.hasAttribute("width") && e.hasAttribute("height") && (a += " =" + e.getAttribute("width") + "x" + e.getAttribute("height")),
e.hasAttribute("title") && (a += ' "' + e.getAttribute("title") + '"'),
(a += ")")),
a
);
}),
P.subParser("makeMarkdown.input", function (e, a) {
"use strict";
for (var r = "", t = (null !== e.getAttribute("checked") ? (r += "[x]") : (r += "[ ]"), e.childNodes), n = t.length, s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a);
return r;
}),
P.subParser("makeMarkdown.links", function (e, a) {
"use strict";
var r = "";
if (e.hasChildNodes() && e.hasAttribute("href")) {
for (var t = e.childNodes, n = t.length, r = "[", s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a);
(r = (r += "](") + ("<" + e.getAttribute("href") + ">")), e.hasAttribute("title") && (r += ' "' + e.getAttribute("title") + '"'), (r += ")");
}
return r;
}),
P.subParser("makeMarkdown.list", function (e, a, r) {
"use strict";
var t = "";
if (!e.hasChildNodes()) return "";
for (var n = e.childNodes, s = n.length, i = e.getAttribute("start") || 1, o = 0; o < s; ++o)
void 0 !== n[o].tagName && "li" === n[o].tagName.toLowerCase() && ((t += ("ol" === r ? i.toString() + ". " : "- ") + P.subParser("makeMarkdown.listItem")(n[o], a)), ++i);
return t.trim();
}),
P.subParser("makeMarkdown.listItem", function (e, a) {
"use strict";
for (var r = "", t = e.childNodes, n = t.length, s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a);
return (
/\n$/.test(r)
? (r = r
.split("\n")
.join("\n ")
.replace(/^ {4}$/gm, "")
.replace(/\n\n+/g, "\n\n"))
: (r += "\n"),
r
);
}),
P.subParser("makeMarkdown.node", function (e, a, r) {
"use strict";
r = r || !1;
var t = "";
if (3 === e.nodeType) return P.subParser("makeMarkdown.txt")(e, a);
if (8 === e.nodeType) return "\x3c!--" + e.data + "--\x3e\n\n";
if (1 !== e.nodeType) return "";
switch (e.tagName.toLowerCase()) {
case "h1":
r || (t = P.subParser("makeMarkdown.header")(e, a, 1) + "\n\n");
break;
case "h2":
r || (t = P.subParser("makeMarkdown.header")(e, a, 2) + "\n\n");
break;
case "h3":
r || (t = P.subParser("makeMarkdown.header")(e, a, 3) + "\n\n");
break;
case "h4":
r || (t = P.subParser("makeMarkdown.header")(e, a, 4) + "\n\n");
break;
case "h5":
r || (t = P.subParser("makeMarkdown.header")(e, a, 5) + "\n\n");
break;
case "h6":
r || (t = P.subParser("makeMarkdown.header")(e, a, 6) + "\n\n");
break;
case "p":
r || (t = P.subParser("makeMarkdown.paragraph")(e, a) + "\n\n");
break;
case "blockquote":
r || (t = P.subParser("makeMarkdown.blockquote")(e, a) + "\n\n");
break;
case "hr":
r || (t = P.subParser("makeMarkdown.hr")(e, a) + "\n\n");
break;
case "ol":
r || (t = P.subParser("makeMarkdown.list")(e, a, "ol") + "\n\n");
break;
case "ul":
r || (t = P.subParser("makeMarkdown.list")(e, a, "ul") + "\n\n");
break;
case "precode":
r || (t = P.subParser("makeMarkdown.codeBlock")(e, a) + "\n\n");
break;
case "pre":
r || (t = P.subParser("makeMarkdown.pre")(e, a) + "\n\n");
break;
case "table":
r || (t = P.subParser("makeMarkdown.table")(e, a) + "\n\n");
break;
case "code":
t = P.subParser("makeMarkdown.codeSpan")(e, a);
break;
case "em":
case "i":
t = P.subParser("makeMarkdown.emphasis")(e, a);
break;
case "strong":
case "b":
t = P.subParser("makeMarkdown.strong")(e, a);
break;
case "del":
t = P.subParser("makeMarkdown.strikethrough")(e, a);
break;
case "a":
t = P.subParser("makeMarkdown.links")(e, a);
break;
case "img":
t = P.subParser("makeMarkdown.image")(e, a);
break;
case "br":
t = P.subParser("makeMarkdown.break")(e, a);
break;
case "input":
t = P.subParser("makeMarkdown.input")(e, a);
break;
default:
t = e.outerHTML + "\n\n";
}
return t;
}),
P.subParser("makeMarkdown.paragraph", function (e, a) {
"use strict";
var r = "";
if (e.hasChildNodes()) for (var t = e.childNodes, n = t.length, s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a);
return (r = r.trim());
}),
P.subParser("makeMarkdown.pre", function (e, a) {
"use strict";
e = e.getAttribute("prenum");
return "<pre>" + a.preList[e] + "</pre>";
}),
P.subParser("makeMarkdown.strikethrough", function (e, a) {
"use strict";
var r = "";
if (e.hasChildNodes()) {
r += "~~";
for (var t = e.childNodes, n = t.length, s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a);
r += "~~";
}
return r;
}),
P.subParser("makeMarkdown.strong", function (e, a) {
"use strict";
var r = "";
if (e.hasChildNodes()) {
r += "**";
for (var t = e.childNodes, n = t.length, s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a);
r += "**";
}
return r;
}),
P.subParser("makeMarkdown.table", function (e, a) {
"use strict";
for (var r = "", t = [[], []], n = e.querySelectorAll("thead>tr>th"), s = e.querySelectorAll("tbody>tr"), i = 0; i < n.length; ++i) {
var o = P.subParser("makeMarkdown.tableCell")(n[i], a),
l = "---";
if (n[i].hasAttribute("style"))
switch (n[i].getAttribute("style").toLowerCase().replace(/\s/g, "")) {
case "text-align:left;":
l = ":---";
break;
case "text-align:right;":
l = "---:";
break;
case "text-align:center;":
l = ":---:";
}
(t[0][i] = o.trim()), (t[1][i] = l);
}
for (i = 0; i < s.length; ++i)
for (var c = t.push([]) - 1, u = s[i].getElementsByTagName("td"), h = 0; h < n.length; ++h) {
var m = " ";
void 0 !== u[h] && (m = P.subParser("makeMarkdown.tableCell")(u[h], a)), t[c].push(m);
}
var d = 3;
for (i = 0; i < t.length; ++i)
for (h = 0; h < t[i].length; ++h) {
var g = t[i][h].length;
d < g && (d = g);
}
for (i = 0; i < t.length; ++i) {
for (h = 0; h < t[i].length; ++h)
1 === i ? (":" === t[i][h].slice(-1) ? (t[i][h] = P.helper.padEnd(t[i][h].slice(0, -1), d - 1, "-") + ":") : (t[i][h] = P.helper.padEnd(t[i][h], d, "-"))) : (t[i][h] = P.helper.padEnd(t[i][h], d));
r += "| " + t[i].join(" | ") + " |\n";
}
return r.trim();
}),
P.subParser("makeMarkdown.tableCell", function (e, a) {
"use strict";
var r = "";
if (!e.hasChildNodes()) return "";
for (var t = e.childNodes, n = t.length, s = 0; s < n; ++s) r += P.subParser("makeMarkdown.node")(t[s], a, !0);
return r.trim();
}),
P.subParser("makeMarkdown.txt", function (e) {
"use strict";
e = e.nodeValue;
return (
(e = (e = e.replace(/ +/g, " ")).replace(/¨NBSP;/g, " ")),
(e = (e = (e = (e = (e = (e = (e = (e = (e = P.helper.unescapeHTMLEntities(e)).replace(/([*_~|`])/g, "\\$1")).replace(/^(\s*)>/g, "\\$1>")).replace(/^#/gm, "\\#")).replace(/^(\s*)([-=]{3,})(\s*)$/, "$1\\$2$3")).replace(
/^( {0,3}\d+)\./gm,
"$1\\."
)).replace(/^( {0,3})([+-])/gm, "$1\\$2")).replace(/]([\s]*)\(/g, "\\]$1\\(")).replace(/^ {0,3}\[([\S \t]*?)]:/gm, "\\[$1]:"))
);
}),
(P.Converter = function (e) {
"use strict";
var a,
r,
n = {},
o = [],
l = [],
c = {},
t = d,
s = { parsed: {}, raw: "", format: "" };
for (a in ((e = e || {}), m)) m.hasOwnProperty(a) && (n[a] = m[a]);
if ("object" != typeof e) throw Error("Converter expects the passed parameter to be an object, but " + typeof e + " was passed instead.");
for (r in e) e.hasOwnProperty(r) && (n[r] = e[r]);
function i(e, a) {
if (((a = a || null), P.helper.isString(e))) {
if (((a = e = P.helper.stdExtName(e)), P.extensions[e])) {
console.warn("DEPRECATION WARNING: " + e + " is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!");
var r = P.extensions[e],
t = e;
if (("function" == typeof r && (r = r(new P.Converter())), P.helper.isArray(r) || (r = [r]), !(t = p(r, t)).valid)) throw Error(t.error);
for (var n = 0; n < r.length; ++n)
switch (r[n].type) {
case "lang":
o.push(r[n]);
break;
case "output":
l.push(r[n]);
break;
default:
throw Error("Extension loader error: Type unrecognized!!!");
}
return;
}
if (P.helper.isUndefined(h[e])) throw Error('Extension "' + e + '" could not be loaded. It was either not found or is not a valid extension.');
e = h[e];
}
"function" == typeof e && (e = e());
t = p((e = P.helper.isArray(e) ? e : [e]), a);
if (!t.valid) throw Error(t.error);
for (var s = 0; s < e.length; ++s) {
switch (e[s].type) {
case "lang":
o.push(e[s]);
break;
case "output":
l.push(e[s]);
}
if (e[s].hasOwnProperty("listeners")) for (var i in e[s].listeners) e[s].listeners.hasOwnProperty(i) && u(i, e[s].listeners[i]);
}
}
function u(e, a) {
if (!P.helper.isString(e)) throw Error("Invalid argument in converter.listen() method: name must be a string, but " + typeof e + " given");
if ("function" != typeof a) throw Error("Invalid argument in converter.listen() method: callback must be a function, but " + typeof a + " given");
(e = e.toLowerCase()), c.hasOwnProperty(e) || (c[e] = []), c[e].push(a);
}
n.extensions && P.helper.forEach(n.extensions, i),
(this._dispatch = function (e, a, r, t, n) {
e = e.toLowerCase();
var n = n || {},
s = ((n.converter = this), (n.text = a), (n.options = r), (n.globals = t), new P.helper.Event(e, a, n));
if (c.hasOwnProperty(e))
for (var i = 0; i < c[e].length; ++i) {
var o = c[e][i](s);
o && void 0 !== o && s.setText(o);
}
return s;
}),
(this.listen = function (e, a) {
return u(e, a), this;
}),
(this.makeHtml = function (a) {
if (!a) return a;
var e,
r,
t = {
gHtmlBlocks: [],
gHtmlMdBlocks: [],
gHtmlSpans: [],
gUrls: {},
gTitles: {},
gDimensions: {},
gListLevel: 0,
hashLinkCounts: {},
langExtensions: o,
outputModifiers: l,
converter: this,
ghCodeBlocks: [],
metadata: { parsed: {}, raw: "", format: "" },
};
return (
(a = (a = (a = (a = (a = a.replace(/¨/g, "¨T")).replace(/\$/g, "¨D")).replace(/\r\n/g, "\n")).replace(/\r/g, "\n")).replace(/\u00A0/g, " ")),
n.smartIndentationFix && ((r = (e = a).match(/^\s*/)[0].length), (r = new RegExp("^\\s{0," + r + "}", "gm")), (a = e.replace(r, ""))),
(a = "\n\n" + a + "\n\n"),
(a = (a = P.subParser("makehtml.detab")(a, n, t)).replace(/^[ \t]+$/gm, "")),
P.helper.forEach(o, function (e) {
a = P.subParser("makehtml.runExtension")(e, a, n, t);
}),
(a = P.subParser("makehtml.metadata")(a, n, t)),
(a = P.subParser("makehtml.hashPreCodeTags")(a, n, t)),
(a = P.subParser("makehtml.githubCodeBlocks")(a, n, t)),
(a = P.subParser("makehtml.hashHTMLBlocks")(a, n, t)),
(a = P.subParser("makehtml.hashCodeTags")(a, n, t)),
(a = P.subParser("makehtml.stripLinkDefinitions")(a, n, t)),
(a = P.subParser("makehtml.blockGamut")(a, n, t)),
(a = P.subParser("makehtml.unhashHTMLSpans")(a, n, t)),
(a = (a = (a = P.subParser("makehtml.unescapeSpecialChars")(a, n, t)).replace(/¨D/g, "$$")).replace(/¨T/g, "¨")),
(a = P.subParser("makehtml.completeHTMLDocument")(a, n, t)),
P.helper.forEach(l, function (e) {
a = P.subParser("makehtml.runExtension")(e, a, n, t);
}),
(s = t.metadata),
a
);
}),
(this.makeMarkdown = function (e) {
e = (e = (e = e.replace(/\r\n/g, "\n")).replace(/\r/g, "\n")).replace(/>[ \t]+</, ">¨NBSP;<");
for (
var a = P.helper.document.createElement("div"),
r =
((a.innerHTML = e),
{
preList: (function (e) {
for (var a = e.querySelectorAll("pre"), r = [], t = 0; t < a.length; ++t)
if (1 === a[t].childElementCount && "code" === a[t].firstChild.tagName.toLowerCase()) {
var n = a[t].firstChild.innerHTML.trim(),
s = a[t].firstChild.getAttribute("data-language") || "";
if ("" === s)
for (var i = a[t].firstChild.className.split(" "), o = 0; o < i.length; ++o) {
var l = i[o].match(/^language-(.+)$/);
if (null !== l) {
s = l[1];
break;
}
}
(n = P.helper.unescapeHTMLEntities(n)), r.push(n), (a[t].outerHTML = '<precode language="' + s + '" precodenum="' + t.toString() + '"></precode>');
} else r.push(a[t].innerHTML), (a[t].innerHTML = ""), a[t].setAttribute("prenum", t.toString());
return r;
})(a),
}),
t =
(!(function e(a) {
for (var r = 0; r < a.childNodes.length; ++r) {
var t = a.childNodes[r];
3 === t.nodeType
? /\S/.test(t.nodeValue) || /^[ ]+$/.test(t.nodeValue)
? ((t.nodeValue = t.nodeValue.split("\n").join(" ")), (t.nodeValue = t.nodeValue.replace(/(\s)+/g, "$1")))
: (a.removeChild(t), --r)
: 1 === t.nodeType && e(t);
}
})(a),
a.childNodes),
n = "",
s = 0;
s < t.length;
s++
)
n += P.subParser("makeMarkdown.node")(t[s], r);
return n;
}),
(this.setOption = function (e, a) {
n[e] = a;
}),
(this.getOption = function (e) {
return n[e];
}),
(this.getOptions = function () {
return n;
}),
(this.addExtension = function (e, a) {
i(e, (a = a || null));
}),
(this.useExtension = function (e) {
i(e);
}),
(this.setFlavor = function (e) {
if (!g.hasOwnProperty(e)) throw Error(e + " flavor was not found");
var a,
r = g[e];
for (a in ((t = e), r)) r.hasOwnProperty(a) && (n[a] = r[a]);
}),
(this.getFlavor = function () {
return t;
}),
(this.removeExtension = function (e) {
P.helper.isArray(e) || (e = [e]);
for (var a = 0; a < e.length; ++a) {
for (var r = e[a], t = 0; t < o.length; ++t) o[t] === r && o.splice(t, 1);
for (var n = 0; n < l.length; ++n) l[n] === r && l.splice(n, 1);
}
}),
(this.getAllExtensions = function () {
return { language: o, output: l };
}),
(this.getMetadata = function (e) {
return e ? s.raw : s.parsed;
}),
(this.getMetadataFormat = function () {
return s.format;
}),
(this._setMetadataPair = function (e, a) {
s.parsed[e] = a;
}),
(this._setMetadataFormat = function (e) {
s.format = e;
}),
(this._setMetadataRaw = function (e) {
s.raw = e;
});
});
"function" == typeof define && define.amd
? define(function () {
"use strict";
return P;
})
: "undefined" != typeof module && module.exports
? (module.exports = P)
: (this.showdown = P);
}.call(this);
setTimeout(function(){
var cfg = new MonkeyConfig({
title: 'Configure',
menuCommand: true,
params: {
'Automatic Temperature': {
type: 'checkbox',
default: true
},
'Temperature': {
type: 'number',
default: '1'
},
'Automatic Maximum Length': {
type: 'checkbox',
default: true
},
'Maximum Length': {
type: 'number',
default: '2048'
},
'Automatic Instructions': {
type: 'checkbox',
default: true
},
chatGPT_instructions: {
type: 'text',
default: ''
},
},
// onSave: setOptions
})
GM_setValue('fullcontent','')
var rootpath = "#root > div.route-container > div > div.pg-root.page-body.full-width.flush > div > div.pg-body";
var path = rootpath + " > div.pg-editor > div > div > div.chat-pg-right-wrapper > div.chat-pg-footer > span > button.btn.btn-sm.btn-minimal.btn-neutral"
$('<button id="continue" tabindex="0" class="btn btn-sm btn-filled btn-primary" type="button" data-testid="pg-submit-btn" aria-haspopup="true" aria-expanded="false"><span class="btn-label-wrap"><span class="btn-label-inner">Continue‍</span></span></button>').insertAfter(path)
var e = jQuery.Event("keypress");
e.which = 9;
e.keyCode = 9;
if (cfg.get('Automatic Temperature')) {
$(rootpath + " > div.pg-right > div.pg-right-content > div > div > div:nth-child(3) > div > div.css-1povu0j > input").val(Number(cfg.get('Temperature')))
$(rootpath + " > div.pg-right > div.pg-right-content > div > div > div:nth-child(3) > div > div.css-1povu0j > input").focus().trigger(e);
}
if (cfg.get('Automatic Maximum Length')) {
$("body > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > input:nth-child(2)").val(Number(cfg.get('Maximum Length')))
$("body > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > div:nth-child(2) > div:nth-child(1) > div:nth-child(4) > div:nth-child(1) > div:nth-child(1) > input:nth-child(2)").focus().trigger(e);
}
// chat-pg-instructions
$(rootpath + ' > div.pg-editor > div > div > div:nth-child(1) > div > div.text-input-header-wrapper.overflow-wrapper.text-input > textarea').focus()
if (cfg.get('Automatic Instructions')) {
$(rootpath + ' > div.pg-editor > div > div > div:nth-child(1) > div > div.text-input-header-wrapper.overflow-wrapper.text-input > textarea').text(cfg.get('chatGPT_instructions'))
}
$("button[id='continue']").click(function(){
$(rootpath + " > div.pg-editor > div > div > div.chat-pg-right-wrapper > div.chat-pg-panel-wrapper > div > div > div.chat-pg-message.add-message")[0].click()
setTimeout(function(){
$(rootpath + " > div.pg-editor > div > div > div.chat-pg-right-wrapper > div.chat-pg-panel-wrapper > div > div > div:nth-child(3) > div.text-input-with-focus > textarea").text('continue')
}, 500);
setTimeout(function(){
$(rootpath + " > div.pg-editor > div > div > div.chat-pg-right-wrapper > div.chat-pg-footer > span > button:nth-child(1)")[0].click()
}, 1000);
});
/*--------------------*/
function export_text(){
console.clear()
var pattern = $("#root > div.route-container > div > div.pg-root.page-body.full-width.flush > div > div.pg-body > div.pg-editor > div > div > div.chat-pg-right-wrapper > div.chat-pg-panel-wrapper > div > div > div")
$.each(pattern , function (index, value){
content = GM_getValue('fullcontent') + content
var role = $(this).find('.chat-message-role-text').text()
var content = $(this).find('.text-input-with-focus').text()
if (role==='assistant'){
//console.log('role='+role)
//console.log('index='+index)
console.log(content)
GM_setValue('fullcontent',content)
}
}
)}
function appendValue(crap) {
let currentValue = GM_getValue('fullcontent', '');
let newValue = currentValue + crap
GM_setValue('fullcontent', newValue);
}
$('<button id="export" tabindex="0" class="btn btn-sm btn-filled btn-primary" type="button" data-testid="pg-submit-btn" aria-haspopup="true" aria-expanded="false"><span class="btn-label-wrap"><span class="btn-label-inner">Export‍</span></span></button>').insertAfter(path)
$("button[id='export']").click(function(){
var pattern = $("#root > div.route-container > div > div.pg-root.page-body.full-width.flush > div > div.pg-body > div.pg-editor > div > div > div.chat-pg-right-wrapper > div.chat-pg-panel-wrapper > div > div > div")
/*
GM_setClipboard(GM_getValue('fullcontent'), "text");
*/
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
if (key.startsWith('oai/user')) {
var crap = localStorage.getItem(localStorage.key(i))
appendValue(crap)
}
}
var markdown = GM_getValue('fullcontent')
var converter = new showdown.Converter()
var zhtml = converter.makeHtml(markdown)
GM_setClipboard(GM_getValue('fullcontent'), zhtml);
alert('Copied to clipboard')
})
}, 1000);
})(jQuery);