/* eslint-disable */
/*! showdown v 2.1.0 - 21-04-2022 */
!function () {
  function a(e) {
    'use strict';
    let r = {
      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',
      },
      excludeTrailingPunctuationFromURLs: {
        defaultValue: !1,
        describe: 'Excludes trailing punctuation from links generated with autoLinking',
        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',
      },
    };
    if (!1 === e) return JSON.parse(JSON.stringify(r));
    let t,
      a = {};
    for (t in r) r.hasOwnProperty(t) && (a[t] = r[t].defaultValue);
    return a;
  }
  let x = {},
    t = {},
    d = {},
    p = a(!0),
    h = 'vanilla',
    _ = {
      github: {
        omitExtraWLInCodeBlocks: !0,
        simplifiedAutoLink: !0,
        excludeTrailingPunctuationFromURLs: !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,
        excludeTrailingPunctuationFromURLs: !0,
        literalMidWordUnderscores: !0,
        strikethrough: !0,
        tables: !0,
        tablesHeaderId: !0,
        ghCodeBlocks: !0,
        tasklists: !0,
        smoothLivePreview: !0,
        simpleLineBreaks: !0,
        requireSpaceBeforeHeadingText: !0,
        ghMentions: !1,
        encodeEmails: !0,
      },
      vanilla: a(!0),
      allOn: (function () {
        'use strict';
        let e,
          r = a(!0),
          t = {};
        for (e in r) r.hasOwnProperty(e) && (t[e] = !0);
        return t;
      })(),
    };
  function g(e, r) {
    'use strict';
    let t = r ? 'Error in ' + r + ' extension->' : 'Error in unnamed extension',
      a = { valid: !0, error: '' };
    x.helper.isArray(e) || (e = [e]);
    for (let n = 0; n < e.length; ++n) {
      let s = t + ' sub-extension ' + n + ': ',
        o = e[n];
      if ('object' !== typeof o)
        return (a.valid = !1), (a.error = s + 'must be an object, but ' + typeof o + ' given'), a;
      if (!x.helper.isString(o.type))
        return (a.valid = !1), (a.error = s + 'property "type" must be a string, but ' + typeof o.type + ' given'), a;
      let i = (o.type = o.type.toLowerCase());
      if (
        'lang' !== (i = 'html' === (i = 'language' === i ? (o.type = 'lang') : i) ? (o.type = 'output') : i) &&
        'output' !== i &&
        'listener' !== i
      )
        return (
          (a.valid = !1),
          (a.error =
            s + 'type ' + i + ' is not recognized. Valid values: "lang/language", "output/html" or "listener"'),
          a
        );
      if ('listener' === i) {
        if (x.helper.isUndefined(o.listeners))
          return (
            (a.valid = !1), (a.error = s + '. Extensions of type "listener" must have a property called "listeners"'), a
          );
      } else if (x.helper.isUndefined(o.filter) && x.helper.isUndefined(o.regex))
        return (
          (a.valid = !1),
          (a.error = s + i + ' extensions must define either a "regex" property or a "filter" method'),
          a
        );
      if (o.listeners) {
        if ('object' !== typeof o.listeners)
          return (
            (a.valid = !1),
            (a.error = s + '"listeners" property must be an object but ' + typeof o.listeners + ' given'),
            a
          );
        for (let l in o.listeners)
          if (o.listeners.hasOwnProperty(l) && 'function' !== typeof o.listeners[l])
            return (
              (a.valid = !1),
              (a.error =
                s +
                '"listeners" property must be an hash of [event name]: [callback]. listeners.' +
                l +
                ' must be a function but ' +
                typeof o.listeners[l] +
                ' given'),
              a
            );
      }
      if (o.filter) {
        if ('function' !== typeof o.filter)
          return (a.valid = !1), (a.error = s + '"filter" must be a function, but ' + typeof o.filter + ' given'), a;
      } else if (o.regex) {
        if ((x.helper.isString(o.regex) && (o.regex = new RegExp(o.regex, 'g')), !(o.regex instanceof RegExp)))
          return (
            (a.valid = !1),
            (a.error =
              s + '"regex" property must either be a string or a RegExp object, but ' + typeof o.regex + ' given'),
            a
          );
        if (x.helper.isUndefined(o.replace))
          return (a.valid = !1), (a.error = s + '"regex" extensions must implement a replace string or function'), a;
      }
    }
    return a;
  }
  function n(e, r) {
    'use strict';
    return '¨E' + r.charCodeAt(0) + 'E';
  }
  (x.helper = {}),
    (x.extensions = {}),
    (x.setOption = function (e, r) {
      'use strict';
      return (p[e] = r), this;
    }),
    (x.getOption = function (e) {
      'use strict';
      return p[e];
    }),
    (x.getOptions = function () {
      'use strict';
      return p;
    }),
    (x.resetOptions = function () {
      'use strict';
      p = a(!0);
    }),
    (x.setFlavor = function (e) {
      'use strict';
      if (!_.hasOwnProperty(e)) throw Error(e + ' flavor was not found');
      x.resetOptions();
      let r,
        t = _[e];
      for (r in ((h = e), t)) t.hasOwnProperty(r) && (p[r] = t[r]);
    }),
    (x.getFlavor = function () {
      'use strict';
      return h;
    }),
    (x.getFlavorOptions = function (e) {
      'use strict';
      if (_.hasOwnProperty(e)) return _[e];
    }),
    (x.getDefaultOptions = a),
    (x.subParser = function (e, r) {
      'use strict';
      if (x.helper.isString(e)) {
        if (void 0 === r) {
          if (t.hasOwnProperty(e)) return t[e];
          throw Error('SubParser named ' + e + ' not registered!');
        }
        t[e] = r;
      }
    }),
    (x.extension = function (e, r) {
      'use strict';
      if (!x.helper.isString(e)) throw Error("Extension 'name' must be a string");
      if (((e = x.helper.stdExtName(e)), x.helper.isUndefined(r))) {
        if (d.hasOwnProperty(e)) return d[e];
        throw Error('Extension named ' + e + ' is not registered!');
      }
      'function' === typeof r && (r = r());
      let t = g((r = x.helper.isArray(r) ? r : [r]), e);
      if (!t.valid) throw Error(t.error);
      d[e] = r;
    }),
    (x.getAllExtensions = function () {
      'use strict';
      return d;
    }),
    (x.removeExtension = function (e) {
      'use strict';
      delete d[e];
    }),
    (x.resetExtensions = function () {
      'use strict';
      d = {};
    }),
    (x.validateExtension = function (e) {
      'use strict';
      e = g(e, null);
      return !!e.valid || (console.warn(e.error), !1);
    }),
    x.hasOwnProperty('helper') || (x.helper = {}),
    (x.helper.isString = function (e) {
      'use strict';
      return 'string' === typeof e || e instanceof String;
    }),
    (x.helper.isFunction = function (e) {
      'use strict';
      return e && '[object Function]' === {}.toString.call(e);
    }),
    (x.helper.isArray = function (e) {
      'use strict';
      return Array.isArray(e);
    }),
    (x.helper.isUndefined = function (e) {
      'use strict';
      return void 0 === e;
    }),
    (x.helper.forEach = function (e, r) {
      'use strict';
      if (x.helper.isUndefined(e)) throw new Error('obj param is required');
      if (x.helper.isUndefined(r)) throw new Error('callback param is required');
      if (!x.helper.isFunction(r)) throw new Error('callback param must be a function/closure');
      if ('function' === typeof e.forEach) e.forEach(r);
      else if (x.helper.isArray(e)) for (let t = 0; t < e.length; t++) r(e[t], t, e);
      else {
        if ('object' !== typeof e) throw new Error('obj does not seem to be an array or an iterable object');
        for (let a in e) e.hasOwnProperty(a) && r(e[a], a, e);
      }
    }),
    (x.helper.stdExtName = function (e) {
      'use strict';
      return e
        .replace(/[_?*+\/\\.^-]/g, '')
        .replace(/\s/g, '')
        .toLowerCase();
    }),
    (x.helper.escapeCharactersCallback = n),
    (x.helper.escapeCharacters = function (e, r, t) {
      'use strict';
      (r = '([' + r.replace(/([\[\]\\])/g, '\\$1') + '])'), t && (r = '\\\\' + r), (t = new RegExp(r, 'g'));
      return (e = e.replace(t, n));
    }),
    (x.helper.unescapeHTMLEntities = function (e) {
      'use strict';
      return e
        .replace(/&quot;/g, '"')
        .replace(/&lt;/g, '<')
        .replace(/&gt;/g, '>')
        .replace(/&amp;/g, '&');
    });
  function u(e, r, t, a) {
    'use strict';
    let n,
      s,
      o,
      i = -1 < (a = a || '').indexOf('g'),
      l = new RegExp(r + '|' + t, 'g' + a.replace(/g/g, '')),
      c = new RegExp(r, a.replace(/g/g, '')),
      u = [];
    do {
      for (n = 0; (p = l.exec(e)); )
        if (c.test(p[0])) n++ || (o = (s = l.lastIndex) - p[0].length);
        else if (n && !--n) {
          var d = p.index + p[0].length,
            p = {
              left: { start: o, end: s },
              match: { start: s, end: p.index },
              right: { start: p.index, end: d },
              wholeMatch: { start: o, end: d },
            };
          if ((u.push(p), !i)) return u;
        }
    } while (n && (l.lastIndex = s));
    return u;
  }
  function s(u) {
    'use strict';
    return function (e, r, t, a, n, s, o) {
      var i = (t = t.replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)),
        l = '',
        c = '',
        r = r || '',
        o = o || '';
      return (
        /^www\./i.test(t) && (t = t.replace(/^www\./i, 'http://www.')),
        u.excludeTrailingPunctuationFromURLs && s && (l = s),
        r +
          '<a href="' +
          t +
          '"' +
          (c = u.openLinksInNewWindow ? ' rel="noopener noreferrer" target="¨E95Eblank"' : c) +
          '>' +
          i +
          '</a>' +
          l +
          o
      );
    };
  }
  function o(n, s) {
    'use strict';
    return function (e, r, t) {
      let a = 'mailto:';
      return (
        (r = r || ''),
        (t = x.subParser('unescapeSpecialChars')(t, n, s)),
        n.encodeEmails ? ((a = x.helper.encodeEmailAddress(a + t)), (t = x.helper.encodeEmailAddress(t))) : (a += t),
        r + '<a href="' + a + '">' + t + '</a>'
      );
    };
  }
  (x.helper.matchRecursiveRegExp = function (e, r, t, a) {
    'use strict';
    for (var n = u(e, r, t, a), s = [], o = 0; o < n.length; ++o)
      s.push([
        e.slice(n[o].wholeMatch.start, n[o].wholeMatch.end),
        e.slice(n[o].match.start, n[o].match.end),
        e.slice(n[o].left.start, n[o].left.end),
        e.slice(n[o].right.start, n[o].right.end),
      ]);
    return s;
  }),
    (x.helper.replaceRecursiveRegExp = function (e, r, t, a, n) {
      'use strict';
      x.helper.isFunction(r) ||
        ((s = r),
        (r = function () {
          return s;
        }));
      var s,
        o = u(e, t, a, n),
        t = e,
        i = o.length;
      if (0 < i) {
        let l = [];
        0 !== o[0].wholeMatch.start && l.push(e.slice(0, o[0].wholeMatch.start));
        for (let c = 0; c < i; ++c)
          l.push(
            r(
              e.slice(o[c].wholeMatch.start, o[c].wholeMatch.end),
              e.slice(o[c].match.start, o[c].match.end),
              e.slice(o[c].left.start, o[c].left.end),
              e.slice(o[c].right.start, o[c].right.end)
            )
          ),
            c < i - 1 && l.push(e.slice(o[c].wholeMatch.end, o[c + 1].wholeMatch.start));
        o[i - 1].wholeMatch.end < e.length && l.push(e.slice(o[i - 1].wholeMatch.end)), (t = l.join(''));
      }
      return t;
    }),
    (x.helper.regexIndexOf = function (e, r, t) {
      'use strict';
      if (!x.helper.isString(e))
        throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';
      if (r instanceof RegExp == !1)
        throw 'InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp';
      e = e.substring(t || 0).search(r);
      return 0 <= e ? e + (t || 0) : e;
    }),
    (x.helper.splitAtIndex = function (e, r) {
      'use strict';
      if (x.helper.isString(e)) return [e.substring(0, r), e.substring(r)];
      throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';
    }),
    (x.helper.encodeEmailAddress = function (e) {
      'use strict';
      let t = [
        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) {
        let r;
        return (e =
          '@' === e
            ? t[Math.floor(2 * Math.random())](e)
            : 0.9 < (r = Math.random())
            ? t[2](e)
            : 0.45 < r
            ? t[1](e)
            : t[0](e));
      }));
    }),
    (x.helper.padEnd = function (e, r, t) {
      'use strict';
      return (
        (r >>= 0),
        (t = String(t || ' ')),
        e.length > r
          ? String(e)
          : ((r -= e.length) > t.length && (t += t.repeat(r / t.length)), String(e) + t.slice(0, r))
      );
    }),
    '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;
        },
      }),
    (x.helper.regexes = { asteriskDashAndColon: /([*_:~])/g }),
    (x.helper.emojis = {
      '+1': '👍',
      '-1': '👎',
      100: '💯',
      1234: '🔢',
      '1st_place_medal': '🥇',
      '2nd_place_medal': '🥈',
      '3rd_place_medal': '🥉',
      '8ball': '🎱',
      a: '🅰️',
      ab: '🆎',
      abc: '🔤',
      abcd: '🔡',
      accept: '🉑',
      aerial_tramway: '🚡',
      airplane: '✈️',
      alarm_clock: '⏰',
      alembic: '⚗️',
      alien: '👽',
      ambulance: '🚑',
      amphora: '🏺',
      anchor: '⚓️',
      angel: '👼',
      anger: '💢',
      angry: '😠',
      anguished: '😧',
      ant: '🐜',
      apple: '🍎',
      aquarius: '♒️',
      aries: '♈️',
      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: '🛰',
      astonished: '😲',
      athletic_shoe: '👟',
      atm: '🏧',
      atom_symbol: '⚛️',
      avocado: '🥑',
      b: '🅱️',
      baby: '👶',
      baby_bottle: '🍼',
      baby_chick: '🐤',
      baby_symbol: '🚼',
      back: '🔙',
      bacon: '🥓',
      badminton: '🏸',
      baggage_claim: '🛄',
      baguette_bread: '🥖',
      balance_scale: '⚖️',
      balloon: '🎈',
      ballot_box: '🗳',
      ballot_box_with_check: '☑️',
      bamboo: '🎍',
      banana: '🍌',
      bangbang: '‼️',
      bank: '🏦',
      bar_chart: '📊',
      barber: '💈',
      baseball: '⚾️',
      basketball: '🏀',
      basketball_man: '⛹️',
      basketball_woman: '⛹️&zwj;♀️',
      bat: '🦇',
      bath: '🛀',
      bathtub: '🛁',
      battery: '🔋',
      beach_umbrella: '🏖',
      bear: '🐻',
      bed: '🛏',
      bee: '🐝',
      beer: '🍺',
      beers: '🍻',
      beetle: '🐞',
      beginner: '🔰',
      bell: '🔔',
      bellhop_bell: '🛎',
      bento: '🍱',
      biking_man: '🚴',
      bike: '🚲',
      biking_woman: '🚴&zwj;♀️',
      bikini: '👙',
      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: '🔲',
      blonde_man: '👱',
      blonde_woman: '👱&zwj;♀️',
      blossom: '🌼',
      blowfish: '🐡',
      blue_book: '📘',
      blue_car: '🚙',
      blue_heart: '💙',
      blush: '😊',
      boar: '🐗',
      boat: '⛵️',
      bomb: '💣',
      book: '📖',
      bookmark: '🔖',
      bookmark_tabs: '📑',
      books: '📚',
      boom: '💥',
      boot: '👢',
      bouquet: '💐',
      bowing_man: '🙇',
      bow_and_arrow: '🏹',
      bowing_woman: '🙇&zwj;♀️',
      bowling: '🎳',
      boxing_glove: '🥊',
      boy: '👦',
      bread: '🍞',
      bride_with_veil: '👰',
      bridge_at_night: '🌉',
      briefcase: '💼',
      broken_heart: '💔',
      bug: '🐛',
      building_construction: '🏗',
      bulb: '💡',
      bullettrain_front: '🚅',
      bullettrain_side: '🚄',
      burrito: '🌯',
      bus: '🚌',
      business_suit_levitating: '🕴',
      busstop: '🚏',
      bust_in_silhouette: '👤',
      busts_in_silhouette: '👥',
      butterfly: '🦋',
      cactus: '🌵',
      cake: '🍰',
      calendar: '📆',
      call_me_hand: '🤙',
      calling: '📲',
      camel: '🐫',
      camera: '📷',
      camera_flash: '📸',
      camping: '🏕',
      cancer: '♋️',
      candle: '🕯',
      candy: '🍬',
      canoe: '🛶',
      capital_abcd: '🔠',
      capricorn: '♑️',
      car: '🚗',
      card_file_box: '🗃',
      card_index: '📇',
      card_index_dividers: '🗂',
      carousel_horse: '🎠',
      carrot: '🥕',
      cat: '🐱',
      cat2: '🐈',
      cd: '💿',
      chains: '⛓',
      champagne: '🍾',
      chart: '💹',
      chart_with_downwards_trend: '📉',
      chart_with_upwards_trend: '📈',
      checkered_flag: '🏁',
      cheese: '🧀',
      cherries: '🍒',
      cherry_blossom: '🌸',
      chestnut: '🌰',
      chicken: '🐔',
      children_crossing: '🚸',
      chipmunk: '🐿',
      chocolate_bar: '🍫',
      christmas_tree: '🎄',
      church: '⛪️',
      cinema: '🎦',
      circus_tent: '🎪',
      city_sunrise: '🌇',
      city_sunset: '🌆',
      cityscape: '🏙',
      cl: '🆑',
      clamp: '🗜',
      clap: '👏',
      clapper: '🎬',
      classical_building: '🏛',
      clinking_glasses: '🥂',
      clipboard: '📋',
      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: '♣️',
      cocktail: '🍸',
      coffee: '☕️',
      coffin: '⚰️',
      cold_sweat: '😰',
      comet: '☄️',
      computer: '💻',
      computer_mouse: '🖱',
      confetti_ball: '🎊',
      confounded: '😖',
      confused: '😕',
      congratulations: '㊗️',
      construction: '🚧',
      construction_worker_man: '👷',
      construction_worker_woman: '👷&zwj;♀️',
      control_knobs: '🎛',
      convenience_store: '🏪',
      cookie: '🍪',
      cool: '🆒',
      policeman: '👮',
      copyright: '©️',
      corn: '🌽',
      couch_and_lamp: '🛋',
      couple: '👫',
      couple_with_heart_woman_man: '💑',
      couple_with_heart_man_man: '👨&zwj;❤️&zwj;👨',
      couple_with_heart_woman_woman: '👩&zwj;❤️&zwj;👩',
      couplekiss_man_man: '👨&zwj;❤️&zwj;💋&zwj;👨',
      couplekiss_man_woman: '💏',
      couplekiss_woman_woman: '👩&zwj;❤️&zwj;💋&zwj;👩',
      cow: '🐮',
      cow2: '🐄',
      cowboy_hat_face: '🤠',
      crab: '🦀',
      crayon: '🖍',
      credit_card: '💳',
      crescent_moon: '🌙',
      cricket: '🏏',
      crocodile: '🐊',
      croissant: '🥐',
      crossed_fingers: '🤞',
      crossed_flags: '🎌',
      crossed_swords: '⚔️',
      crown: '👑',
      cry: '😢',
      crying_cat_face: '😿',
      crystal_ball: '🔮',
      cucumber: '🥒',
      cupid: '💘',
      curly_loop: '➰',
      currency_exchange: '💱',
      curry: '🍛',
      custard: '🍮',
      customs: '🛃',
      cyclone: '🌀',
      dagger: '🗡',
      dancer: '💃',
      dancing_women: '👯',
      dancing_men: '👯&zwj;♂️',
      dango: '🍡',
      dark_sunglasses: '🕶',
      dart: '🎯',
      dash: '💨',
      date: '📅',
      deciduous_tree: '🌳',
      deer: '🦌',
      department_store: '🏬',
      derelict_house: '🏚',
      desert: '🏜',
      desert_island: '🏝',
      desktop_computer: '🖥',
      male_detective: '🕵️',
      diamond_shape_with_a_dot_inside: '💠',
      diamonds: '♦️',
      disappointed: '😞',
      disappointed_relieved: '😥',
      dizzy: '💫',
      dizzy_face: '😵',
      do_not_litter: '🚯',
      dog: '🐶',
      dog2: '🐕',
      dollar: '💵',
      dolls: '🎎',
      dolphin: '🐬',
      door: '🚪',
      doughnut: '🍩',
      dove: '🕊',
      dragon: '🐉',
      dragon_face: '🐲',
      dress: '👗',
      dromedary_camel: '🐪',
      drooling_face: '🤤',
      droplet: '💧',
      drum: '🥁',
      duck: '🦆',
      dvd: '📀',
      'e-mail': '📧',
      eagle: '🦅',
      ear: '👂',
      ear_of_rice: '🌾',
      earth_africa: '🌍',
      earth_americas: '🌎',
      earth_asia: '🌏',
      egg: '🥚',
      eggplant: '🍆',
      eight_pointed_black_star: '✴️',
      eight_spoked_asterisk: '✳️',
      electric_plug: '🔌',
      elephant: '🐘',
      email: '✉️',
      end: '🔚',
      envelope_with_arrow: '📩',
      euro: '💶',
      european_castle: '🏰',
      european_post_office: '🏤',
      evergreen_tree: '🌲',
      exclamation: '❗️',
      expressionless: '😑',
      eye: '👁',
      eye_speech_bubble: '👁&zwj;🗨',
      eyeglasses: '👓',
      eyes: '👀',
      face_with_head_bandage: '🤕',
      face_with_thermometer: '🤒',
      fist_oncoming: '👊',
      factory: '🏭',
      fallen_leaf: '🍂',
      family_man_woman_boy: '👪',
      family_man_boy: '👨&zwj;👦',
      family_man_boy_boy: '👨&zwj;👦&zwj;👦',
      family_man_girl: '👨&zwj;👧',
      family_man_girl_boy: '👨&zwj;👧&zwj;👦',
      family_man_girl_girl: '👨&zwj;👧&zwj;👧',
      family_man_man_boy: '👨&zwj;👨&zwj;👦',
      family_man_man_boy_boy: '👨&zwj;👨&zwj;👦&zwj;👦',
      family_man_man_girl: '👨&zwj;👨&zwj;👧',
      family_man_man_girl_boy: '👨&zwj;👨&zwj;👧&zwj;👦',
      family_man_man_girl_girl: '👨&zwj;👨&zwj;👧&zwj;👧',
      family_man_woman_boy_boy: '👨&zwj;👩&zwj;👦&zwj;👦',
      family_man_woman_girl: '👨&zwj;👩&zwj;👧',
      family_man_woman_girl_boy: '👨&zwj;👩&zwj;👧&zwj;👦',
      family_man_woman_girl_girl: '👨&zwj;👩&zwj;👧&zwj;👧',
      family_woman_boy: '👩&zwj;👦',
      family_woman_boy_boy: '👩&zwj;👦&zwj;👦',
      family_woman_girl: '👩&zwj;👧',
      family_woman_girl_boy: '👩&zwj;👧&zwj;👦',
      family_woman_girl_girl: '👩&zwj;👧&zwj;👧',
      family_woman_woman_boy: '👩&zwj;👩&zwj;👦',
      family_woman_woman_boy_boy: '👩&zwj;👩&zwj;👦&zwj;👦',
      family_woman_woman_girl: '👩&zwj;👩&zwj;👧',
      family_woman_woman_girl_boy: '👩&zwj;👩&zwj;👧&zwj;👦',
      family_woman_woman_girl_girl: '👩&zwj;👩&zwj;👧&zwj;👧',
      fast_forward: '⏩',
      fax: '📠',
      fearful: '😨',
      feet: '🐾',
      female_detective: '🕵️&zwj;♀️',
      ferris_wheel: '🎡',
      ferry: '⛴',
      field_hockey: '🏑',
      file_cabinet: '🗄',
      file_folder: '📁',
      film_projector: '📽',
      film_strip: '🎞',
      fire: '🔥',
      fire_engine: '🚒',
      fireworks: '🎆',
      first_quarter_moon: '🌓',
      first_quarter_moon_with_face: '🌛',
      fish: '🐟',
      fish_cake: '🍥',
      fishing_pole_and_fish: '🎣',
      fist_raised: '✊',
      fist_left: '🤛',
      fist_right: '🤜',
      flags: '🎏',
      flashlight: '🔦',
      fleur_de_lis: '⚜️',
      flight_arrival: '🛬',
      flight_departure: '🛫',
      floppy_disk: '💾',
      flower_playing_cards: '🎴',
      flushed: '😳',
      fog: '🌫',
      foggy: '🌁',
      football: '🏈',
      footprints: '👣',
      fork_and_knife: '🍴',
      fountain: '⛲️',
      fountain_pen: '🖋',
      four_leaf_clover: '🍀',
      fox_face: '🦊',
      framed_picture: '🖼',
      free: '🆓',
      fried_egg: '🍳',
      fried_shrimp: '🍤',
      fries: '🍟',
      frog: '🐸',
      frowning: '😦',
      frowning_face: '☹️',
      frowning_man: '🙍&zwj;♂️',
      frowning_woman: '🙍',
      middle_finger: '🖕',
      fuelpump: '⛽️',
      full_moon: '🌕',
      full_moon_with_face: '🌝',
      funeral_urn: '⚱️',
      game_die: '🎲',
      gear: '⚙️',
      gem: '💎',
      gemini: '♊️',
      ghost: '👻',
      gift: '🎁',
      gift_heart: '💝',
      girl: '👧',
      globe_with_meridians: '🌐',
      goal_net: '🥅',
      goat: '🐐',
      golf: '⛳️',
      golfing_man: '🏌️',
      golfing_woman: '🏌️&zwj;♀️',
      gorilla: '🦍',
      grapes: '🍇',
      green_apple: '🍏',
      green_book: '📗',
      green_heart: '💚',
      green_salad: '🥗',
      grey_exclamation: '❕',
      grey_question: '❔',
      grimacing: '😬',
      grin: '😁',
      grinning: '😀',
      guardsman: '💂',
      guardswoman: '💂&zwj;♀️',
      guitar: '🎸',
      gun: '🔫',
      haircut_woman: '💇',
      haircut_man: '💇&zwj;♂️',
      hamburger: '🍔',
      hammer: '🔨',
      hammer_and_pick: '⚒',
      hammer_and_wrench: '🛠',
      hamster: '🐹',
      hand: '✋',
      handbag: '👜',
      handshake: '🤝',
      hankey: '💩',
      hatched_chick: '🐥',
      hatching_chick: '🐣',
      headphones: '🎧',
      hear_no_evil: '🙉',
      heart: '❤️',
      heart_decoration: '💟',
      heart_eyes: '😍',
      heart_eyes_cat: '😻',
      heartbeat: '💓',
      heartpulse: '💗',
      hearts: '♥️',
      heavy_check_mark: '✔️',
      heavy_division_sign: '➗',
      heavy_dollar_sign: '💲',
      heavy_heart_exclamation: '❣️',
      heavy_minus_sign: '➖',
      heavy_multiplication_x: '✖️',
      heavy_plus_sign: '➕',
      helicopter: '🚁',
      herb: '🌿',
      hibiscus: '🌺',
      high_brightness: '🔆',
      high_heel: '👠',
      hocho: '🔪',
      hole: '🕳',
      honey_pot: '🍯',
      horse: '🐴',
      horse_racing: '🏇',
      hospital: '🏥',
      hot_pepper: '🌶',
      hotdog: '🌭',
      hotel: '🏨',
      hotsprings: '♨️',
      hourglass: '⌛️',
      hourglass_flowing_sand: '⏳',
      house: '🏠',
      house_with_garden: '🏡',
      houses: '🏘',
      hugs: '🤗',
      hushed: '😯',
      ice_cream: '🍨',
      ice_hockey: '🏒',
      ice_skate: '⛸',
      icecream: '🍦',
      id: '🆔',
      ideograph_advantage: '🉐',
      imp: '👿',
      inbox_tray: '📥',
      incoming_envelope: '📨',
      tipping_hand_woman: '💁',
      information_source: 'ℹ️',
      innocent: '😇',
      interrobang: '⁉️',
      iphone: '📱',
      izakaya_lantern: '🏮',
      jack_o_lantern: '🎃',
      japan: '🗾',
      japanese_castle: '🏯',
      japanese_goblin: '👺',
      japanese_ogre: '👹',
      jeans: '👖',
      joy: '😂',
      joy_cat: '😹',
      joystick: '🕹',
      kaaba: '🕋',
      key: '🔑',
      keyboard: '⌨️',
      keycap_ten: '🔟',
      kick_scooter: '🛴',
      kimono: '👘',
      kiss: '💋',
      kissing: '😗',
      kissing_cat: '😽',
      kissing_closed_eyes: '😚',
      kissing_heart: '😘',
      kissing_smiling_eyes: '😙',
      kiwi_fruit: '🥝',
      koala: '🐨',
      koko: '🈁',
      label: '🏷',
      large_blue_circle: '🔵',
      large_blue_diamond: '🔷',
      large_orange_diamond: '🔶',
      last_quarter_moon: '🌗',
      last_quarter_moon_with_face: '🌜',
      latin_cross: '✝️',
      laughing: '😆',
      leaves: '🍃',
      ledger: '📒',
      left_luggage: '🛅',
      left_right_arrow: '↔️',
      leftwards_arrow_with_hook: '↩️',
      lemon: '🍋',
      leo: '♌️',
      leopard: '🐆',
      level_slider: '🎚',
      libra: '♎️',
      light_rail: '🚈',
      link: '🔗',
      lion: '🦁',
      lips: '👄',
      lipstick: '💄',
      lizard: '🦎',
      lock: '🔒',
      lock_with_ink_pen: '🔏',
      lollipop: '🍭',
      loop: '➿',
      loud_sound: '🔊',
      loudspeaker: '📢',
      love_hotel: '🏩',
      love_letter: '💌',
      low_brightness: '🔅',
      lying_face: '🤥',
      m: 'Ⓜ️',
      mag: '🔍',
      mag_right: '🔎',
      mahjong: '🀄️',
      mailbox: '📫',
      mailbox_closed: '📪',
      mailbox_with_mail: '📬',
      mailbox_with_no_mail: '📭',
      man: '👨',
      man_artist: '👨&zwj;🎨',
      man_astronaut: '👨&zwj;🚀',
      man_cartwheeling: '🤸&zwj;♂️',
      man_cook: '👨&zwj;🍳',
      man_dancing: '🕺',
      man_facepalming: '🤦&zwj;♂️',
      man_factory_worker: '👨&zwj;🏭',
      man_farmer: '👨&zwj;🌾',
      man_firefighter: '👨&zwj;🚒',
      man_health_worker: '👨&zwj;⚕️',
      man_in_tuxedo: '🤵',
      man_judge: '👨&zwj;⚖️',
      man_juggling: '🤹&zwj;♂️',
      man_mechanic: '👨&zwj;🔧',
      man_office_worker: '👨&zwj;💼',
      man_pilot: '👨&zwj;✈️',
      man_playing_handball: '🤾&zwj;♂️',
      man_playing_water_polo: '🤽&zwj;♂️',
      man_scientist: '👨&zwj;🔬',
      man_shrugging: '🤷&zwj;♂️',
      man_singer: '👨&zwj;🎤',
      man_student: '👨&zwj;🎓',
      man_teacher: '👨&zwj;🏫',
      man_technologist: '👨&zwj;💻',
      man_with_gua_pi_mao: '👲',
      man_with_turban: '👳',
      tangerine: '🍊',
      mans_shoe: '👞',
      mantelpiece_clock: '🕰',
      maple_leaf: '🍁',
      martial_arts_uniform: '🥋',
      mask: '😷',
      massage_woman: '💆',
      massage_man: '💆&zwj;♂️',
      meat_on_bone: '🍖',
      medal_military: '🎖',
      medal_sports: '🏅',
      mega: '📣',
      melon: '🍈',
      memo: '📝',
      men_wrestling: '🤼&zwj;♂️',
      menorah: '🕎',
      mens: '🚹',
      metal: '🤘',
      metro: '🚇',
      microphone: '🎤',
      microscope: '🔬',
      milk_glass: '🥛',
      milky_way: '🌌',
      minibus: '🚐',
      minidisc: '💽',
      mobile_phone_off: '📴',
      money_mouth_face: '🤑',
      money_with_wings: '💸',
      moneybag: '💰',
      monkey: '🐒',
      monkey_face: '🐵',
      monorail: '🚝',
      moon: '🌔',
      mortar_board: '🎓',
      mosque: '🕌',
      motor_boat: '🛥',
      motor_scooter: '🛵',
      motorcycle: '🏍',
      motorway: '🛣',
      mount_fuji: '🗻',
      mountain: '⛰',
      mountain_biking_man: '🚵',
      mountain_biking_woman: '🚵&zwj;♀️',
      mountain_cableway: '🚠',
      mountain_railway: '🚞',
      mountain_snow: '🏔',
      mouse: '🐭',
      mouse2: '🐁',
      movie_camera: '🎥',
      moyai: '🗿',
      mrs_claus: '🤶',
      muscle: '💪',
      mushroom: '🍄',
      musical_keyboard: '🎹',
      musical_note: '🎵',
      musical_score: '🎼',
      mute: '🔇',
      nail_care: '💅',
      name_badge: '📛',
      national_park: '🏞',
      nauseated_face: '🤢',
      necktie: '👔',
      negative_squared_cross_mark: '❎',
      nerd_face: '🤓',
      neutral_face: '😐',
      new: '🆕',
      new_moon: '🌑',
      new_moon_with_face: '🌚',
      newspaper: '📰',
      newspaper_roll: '🗞',
      next_track_button: '⏭',
      ng: '🆖',
      no_good_man: '🙅&zwj;♂️',
      no_good_woman: '🙅',
      night_with_stars: '🌃',
      no_bell: '🔕',
      no_bicycles: '🚳',
      no_entry: '⛔️',
      no_entry_sign: '🚫',
      no_mobile_phones: '📵',
      no_mouth: '😶',
      no_pedestrians: '🚷',
      no_smoking: '🚭',
      'non-potable_water': '🚱',
      nose: '👃',
      notebook: '📓',
      notebook_with_decorative_cover: '📔',
      notes: '🎶',
      nut_and_bolt: '🔩',
      o: '⭕️',
      o2: '🅾️',
      ocean: '🌊',
      octopus: '🐙',
      oden: '🍢',
      office: '🏢',
      oil_drum: '🛢',
      ok: '🆗',
      ok_hand: '👌',
      ok_man: '🙆&zwj;♂️',
      ok_woman: '🙆',
      old_key: '🗝',
      older_man: '👴',
      older_woman: '👵',
      om: '🕉',
      on: '🔛',
      oncoming_automobile: '🚘',
      oncoming_bus: '🚍',
      oncoming_police_car: '🚔',
      oncoming_taxi: '🚖',
      open_file_folder: '📂',
      open_hands: '👐',
      open_mouth: '😮',
      open_umbrella: '☂️',
      ophiuchus: '⛎',
      orange_book: '📙',
      orthodox_cross: '☦️',
      outbox_tray: '📤',
      owl: '🦉',
      ox: '🐂',
      package: '📦',
      page_facing_up: '📄',
      page_with_curl: '📃',
      pager: '📟',
      paintbrush: '🖌',
      palm_tree: '🌴',
      pancakes: '🥞',
      panda_face: '🐼',
      paperclip: '📎',
      paperclips: '🖇',
      parasol_on_ground: '⛱',
      parking: '🅿️',
      part_alternation_mark: '〽️',
      partly_sunny: '⛅️',
      passenger_ship: '🛳',
      passport_control: '🛂',
      pause_button: '⏸',
      peace_symbol: '☮️',
      peach: '🍑',
      peanuts: '🥜',
      pear: '🍐',
      pen: '🖊',
      pencil2: '✏️',
      penguin: '🐧',
      pensive: '😔',
      performing_arts: '🎭',
      persevere: '😣',
      person_fencing: '🤺',
      pouting_woman: '🙎',
      phone: '☎️',
      pick: '⛏',
      pig: '🐷',
      pig2: '🐖',
      pig_nose: '🐽',
      pill: '💊',
      pineapple: '🍍',
      ping_pong: '🏓',
      pisces: '♓️',
      pizza: '🍕',
      place_of_worship: '🛐',
      plate_with_cutlery: '🍽',
      play_or_pause_button: '⏯',
      point_down: '👇',
      point_left: '👈',
      point_right: '👉',
      point_up: '☝️',
      point_up_2: '👆',
      police_car: '🚓',
      policewoman: '👮&zwj;♀️',
      poodle: '🐩',
      popcorn: '🍿',
      post_office: '🏣',
      postal_horn: '📯',
      postbox: '📮',
      potable_water: '🚰',
      potato: '🥔',
      pouch: '👝',
      poultry_leg: '🍗',
      pound: '💷',
      rage: '😡',
      pouting_cat: '😾',
      pouting_man: '🙎&zwj;♂️',
      pray: '🙏',
      prayer_beads: '📿',
      pregnant_woman: '🤰',
      previous_track_button: '⏮',
      prince: '🤴',
      princess: '👸',
      printer: '🖨',
      purple_heart: '💜',
      purse: '👛',
      pushpin: '📌',
      put_litter_in_its_place: '🚮',
      question: '❓',
      rabbit: '🐰',
      rabbit2: '🐇',
      racehorse: '🐎',
      racing_car: '🏎',
      radio: '📻',
      radio_button: '🔘',
      radioactive: '☢️',
      railway_car: '🚃',
      railway_track: '🛤',
      rainbow: '🌈',
      rainbow_flag: '🏳️&zwj;🌈',
      raised_back_of_hand: '🤚',
      raised_hand_with_fingers_splayed: '🖐',
      raised_hands: '🙌',
      raising_hand_woman: '🙋',
      raising_hand_man: '🙋&zwj;♂️',
      ram: '🐏',
      ramen: '🍜',
      rat: '🐀',
      record_button: '⏺',
      recycle: '♻️',
      red_circle: '🔴',
      registered: '®️',
      relaxed: '☺️',
      relieved: '😌',
      reminder_ribbon: '🎗',
      repeat: '🔁',
      repeat_one: '🔂',
      rescue_worker_helmet: '⛑',
      restroom: '🚻',
      revolving_hearts: '💞',
      rewind: '⏪',
      rhinoceros: '🦏',
      ribbon: '🎀',
      rice: '🍚',
      rice_ball: '🍙',
      rice_cracker: '🍘',
      rice_scene: '🎑',
      right_anger_bubble: '🗯',
      ring: '💍',
      robot: '🤖',
      rocket: '🚀',
      rofl: '🤣',
      roll_eyes: '🙄',
      roller_coaster: '🎢',
      rooster: '🐓',
      rose: '🌹',
      rosette: '🏵',
      rotating_light: '🚨',
      round_pushpin: '📍',
      rowing_man: '🚣',
      rowing_woman: '🚣&zwj;♀️',
      rugby_football: '🏉',
      running_man: '🏃',
      running_shirt_with_sash: '🎽',
      running_woman: '🏃&zwj;♀️',
      sa: '🈂️',
      sagittarius: '♐️',
      sake: '🍶',
      sandal: '👡',
      santa: '🎅',
      satellite: '📡',
      saxophone: '🎷',
      school: '🏫',
      school_satchel: '🎒',
      scissors: '✂️',
      scorpion: '🦂',
      scorpius: '♏️',
      scream: '😱',
      scream_cat: '🙀',
      scroll: '📜',
      seat: '💺',
      secret: '㊙️',
      see_no_evil: '🙈',
      seedling: '🌱',
      selfie: '🤳',
      shallow_pan_of_food: '🥘',
      shamrock: '☘️',
      shark: '🦈',
      shaved_ice: '🍧',
      sheep: '🐑',
      shell: '🐚',
      shield: '🛡',
      shinto_shrine: '⛩',
      ship: '🚢',
      shirt: '👕',
      shopping: '🛍',
      shopping_cart: '🛒',
      shower: '🚿',
      shrimp: '🦐',
      signal_strength: '📶',
      six_pointed_star: '🔯',
      ski: '🎿',
      skier: '⛷',
      skull: '💀',
      skull_and_crossbones: '☠️',
      sleeping: '😴',
      sleeping_bed: '🛌',
      sleepy: '😪',
      slightly_frowning_face: '🙁',
      slightly_smiling_face: '🙂',
      slot_machine: '🎰',
      small_airplane: '🛩',
      small_blue_diamond: '🔹',
      small_orange_diamond: '🔸',
      small_red_triangle: '🔺',
      small_red_triangle_down: '🔻',
      smile: '😄',
      smile_cat: '😸',
      smiley: '😃',
      smiley_cat: '😺',
      smiling_imp: '😈',
      smirk: '😏',
      smirk_cat: '😼',
      smoking: '🚬',
      snail: '🐌',
      snake: '🐍',
      sneezing_face: '🤧',
      snowboarder: '🏂',
      snowflake: '❄️',
      snowman: '⛄️',
      snowman_with_snow: '☃️',
      sob: '😭',
      soccer: '⚽️',
      soon: '🔜',
      sos: '🆘',
      sound: '🔉',
      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: '🗒',
      spoon: '🥄',
      squid: '🦑',
      stadium: '🏟',
      star: '⭐️',
      star2: '🌟',
      star_and_crescent: '☪️',
      star_of_david: '✡️',
      stars: '🌠',
      station: '🚉',
      statue_of_liberty: '🗽',
      steam_locomotive: '🚂',
      stew: '🍲',
      stop_button: '⏹',
      stop_sign: '🛑',
      stopwatch: '⏱',
      straight_ruler: '📏',
      strawberry: '🍓',
      stuck_out_tongue: '😛',
      stuck_out_tongue_closed_eyes: '😝',
      stuck_out_tongue_winking_eye: '😜',
      studio_microphone: '🎙',
      stuffed_flatbread: '🥙',
      sun_behind_large_cloud: '🌥',
      sun_behind_rain_cloud: '🌦',
      sun_behind_small_cloud: '🌤',
      sun_with_face: '🌞',
      sunflower: '🌻',
      sunglasses: '😎',
      sunny: '☀️',
      sunrise: '🌅',
      sunrise_over_mountains: '🌄',
      surfing_man: '🏄',
      surfing_woman: '🏄&zwj;♀️',
      sushi: '🍣',
      suspension_railway: '🚟',
      sweat: '😓',
      sweat_drops: '💦',
      sweat_smile: '😅',
      sweet_potato: '🍠',
      swimming_man: '🏊',
      swimming_woman: '🏊&zwj;♀️',
      symbols: '🔣',
      synagogue: '🕍',
      syringe: '💉',
      taco: '🌮',
      tada: '🎉',
      tanabata_tree: '🎋',
      taurus: '♉️',
      taxi: '🚕',
      tea: '🍵',
      telephone_receiver: '📞',
      telescope: '🔭',
      tennis: '🎾',
      tent: '⛺️',
      thermometer: '🌡',
      thinking: '🤔',
      thought_balloon: '💭',
      ticket: '🎫',
      tickets: '🎟',
      tiger: '🐯',
      tiger2: '🐅',
      timer_clock: '⏲',
      tipping_hand_man: '💁&zwj;♂️',
      tired_face: '😫',
      tm: '™️',
      toilet: '🚽',
      tokyo_tower: '🗼',
      tomato: '🍅',
      tongue: '👅',
      top: '🔝',
      tophat: '🎩',
      tornado: '🌪',
      trackball: '🖲',
      tractor: '🚜',
      traffic_light: '🚥',
      train: '🚋',
      train2: '🚆',
      tram: '🚊',
      triangular_flag_on_post: '🚩',
      triangular_ruler: '📐',
      trident: '🔱',
      triumph: '😤',
      trolleybus: '🚎',
      trophy: '🏆',
      tropical_drink: '🍹',
      tropical_fish: '🐠',
      truck: '🚚',
      trumpet: '🎺',
      tulip: '🌷',
      tumbler_glass: '🥃',
      turkey: '🦃',
      turtle: '🐢',
      tv: '📺',
      twisted_rightwards_arrows: '🔀',
      two_hearts: '💕',
      two_men_holding_hands: '👬',
      two_women_holding_hands: '👭',
      u5272: '🈹',
      u5408: '🈴',
      u55b6: '🈺',
      u6307: '🈯️',
      u6708: '🈷️',
      u6709: '🈶',
      u6e80: '🈵',
      u7121: '🈚️',
      u7533: '🈸',
      u7981: '🈲',
      u7a7a: '🈳',
      umbrella: '☔️',
      unamused: '😒',
      underage: '🔞',
      unicorn: '🦄',
      unlock: '🔓',
      up: '🆙',
      upside_down_face: '🙃',
      v: '✌️',
      vertical_traffic_light: '🚦',
      vhs: '📼',
      vibration_mode: '📳',
      video_camera: '📹',
      video_game: '🎮',
      violin: '🎻',
      virgo: '♍️',
      volcano: '🌋',
      volleyball: '🏐',
      vs: '🆚',
      vulcan_salute: '🖖',
      walking_man: '🚶',
      walking_woman: '🚶&zwj;♀️',
      waning_crescent_moon: '🌘',
      waning_gibbous_moon: '🌖',
      warning: '⚠️',
      wastebasket: '🗑',
      watch: '⌚️',
      water_buffalo: '🐃',
      watermelon: '🍉',
      wave: '👋',
      wavy_dash: '〰️',
      waxing_crescent_moon: '🌒',
      wc: '🚾',
      weary: '😩',
      wedding: '💒',
      weight_lifting_man: '🏋️',
      weight_lifting_woman: '🏋️&zwj;♀️',
      whale: '🐳',
      whale2: '🐋',
      wheel_of_dharma: '☸️',
      wheelchair: '♿️',
      white_check_mark: '✅',
      white_circle: '⚪️',
      white_flag: '🏳️',
      white_flower: '💮',
      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: '👩&zwj;🎨',
      woman_astronaut: '👩&zwj;🚀',
      woman_cartwheeling: '🤸&zwj;♀️',
      woman_cook: '👩&zwj;🍳',
      woman_facepalming: '🤦&zwj;♀️',
      woman_factory_worker: '👩&zwj;🏭',
      woman_farmer: '👩&zwj;🌾',
      woman_firefighter: '👩&zwj;🚒',
      woman_health_worker: '👩&zwj;⚕️',
      woman_judge: '👩&zwj;⚖️',
      woman_juggling: '🤹&zwj;♀️',
      woman_mechanic: '👩&zwj;🔧',
      woman_office_worker: '👩&zwj;💼',
      woman_pilot: '👩&zwj;✈️',
      woman_playing_handball: '🤾&zwj;♀️',
      woman_playing_water_polo: '🤽&zwj;♀️',
      woman_scientist: '👩&zwj;🔬',
      woman_shrugging: '🤷&zwj;♀️',
      woman_singer: '👩&zwj;🎤',
      woman_student: '👩&zwj;🎓',
      woman_teacher: '👩&zwj;🏫',
      woman_technologist: '👩&zwj;💻',
      woman_with_turban: '👳&zwj;♀️',
      womans_clothes: '👚',
      womans_hat: '👒',
      women_wrestling: '🤼&zwj;♀️',
      womens: '🚺',
      world_map: '🗺',
      worried: '😟',
      wrench: '🔧',
      writing_hand: '✍️',
      x: '❌',
      yellow_heart: '💛',
      yen: '💴',
      yin_yang: '☯️',
      yum: '😋',
      zap: '⚡️',
      zipper_mouth_face: '🤐',
      zzz: '💤',
      octocat:
        '<img alt=":octocat:" height="20" width="20" align="absmiddle" src="https://assets-cdn.github.com/images/icons/emoji/octocat.png">',
      showdown:
        '<span style="font-family: \'Anonymous Pro\', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;">S</span>',
    }),
    (x.Converter = function (e) {
      'use strict';
      let r,
        t,
        n = {},
        i = [],
        l = [],
        o = {},
        a = h,
        s = { parsed: {}, raw: '', format: '' };
      for (r in ((e = e || {}), p)) p.hasOwnProperty(r) && (n[r] = p[r]);
      if ('object' !== typeof e)
        throw Error('Converter expects the passed parameter to be an object, but ' + typeof e + ' was passed instead.');
      for (t in e) e.hasOwnProperty(t) && (n[t] = e[t]);
      function c(e, r) {
        if (((r = r || null), x.helper.isString(e))) {
          if (((r = e = x.helper.stdExtName(e)), x.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 t = x.extensions[e],
              a = e;
            if (
              ('function' === typeof t && (t = t(new x.Converter())),
              x.helper.isArray(t) || (t = [t]),
              !(a = g(t, a)).valid)
            )
              throw Error(a.error);
            for (let n = 0; n < t.length; ++n)
              switch (t[n].type) {
                case 'lang':
                  i.push(t[n]);
                  break;
                case 'output':
                  l.push(t[n]);
                  break;
                default:
                  throw Error('Extension loader error: Type unrecognized!!!');
              }
            return;
          }
          if (x.helper.isUndefined(d[e]))
            throw Error(
              'Extension "' + e + '" could not be loaded. It was either not found or is not a valid extension.'
            );
          e = d[e];
        }
        'function' === typeof e && (e = e());
        a = g((e = x.helper.isArray(e) ? e : [e]), r);
        if (!a.valid) throw Error(a.error);
        for (let s = 0; s < e.length; ++s) {
          switch (e[s].type) {
            case 'lang':
              i.push(e[s]);
              break;
            case 'output':
              l.push(e[s]);
          }
          if (e[s].hasOwnProperty('listeners'))
            for (let o in e[s].listeners) e[s].listeners.hasOwnProperty(o) && u(o, e[s].listeners[o]);
        }
      }
      function u(e, r) {
        if (!x.helper.isString(e))
          throw Error(
            'Invalid argument in converter.listen() method: name must be a string, but ' + typeof e + ' given'
          );
        if ('function' !== typeof r)
          throw Error(
            'Invalid argument in converter.listen() method: callback must be a function, but ' + typeof r + ' given'
          );
        o.hasOwnProperty(e) || (o[e] = []), o[e].push(r);
      }
      n.extensions && x.helper.forEach(n.extensions, c),
        (this._dispatch = function (e, r, t, a) {
          if (o.hasOwnProperty(e))
            for (let n = 0; n < o[e].length; ++n) {
              let s = o[e][n](e, r, this, t, a);
              s && void 0 !== s && (r = s);
            }
          return r;
        }),
        (this.listen = function (e, r) {
          return u(e, r), this;
        }),
        (this.makeHtml = function (r) {
          if (!r) return r;
          let e,
            t,
            a = {
              gHtmlBlocks: [],
              gHtmlMdBlocks: [],
              gHtmlSpans: [],
              gUrls: {},
              gTitles: {},
              gDimensions: {},
              gListLevel: 0,
              hashLinkCounts: {},
              langExtensions: i,
              outputModifiers: l,
              converter: this,
              ghCodeBlocks: [],
              metadata: { parsed: {}, raw: '', format: '' },
            };
          return (
            (r = (r = (r = (r = (r = r.replace(/¨/g, '¨T')).replace(/\$/g, '¨D')).replace(/\r\n/g, '\n')).replace(
              /\r/g,
              '\n'
            )).replace(/\u00A0/g, '&nbsp;')),
            n.smartIndentationFix &&
              ((t = (e = r).match(/^\s*/)[0].length),
              (t = new RegExp('^\\s{0,' + t + '}', 'gm')),
              (r = e.replace(t, ''))),
            (r = '\n\n' + r + '\n\n'),
            (r = (r = x.subParser('detab')(r, n, a)).replace(/^[ \t]+$/gm, '')),
            x.helper.forEach(i, function (e) {
              r = x.subParser('runExtension')(e, r, n, a);
            }),
            (r = x.subParser('metadata')(r, n, a)),
            (r = x.subParser('hashPreCodeTags')(r, n, a)),
            (r = x.subParser('githubCodeBlocks')(r, n, a)),
            (r = x.subParser('hashHTMLBlocks')(r, n, a)),
            (r = x.subParser('hashCodeTags')(r, n, a)),
            (r = x.subParser('stripLinkDefinitions')(r, n, a)),
            (r = x.subParser('blockGamut')(r, n, a)),
            (r = x.subParser('unhashHTMLSpans')(r, n, a)),
            (r = (r = (r = x.subParser('unescapeSpecialChars')(r, n, a)).replace(/¨D/g, '$$')).replace(/¨T/g, '¨')),
            (r = x.subParser('completeHTMLDocument')(r, n, a)),
            x.helper.forEach(l, function (e) {
              r = x.subParser('runExtension')(e, r, n, a);
            }),
            (s = a.metadata),
            r
          );
        }),
        (this.makeMarkdown = this.makeMd =
          function (e, r) {
            if (((e = (e = (e = e.replace(/\r\n/g, '\n')).replace(/\r/g, '\n')).replace(/>[ \t]+</, '>¨NBSP;<')), !r)) {
              if (!window || !window.document)
                throw new Error(
                  'HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM'
                );
              r = window.document;
            }
            for (
              var r = r.createElement('div'),
                t =
                  ((r.innerHTML = e),
                  {
                    preList: (function (e) {
                      for (var r = e.querySelectorAll('pre'), t = [], a = 0; a < r.length; ++a)
                        if (1 === r[a].childElementCount && 'code' === r[a].firstChild.tagName.toLowerCase()) {
                          let n = r[a].firstChild.innerHTML.trim(),
                            s = r[a].firstChild.getAttribute('data-language') || '';
                          if ('' === s)
                            for (let o = r[a].firstChild.className.split(' '), i = 0; i < o.length; ++i) {
                              let l = o[i].match(/^language-(.+)$/);
                              if (null !== l) {
                                s = l[1];
                                break;
                              }
                            }
                          (n = x.helper.unescapeHTMLEntities(n)),
                            t.push(n),
                            (r[a].outerHTML =
                              '<precode language="' + s + '" precodenum="' + a.toString() + '"></precode>');
                        } else t.push(r[a].innerHTML), (r[a].innerHTML = ''), r[a].setAttribute('prenum', a.toString());
                      return t;
                    })(r),
                  }),
                a =
                  (!(function e(r) {
                    for (let t = 0; t < r.childNodes.length; ++t) {
                      let a = r.childNodes[t];
                      3 === a.nodeType
                        ? /\S/.test(a.nodeValue) || /^[ ]+$/.test(a.nodeValue)
                          ? ((a.nodeValue = a.nodeValue.split('\n').join(' ')),
                            (a.nodeValue = a.nodeValue.replace(/(\s)+/g, '$1')))
                          : (r.removeChild(a), --t)
                        : 1 === a.nodeType && e(a);
                    }
                  })(r),
                  r.childNodes),
                n = '',
                s = 0;
              s < a.length;
              s++
            )
              n += x.subParser('makeMarkdown.node')(a[s], t);
            return n;
          }),
        (this.setOption = function (e, r) {
          n[e] = r;
        }),
        (this.getOption = function (e) {
          return n[e];
        }),
        (this.getOptions = function () {
          return n;
        }),
        (this.addExtension = function (e, r) {
          c(e, (r = r || null));
        }),
        (this.useExtension = function (e) {
          c(e);
        }),
        (this.setFlavor = function (e) {
          if (!_.hasOwnProperty(e)) throw Error(e + ' flavor was not found');
          let r,
            t = _[e];
          for (r in ((a = e), t)) t.hasOwnProperty(r) && (n[r] = t[r]);
        }),
        (this.getFlavor = function () {
          return a;
        }),
        (this.removeExtension = function (e) {
          x.helper.isArray(e) || (e = [e]);
          for (let r = 0; r < e.length; ++r) {
            for (var t = e[r], a = 0; a < i.length; ++a) i[a] === t && i.splice(a, 1);
            for (let n = 0; n < l.length; ++n) l[n] === t && l.splice(n, 1);
          }
        }),
        (this.getAllExtensions = function () {
          return { language: i, output: l };
        }),
        (this.getMetadata = function (e) {
          return e ? s.raw : s.parsed;
        }),
        (this.getMetadataFormat = function () {
          return s.format;
        }),
        (this._setMetadataPair = function (e, r) {
          s.parsed[e] = r;
        }),
        (this._setMetadataFormat = function (e) {
          s.format = e;
        }),
        (this._setMetadataRaw = function (e) {
          s.raw = e;
        });
    }),
    x.subParser('anchors', function (e, i, l) {
      'use strict';
      function r(e, r, t, a, n, s, o) {
        if ((x.helper.isUndefined(o) && (o = ''), (t = t.toLowerCase()), -1 < e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)))
          a = '';
        else if (!a) {
          if (((a = '#' + (t = t || r.toLowerCase().replace(/ ?\n/g, ' '))), x.helper.isUndefined(l.gUrls[t])))
            return e;
          (a = l.gUrls[t]), x.helper.isUndefined(l.gTitles[t]) || (o = l.gTitles[t]);
        }
        return (
          (e =
            '<a href="' +
            (a = a.replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)) +
            '"'),
          '' !== o &&
            null !== o &&
            (e +=
              ' title="' +
              (o = (o = o.replace(/"/g, '&quot;')).replace(
                x.helper.regexes.asteriskDashAndColon,
                x.helper.escapeCharactersCallback
              )) +
              '"'),
          i.openLinksInNewWindow && !/^#/.test(a) && (e += ' rel="noopener noreferrer" target="¨E95Eblank"'),
          (e += '>' + r + '</a>')
        );
      }
      return (
        (e = (e = (e = (e = (e = l.converter._dispatch('anchors.before', e, i, l)).replace(
          /\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,
          r
        )).replace(
          /\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,
          r
        )).replace(
          /\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,
          r
        )).replace(/\[([^\[\]]+)]()()()()()/g, r)),
        i.ghMentions &&
          (e = e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim, function (e, r, t, a, n) {
            if ('\\' === t) return r + a;
            if (!x.helper.isString(i.ghMentionsLink)) throw new Error('ghMentionsLink option must be a string');
            t = '';
            return (
              r +
              '<a href="' +
              i.ghMentionsLink.replace(/\{u}/g, n) +
              '"' +
              (t = i.openLinksInNewWindow ? ' rel="noopener noreferrer" target="¨E95Eblank"' : t) +
              '>' +
              a +
              '</a>'
            );
          })),
        (e = l.converter._dispatch('anchors.after', e, i, l))
      );
    });
  let i = /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,
    l = /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,
    c = /()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,
    m = /(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,
    f = /<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi;
  x.subParser('autoLinks', function (e, r, t) {
    'use strict';
    return (
      (e = (e = (e = t.converter._dispatch('autoLinks.before', e, r, t)).replace(c, s(r))).replace(f, o(r, t))),
      (e = t.converter._dispatch('autoLinks.after', e, r, t))
    );
  }),
    x.subParser('simplifiedAutoLinks', function (e, r, t) {
      'use strict';
      return r.simplifiedAutoLink
        ? ((e = t.converter._dispatch('simplifiedAutoLinks.before', e, r, t)),
          (e = (e = r.excludeTrailingPunctuationFromURLs ? e.replace(l, s(r)) : e.replace(i, s(r))).replace(
            m,
            o(r, t)
          )),
          t.converter._dispatch('simplifiedAutoLinks.after', e, r, t))
        : e;
    }),
    x.subParser('blockGamut', function (e, r, t) {
      'use strict';
      return (
        (e = t.converter._dispatch('blockGamut.before', e, r, t)),
        (e = x.subParser('blockQuotes')(e, r, t)),
        (e = x.subParser('headers')(e, r, t)),
        (e = x.subParser('horizontalRule')(e, r, t)),
        (e = x.subParser('lists')(e, r, t)),
        (e = x.subParser('codeBlocks')(e, r, t)),
        (e = x.subParser('tables')(e, r, t)),
        (e = x.subParser('hashHTMLBlocks')(e, r, t)),
        (e = x.subParser('paragraphs')(e, r, t)),
        (e = t.converter._dispatch('blockGamut.after', e, r, t))
      );
    }),
    x.subParser('blockQuotes', function (e, r, t) {
      'use strict';
      e = t.converter._dispatch('blockQuotes.before', e, r, t);
      let a = /(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;
      return (
        r.splitAdjacentBlockquotes && (a = /^ {0,3}>[\s\S]*?(?:\n\n)/gm),
        (e = (e += '\n\n').replace(a, function (e) {
          return (
            (e = (e = (e = e.replace(/^[ \t]*>[ \t]?/gm, '')).replace(/¨0/g, '')).replace(/^[ \t]+$/gm, '')),
            (e = x.subParser('githubCodeBlocks')(e, r, t)),
            (e = (e = (e = x.subParser('blockGamut')(e, r, t)).replace(/(^|\n)/g, '$1  ')).replace(
              /(\s*<pre>[^\r]+?<\/pre>)/gm,
              function (e, r) {
                return r.replace(/^  /gm, '¨0').replace(/¨0/g, '');
              }
            )),
            x.subParser('hashBlock')('<blockquote>\n' + e + '\n</blockquote>', r, t)
          );
        })),
        (e = t.converter._dispatch('blockQuotes.after', e, r, t))
      );
    }),
    x.subParser('codeBlocks', function (e, n, s) {
      'use strict';
      e = s.converter._dispatch('codeBlocks.before', e, n, s);
      return (
        (e = (e = (e += '¨0').replace(
          /(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,
          function (e, r, t) {
            var a = '\n',
              r = x.subParser('outdent')(r, n, s);
            return (
              (r = x.subParser('encodeCode')(r, n, s)),
              (r =
                '<pre><code>' +
                (r = (r = (r = x.subParser('detab')(r, n, s)).replace(/^\n+/g, '')).replace(/\n+$/g, '')) +
                (a = n.omitExtraWLInCodeBlocks ? '' : a) +
                '</code></pre>'),
              x.subParser('hashBlock')(r, n, s) + t
            );
          }
        )).replace(/¨0/, '')),
        (e = s.converter._dispatch('codeBlocks.after', e, n, s))
      );
    }),
    x.subParser('codeSpans', function (e, n, s) {
      'use strict';
      return (
        (e = (e = void 0 === (e = s.converter._dispatch('codeSpans.before', e, n, s)) ? '' : e).replace(
          /(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,
          function (e, r, t, a) {
            return (
              (a = (a = a.replace(/^([ \t]*)/g, '')).replace(/[ \t]*$/g, '')),
              (a = r + '<code>' + (a = x.subParser('encodeCode')(a, n, s)) + '</code>'),
              (a = x.subParser('hashHTMLSpans')(a, n, s))
            );
          }
        )),
        (e = s.converter._dispatch('codeSpans.after', e, n, s))
      );
    }),
    x.subParser('completeHTMLDocument', function (e, r, t) {
      'use strict';
      if (!r.completeHTMLDocument) return e;
      e = t.converter._dispatch('completeHTMLDocument.before', e, r, t);
      let a,
        n = 'html',
        s = '<!DOCTYPE HTML>\n',
        o = '',
        i = '<meta charset="utf-8">\n',
        l = '',
        c = '';
      for (a in (void 0 !== t.metadata.parsed.doctype &&
        ((s = '<!DOCTYPE ' + t.metadata.parsed.doctype + '>\n'),
        ('html' !== (n = t.metadata.parsed.doctype.toString().toLowerCase()) && 'html5' !== n) ||
          (i = '<meta charset="utf-8">')),
      t.metadata.parsed))
        if (t.metadata.parsed.hasOwnProperty(a))
          switch (a.toLowerCase()) {
            case 'doctype':
              break;
            case 'title':
              o = '<title>' + t.metadata.parsed.title + '</title>\n';
              break;
            case 'charset':
              i =
                'html' === n || 'html5' === n
                  ? '<meta charset="' + t.metadata.parsed.charset + '">\n'
                  : '<meta name="charset" content="' + t.metadata.parsed.charset + '">\n';
              break;
            case 'language':
            case 'lang':
              (l = ' lang="' + t.metadata.parsed[a] + '"'),
                (c += '<meta name="' + a + '" content="' + t.metadata.parsed[a] + '">\n');
              break;
            default:
              c += '<meta name="' + a + '" content="' + t.metadata.parsed[a] + '">\n';
          }
      return (
        (e = s + '<html' + l + '>\n<head>\n' + o + i + c + '</head>\n<body>\n' + e.trim() + '\n</body>\n</html>'),
        (e = t.converter._dispatch('completeHTMLDocument.after', e, r, t))
      );
    }),
    x.subParser('detab', function (e, r, t) {
      'use strict';
      return (
        (e = (e = (e = (e = (e = (e = t.converter._dispatch('detab.before', e, r, t)).replace(
          /\t(?=\t)/g,
          '    '
        )).replace(/\t/g, '¨A¨B')).replace(/¨B(.+?)¨A/g, function (e, r) {
          for (var t = r, a = 4 - (t.length % 4), n = 0; n < a; n++) t += ' ';
          return t;
        })).replace(/¨A/g, '    ')).replace(/¨B/g, '')),
        (e = t.converter._dispatch('detab.after', e, r, t))
      );
    }),
    x.subParser('ellipsis', function (e, r, t) {
      'use strict';
      return r.ellipsis
        ? ((e = (e = t.converter._dispatch('ellipsis.before', e, r, t)).replace(/\.\.\./g, '…')),
          t.converter._dispatch('ellipsis.after', e, r, t))
        : e;
    }),
    x.subParser('emoji', function (e, r, t) {
      'use strict';
      if (!r.emoji) return e;
      return (
        (e = (e = t.converter._dispatch('emoji.before', e, r, t)).replace(/:([\S]+?):/g, function (e, r) {
          return x.helper.emojis.hasOwnProperty(r) ? x.helper.emojis[r] : e;
        })),
        (e = t.converter._dispatch('emoji.after', e, r, t))
      );
    }),
    x.subParser('encodeAmpsAndAngles', function (e, r, t) {
      'use strict';
      return (
        (e = (e = (e = (e = (e = t.converter._dispatch('encodeAmpsAndAngles.before', e, r, t)).replace(
          /&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,
          '&amp;'
        )).replace(/<(?![a-z\/?$!])/gi, '&lt;')).replace(/</g, '&lt;')).replace(/>/g, '&gt;')),
        (e = t.converter._dispatch('encodeAmpsAndAngles.after', e, r, t))
      );
    }),
    x.subParser('encodeBackslashEscapes', function (e, r, t) {
      'use strict';
      return (
        (e = (e = (e = t.converter._dispatch('encodeBackslashEscapes.before', e, r, t)).replace(
          /\\(\\)/g,
          x.helper.escapeCharactersCallback
        )).replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g, x.helper.escapeCharactersCallback)),
        (e = t.converter._dispatch('encodeBackslashEscapes.after', e, r, t))
      );
    }),
    x.subParser('encodeCode', function (e, r, t) {
      'use strict';
      return (
        (e = (e = t.converter._dispatch('encodeCode.before', e, r, t))
          .replace(/&/g, '&amp;')
          .replace(/</g, '&lt;')
          .replace(/>/g, '&gt;')
          .replace(/([*_{}\[\]\\=~-])/g, x.helper.escapeCharactersCallback)),
        (e = t.converter._dispatch('encodeCode.after', e, r, t))
      );
    }),
    x.subParser('escapeSpecialCharsWithinTagAttributes', function (e, r, t) {
      'use strict';
      return (
        (e = (e = (e = t.converter._dispatch('escapeSpecialCharsWithinTagAttributes.before', e, r, t)).replace(
          /<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,
          function (e) {
            return e.replace(/(.)<\/?code>(?=.)/g, '$1`').replace(/([\\`*_~=|])/g, x.helper.escapeCharactersCallback);
          }
        )).replace(/<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi, function (e) {
          return e.replace(/([\\`*_~=|])/g, x.helper.escapeCharactersCallback);
        })),
        (e = t.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', e, r, t))
      );
    }),
    x.subParser('githubCodeBlocks', function (e, s, o) {
      'use strict';
      return s.ghCodeBlocks
        ? ((e = o.converter._dispatch('githubCodeBlocks.before', e, s, o)),
          (e = (e = (e += '¨0').replace(
            /(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,
            function (e, r, t, a) {
              let n = s.omitExtraWLInCodeBlocks ? '' : '\n';
              return (
                (a = x.subParser('encodeCode')(a, s, o)),
                (a =
                  '<pre><code' +
                  (t ? ' class="' + t + ' language-' + t + '"' : '') +
                  '>' +
                  (a = (a = (a = x.subParser('detab')(a, s, o)).replace(/^\n+/g, '')).replace(/\n+$/g, '')) +
                  n +
                  '</code></pre>'),
                (a = x.subParser('hashBlock')(a, s, o)),
                '\n\n¨G' + (o.ghCodeBlocks.push({ text: e, codeblock: a }) - 1) + 'G\n\n'
              );
            }
          )).replace(/¨0/, '')),
          o.converter._dispatch('githubCodeBlocks.after', e, s, o))
        : e;
    }),
    x.subParser('hashBlock', function (e, r, t) {
      'use strict';
      return (
        (e = (e = t.converter._dispatch('hashBlock.before', e, r, t)).replace(/(^\n+|\n+$)/g, '')),
        (e = '\n\n¨K' + (t.gHtmlBlocks.push(e) - 1) + 'K\n\n'),
        (e = t.converter._dispatch('hashBlock.after', e, r, t))
      );
    }),
    x.subParser('hashCodeTags', function (e, n, s) {
      'use strict';
      e = s.converter._dispatch('hashCodeTags.before', e, n, s);
      return (
        (e = x.helper.replaceRecursiveRegExp(
          e,
          function (e, r, t, a) {
            t = t + x.subParser('encodeCode')(r, n, s) + a;
            return '¨C' + (s.gHtmlSpans.push(t) - 1) + 'C';
          },
          '<code\\b[^>]*>',
          '</code>',
          'gim'
        )),
        (e = s.converter._dispatch('hashCodeTags.after', e, n, s))
      );
    }),
    x.subParser('hashElement', function (e, r, t) {
      'use strict';
      return function (e, r) {
        return (
          (r = (r = (r = r.replace(/\n\n/g, '\n')).replace(/^\n/, '')).replace(/\n+$/g, '')),
          (r = '\n\n¨K' + (t.gHtmlBlocks.push(r) - 1) + 'K\n\n')
        );
      };
    }),
    x.subParser('hashHTMLBlocks', function (e, r, n) {
      'use strict';
      e = n.converter._dispatch('hashHTMLBlocks.before', e, r, n);
      function t(e, r, t, a) {
        return (
          -1 !== t.search(/\bmarkdown\b/) && (e = t + n.converter.makeHtml(r) + a),
          '\n\n¨K' + (n.gHtmlBlocks.push(e) - 1) + 'K\n\n'
        );
      }
      let a = [
        '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',
        'p',
      ];
      r.backslashEscapesHTMLTags &&
        (e = e.replace(/\\<(\/?[^>]+?)>/g, function (e, r) {
          return '&lt;' + r + '&gt;';
        }));
      for (let s = 0; s < a.length; ++s)
        for (
          let o = new RegExp('^ {0,3}(<' + a[s] + '\\b[^>]*>)', 'im'),
            i = '<' + a[s] + '\\b[^>]*>',
            l = '</' + a[s] + '>';
          -1 !== (c = x.helper.regexIndexOf(e, o));

        ) {
          var c = x.helper.splitAtIndex(e, c),
            u = x.helper.replaceRecursiveRegExp(c[1], t, i, 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, x.subParser('hashElement')(e, r, n))),
        (e = (e = x.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, x.subParser('hashElement')(e, r, n))),
        (e = n.converter._dispatch('hashHTMLBlocks.after', e, r, n))
      );
    }),
    x.subParser('hashHTMLSpans', function (e, r, t) {
      'use strict';
      function a(e) {
        return '¨C' + (t.gHtmlSpans.push(e) - 1) + 'C';
      }
      return (
        (e = (e = (e = (e = (e = t.converter._dispatch('hashHTMLSpans.before', e, r, t)).replace(
          /<[^>]+?\/>/gi,
          a
        )).replace(/<([^>]+?)>[\s\S]*?<\/\1>/g, a)).replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g, a)).replace(
          /<[^>]+?>/gi,
          a
        )),
        (e = t.converter._dispatch('hashHTMLSpans.after', e, r, t))
      );
    }),
    x.subParser('unhashHTMLSpans', function (e, r, t) {
      'use strict';
      e = t.converter._dispatch('unhashHTMLSpans.before', e, r, t);
      for (let a = 0; a < t.gHtmlSpans.length; ++a) {
        for (var n = t.gHtmlSpans[a], s = 0; /¨C(\d+)C/.test(n); ) {
          var o = RegExp.$1,
            n = n.replace('¨C' + o + 'C', t.gHtmlSpans[o]);
          if (10 === s) {
            console.error('maximum nesting of 10 spans reached!!!');
            break;
          }
          ++s;
        }
        e = e.replace('¨C' + a + 'C', n);
      }
      return (e = t.converter._dispatch('unhashHTMLSpans.after', e, r, t));
    }),
    x.subParser('hashPreCodeTags', function (e, n, s) {
      'use strict';
      e = s.converter._dispatch('hashPreCodeTags.before', e, n, s);
      return (
        (e = x.helper.replaceRecursiveRegExp(
          e,
          function (e, r, t, a) {
            t = t + x.subParser('encodeCode')(r, n, s) + a;
            return '\n\n¨G' + (s.ghCodeBlocks.push({ text: e, codeblock: t }) - 1) + 'G\n\n';
          },
          '^ {0,3}<pre\\b[^>]*>\\s*<code\\b[^>]*>',
          '^ {0,3}</code>\\s*</pre>',
          'gim'
        )),
        (e = s.converter._dispatch('hashPreCodeTags.after', e, n, s))
      );
    }),
    x.subParser('headers', function (e, n, s) {
      'use strict';
      e = s.converter._dispatch('headers.before', e, n, s);
      var o = isNaN(parseInt(n.headerLevelStart)) ? 1 : parseInt(n.headerLevelStart),
        r = n.smoothLivePreview ? /^(.+)[ \t]*\n={2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n=+[ \t]*\n+/gm,
        t = n.smoothLivePreview ? /^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm : /^(.+)[ \t]*\n-+[ \t]*\n+/gm,
        r =
          ((e = (e = e.replace(r, function (e, r) {
            var t = x.subParser('spanGamut')(r, n, s),
              r = n.noHeaderId ? '' : ' id="' + i(r) + '"',
              r = '<h' + o + r + '>' + t + '</h' + o + '>';
            return x.subParser('hashBlock')(r, n, s);
          })).replace(t, function (e, r) {
            var t = x.subParser('spanGamut')(r, n, s),
              r = n.noHeaderId ? '' : ' id="' + i(r) + '"',
              a = o + 1,
              r = '<h' + a + r + '>' + t + '</h' + a + '>';
            return x.subParser('hashBlock')(r, n, s);
          })),
          n.requireSpaceBeforeHeadingText ? /^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm : /^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm);
      function i(e) {
        var r = (e = n.customizedHeaderId && (r = e.match(/\{([^{]+?)}\s*$/)) && r[1] ? r[1] : e),
          e = x.helper.isString(n.prefixHeaderId) ? n.prefixHeaderId : !0 === n.prefixHeaderId ? 'section-' : '';
        return (
          n.rawPrefixHeaderId || (r = e + r),
          (r = (
            n.ghCompatibleHeaderId
              ? r
                  .replace(/ /g, '-')
                  .replace(/&amp;/g, '')
                  .replace(/¨T/g, '')
                  .replace(/¨D/g, '')
                  .replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g, '')
              : n.rawHeaderId
              ? r
                  .replace(/ /g, '-')
                  .replace(/&amp;/g, '&')
                  .replace(/¨T/g, '¨')
                  .replace(/¨D/g, '$')
                  .replace(/["']/g, '-')
              : r.replace(/[^\w]/g, '')
          ).toLowerCase()),
          n.rawPrefixHeaderId && (r = e + r),
          s.hashLinkCounts[r] ? (r = r + '-' + s.hashLinkCounts[r]++) : (s.hashLinkCounts[r] = 1),
          r
        );
      }
      return (
        (e = e.replace(r, function (e, r, t) {
          var a = t,
            a = (n.customizedHeaderId && (a = t.replace(/\s?\{([^{]+?)}\s*$/, '')), x.subParser('spanGamut')(a, n, s)),
            t = n.noHeaderId ? '' : ' id="' + i(t) + '"',
            r = o - 1 + r.length,
            t = '<h' + r + t + '>' + a + '</h' + r + '>';
          return x.subParser('hashBlock')(t, n, s);
        })),
        (e = s.converter._dispatch('headers.after', e, n, s))
      );
    }),
    x.subParser('horizontalRule', function (e, r, t) {
      'use strict';
      e = t.converter._dispatch('horizontalRule.before', e, r, t);
      let a = x.subParser('hashBlock')('<hr />', r, t);
      return (
        (e = (e = (e = e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm, a)).replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm, a)).replace(
          /^ {0,2}( ?_){3,}[ \t]*$/gm,
          a
        )),
        (e = t.converter._dispatch('horizontalRule.after', e, r, t))
      );
    }),
    x.subParser('images', function (e, r, d) {
      'use strict';
      function l(e, r, t, a, n, s, o, i) {
        let l = d.gUrls,
          c = d.gTitles,
          u = d.gDimensions;
        if (((t = t.toLowerCase()), (i = i || ''), -1 < e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m))) a = '';
        else if ('' === a || null === a) {
          if (
            ((a = '#' + (t = '' !== t && null !== t ? t : r.toLowerCase().replace(/ ?\n/g, ' '))),
            x.helper.isUndefined(l[t]))
          )
            return e;
          (a = l[t]),
            x.helper.isUndefined(c[t]) || (i = c[t]),
            x.helper.isUndefined(u[t]) || ((n = u[t].width), (s = u[t].height));
        }
        r = r.replace(/"/g, '&quot;').replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback);
        e =
          '<img src="' +
          (a = a.replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)) +
          '" alt="' +
          r +
          '"';
        return (
          i &&
            x.helper.isString(i) &&
            (e +=
              ' title="' +
              (i = i
                .replace(/"/g, '&quot;')
                .replace(x.helper.regexes.asteriskDashAndColon, x.helper.escapeCharactersCallback)) +
              '"'),
          n &&
            s &&
            (e = e + (' width="' + (n = '*' === n ? 'auto' : n)) + '" height="' + (s = '*' === s ? 'auto' : s) + '"'),
          (e += ' />')
        );
      }
      return (
        (e = (e = (e = (e = (e = (e = d.converter._dispatch('images.before', e, r, d)).replace(
          /!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,
          l
        )).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, r, t, a, n, s, o, i) {
            return l(e, r, t, (a = a.replace(/\s/g, '')), n, s, 0, i);
          }
        )).replace(
          /!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,
          l
        )).replace(
          /!\[([^\]]*?)][ \t]*()\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,
          l
        )).replace(/!\[([^\[\]]+)]()()()()()/g, l)),
        (e = d.converter._dispatch('images.after', e, r, d))
      );
    }),
    x.subParser('italicsAndBold', function (e, r, t) {
      'use strict';
      return (
        (e = t.converter._dispatch('italicsAndBold.before', e, r, t)),
        (e = r.literalMidWordUnderscores
          ? (e = (e = e.replace(/\b___(\S[\s\S]*?)___\b/g, function (e, r) {
              return '<strong><em>' + r + '</em></strong>';
            })).replace(/\b__(\S[\s\S]*?)__\b/g, function (e, r) {
              return '<strong>' + r + '</strong>';
            })).replace(/\b_(\S[\s\S]*?)_\b/g, function (e, r) {
              return '<em>' + r + '</em>';
            })
          : (e = (e = e.replace(/___(\S[\s\S]*?)___/g, function (e, r) {
              return /\S$/.test(r) ? '<strong><em>' + r + '</em></strong>' : e;
            })).replace(/__(\S[\s\S]*?)__/g, function (e, r) {
              return /\S$/.test(r) ? '<strong>' + r + '</strong>' : e;
            })).replace(/_([^\s_][\s\S]*?)_/g, function (e, r) {
              return /\S$/.test(r) ? '<em>' + r + '</em>' : e;
            })),
        (e = r.literalMidWordAsterisks
          ? (e = (e = e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g, function (e, r, t) {
              return r + '<strong><em>' + t + '</em></strong>';
            })).replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g, function (e, r, t) {
              return r + '<strong>' + t + '</strong>';
            })).replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g, function (e, r, t) {
              return r + '<em>' + t + '</em>';
            })
          : (e = (e = e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g, function (e, r) {
              return /\S$/.test(r) ? '<strong><em>' + r + '</em></strong>' : e;
            })).replace(/\*\*(\S[\s\S]*?)\*\*/g, function (e, r) {
              return /\S$/.test(r) ? '<strong>' + r + '</strong>' : e;
            })).replace(/\*([^\s*][\s\S]*?)\*/g, function (e, r) {
              return /\S$/.test(r) ? '<em>' + r + '</em>' : e;
            })),
        (e = t.converter._dispatch('italicsAndBold.after', e, r, t))
      );
    }),
    x.subParser('lists', function (e, d, c) {
      'use strict';
      function p(e, r) {
        c.gListLevel++, (e = e.replace(/\n{2,}$/, '\n'));
        let t =
            /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,
          l = /\n[ \t]*\n(?!¨0)/.test((e += '¨0'));
        return (
          d.disableForced4SpacesIndentedSublists &&
            (t =
              /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),
          (e = (e = e.replace(t, function (e, r, t, a, n, s, o) {
            o = o && '' !== o.trim();
            var n = x.subParser('outdent')(n, d, c),
              i = '';
            return (
              s &&
                d.tasklists &&
                ((i = ' class="task-list-item" style="list-style-type: none;"'),
                (n = n.replace(/^[ \t]*\[(x|X| )?]/m, function () {
                  let e =
                    '<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"';
                  return o && (e += ' checked'), (e += '>');
                }))),
              (n = n.replace(/^([-*+]|\d\.)[ \t]+[\S\n ]*/g, function (e) {
                return '¨A' + e;
              })),
              (n =
                '<li' +
                i +
                '>' +
                (n = (n =
                  r || -1 < n.search(/\n{2,}/)
                    ? ((n = x.subParser('githubCodeBlocks')(n, d, c)), x.subParser('blockGamut')(n, d, c))
                    : ((n = (n = x.subParser('lists')(n, d, c)).replace(/\n$/, '')),
                      (n = (n = x.subParser('hashHTMLBlocks')(n, d, c)).replace(/\n\n+/g, '\n\n')),
                      (l ? x.subParser('paragraphs') : x.subParser('spanGamut'))(n, d, c))).replace('¨A', '')) +
                '</li>\n')
            );
          })).replace(/¨0/g, '')),
          c.gListLevel--,
          (e = r ? e.replace(/\s+$/, '') : e)
        );
      }
      function h(e, r) {
        if ('ol' === r) {
          r = e.match(/^ *(\d+)\./);
          if (r && '1' !== r[1]) return ' start="' + r[1] + '"';
        }
        return '';
      }
      function n(n, s, o) {
        let e,
          i = d.disableForced4SpacesIndentedSublists ? /^ ?\d+\.[ \t]/gm : /^ {0,3}\d+\.[ \t]/gm,
          l = d.disableForced4SpacesIndentedSublists ? /^ ?[*+-][ \t]/gm : /^ {0,3}[*+-][ \t]/gm,
          c = 'ul' === s ? i : l,
          u = '';
        return (
          -1 !== n.search(c)
            ? (function e(r) {
                let t = r.search(c),
                  a = h(n, s);
                -1 !== t
                  ? ((u += '\n\n<' + s + a + '>\n' + p(r.slice(0, t), !!o) + '</' + s + '>\n'),
                    (c = 'ul' === (s = 'ul' === s ? 'ol' : 'ul') ? i : l),
                    e(r.slice(t)))
                  : (u += '\n\n<' + s + a + '>\n' + p(r, !!o) + '</' + s + '>\n');
              })(n)
            : ((e = h(n, s)), (u = '\n\n<' + s + e + '>\n' + p(n, !!o) + '</' + s + '>\n')),
          u
        );
      }
      return (
        (e = c.converter._dispatch('lists.before', e, d, c)),
        (e += '¨0'),
        (e = (e = c.gListLevel
          ? e.replace(
              /^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,
              function (e, r, t) {
                return n(r, -1 < t.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, r, t, a) {
                return n(t, -1 < a.search(/[*+-]/g) ? 'ul' : 'ol', !1);
              }
            )).replace(/¨0/, '')),
        (e = c.converter._dispatch('lists.after', e, d, c))
      );
    }),
    x.subParser('metadata', function (e, r, a) {
      'use strict';
      return r.metadata
        ? ((e = (e = (e = (e = a.converter._dispatch('metadata.before', e, r, a)).replace(
            /^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,
            function (e, r, t) {
              return n(t), '¨M';
            }
          )).replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/, function (e, r, t) {
            return r && (a.metadata.format = r), n(t), '¨M';
          })).replace(/¨M/g, '')),
          a.converter._dispatch('metadata.after', e, r, a))
        : e;
      function n(e) {
        (e = (e = (a.metadata.raw = e).replace(/&/g, '&amp;').replace(/"/g, '&quot;')).replace(/\n {4}/g, ' ')).replace(
          /^([\S ]+): +([\s\S]+?)$/gm,
          function (e, r, t) {
            return (a.metadata.parsed[r] = t), '';
          }
        );
      }
    }),
    x.subParser('outdent', function (e, r, t) {
      'use strict';
      return (
        (e = (e = (e = t.converter._dispatch('outdent.before', e, r, t)).replace(/^(\t|[ ]{1,4})/gm, '¨0')).replace(
          /¨0/g,
          ''
        )),
        (e = t.converter._dispatch('outdent.after', e, r, t))
      );
    }),
    x.subParser('paragraphs', function (e, r, t) {
      'use strict';
      for (
        var a = (e = (e = (e = t.converter._dispatch('paragraphs.before', e, r, t)).replace(/^\n+/g, '')).replace(
            /\n+$/g,
            ''
          )).split(/\n{2,}/g),
          n = [],
          s = a.length,
          o = 0;
        o < s;
        o++
      ) {
        let i = a[o];
        0 <= i.search(/¨(K|G)(\d+)\1/g)
          ? n.push(i)
          : 0 <= i.search(/\S/) &&
            ((i = (i = x.subParser('spanGamut')(i, r, t)).replace(/^([ \t]*)/g, '<p>')), (i += '</p>'), n.push(i));
      }
      for (s = n.length, o = 0; o < s; o++) {
        for (var l = '', c = n[o], u = !1; /¨(K|G)(\d+)\1/.test(c); ) {
          let d = RegExp.$1,
            p = RegExp.$2;
          (l = (l =
            'K' === d
              ? t.gHtmlBlocks[p]
              : u
              ? x.subParser('encodeCode')(t.ghCodeBlocks[p].text, r, t)
              : t.ghCodeBlocks[p].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[o] = c;
      }
      return (
        (e = (e = (e = n.join('\n')).replace(/^\n+/g, '')).replace(/\n+$/g, '')),
        t.converter._dispatch('paragraphs.after', e, r, t)
      );
    }),
    x.subParser('runExtension', function (e, r, t, a) {
      'use strict';
      return (
        e.filter
          ? (r = e.filter(r, a.converter, t))
          : e.regex && ((a = e.regex) instanceof RegExp || (a = new RegExp(a, 'g')), (r = r.replace(a, e.replace))),
        r
      );
    }),
    x.subParser('spanGamut', function (e, r, t) {
      'use strict';
      return (
        (e = t.converter._dispatch('spanGamut.before', e, r, t)),
        (e = x.subParser('codeSpans')(e, r, t)),
        (e = x.subParser('escapeSpecialCharsWithinTagAttributes')(e, r, t)),
        (e = x.subParser('encodeBackslashEscapes')(e, r, t)),
        (e = x.subParser('images')(e, r, t)),
        (e = x.subParser('anchors')(e, r, t)),
        (e = x.subParser('autoLinks')(e, r, t)),
        (e = x.subParser('simplifiedAutoLinks')(e, r, t)),
        (e = x.subParser('emoji')(e, r, t)),
        (e = x.subParser('underline')(e, r, t)),
        (e = x.subParser('italicsAndBold')(e, r, t)),
        (e = x.subParser('strikethrough')(e, r, t)),
        (e = x.subParser('ellipsis')(e, r, t)),
        (e = x.subParser('hashHTMLSpans')(e, r, t)),
        (e = x.subParser('encodeAmpsAndAngles')(e, r, t)),
        r.simpleLineBreaks
          ? /\n\n¨K/.test(e) || (e = e.replace(/\n+/g, '<br />\n'))
          : (e = e.replace(/  +\n/g, '<br />\n')),
        (e = t.converter._dispatch('spanGamut.after', e, r, t))
      );
    }),
    x.subParser('strikethrough', function (e, t, a) {
      'use strict';
      return (
        t.strikethrough &&
          ((e = (e = a.converter._dispatch('strikethrough.before', e, t, a)).replace(
            /(?:~){2}([\s\S]+?)(?:~){2}/g,
            function (e, r) {
              return (
                (r = r),
                '<del>' + (r = t.simplifiedAutoLink ? x.subParser('simplifiedAutoLinks')(r, t, a) : r) + '</del>'
              );
            }
          )),
          (e = a.converter._dispatch('strikethrough.after', e, t, a))),
        e
      );
    }),
    x.subParser('stripLinkDefinitions', function (i, l, c) {
      'use strict';
      function e(e, r, t, a, n, s, o) {
        return (
          (r = r.toLowerCase()),
          i.toLowerCase().split(r).length - 1 < 2
            ? e
            : (t.match(/^data:.+?\/.+?;base64,/)
                ? (c.gUrls[r] = t.replace(/\s/g, ''))
                : (c.gUrls[r] = x.subParser('encodeAmpsAndAngles')(t, l, c)),
              s
                ? s + o
                : (o && (c.gTitles[r] = o.replace(/"|'/g, '&quot;')),
                  l.parseImgDimensions && a && n && (c.gDimensions[r] = { width: a, height: n }),
                  ''))
        );
      }
      return (i = (i = (i = (i += '¨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/, ''));
    }),
    x.subParser('tables', function (e, y, P) {
      'use strict';
      if (!y.tables) return e;
      function r(e) {
        for (var r = e.split('\n'), t = 0; t < r.length; ++t)
          /^ {0,3}\|/.test(r[t]) && (r[t] = r[t].replace(/^ {0,3}\|/, '')),
            /\|[ \t]*$/.test(r[t]) && (r[t] = r[t].replace(/\|[ \t]*$/, '')),
            (r[t] = x.subParser('codeSpans')(r[t], y, P));
        let a,
          n,
          s,
          o,
          i,
          l = r[0].split('|').map(function (e) {
            return e.trim();
          }),
          c = r[1].split('|').map(function (e) {
            return e.trim();
          }),
          u = [],
          d = [],
          p = [],
          h = [];
        for (r.shift(), r.shift(), t = 0; t < r.length; ++t)
          '' !== r[t].trim() &&
            u.push(
              r[t].split('|').map(function (e) {
                return e.trim();
              })
            );
        if (l.length < c.length) return e;
        for (t = 0; t < c.length; ++t)
          p.push(
            ((a = c[t]),
            /^:[ \t]*--*$/.test(a)
              ? ' style="text-align:left;"'
              : /^--*[ \t]*:[ \t]*$/.test(a)
              ? ' style="text-align:right;"'
              : /^:[ \t]*--*[ \t]*:$/.test(a)
              ? ' style="text-align:center;"'
              : '')
          );
        for (t = 0; t < l.length; ++t)
          x.helper.isUndefined(p[t]) && (p[t] = ''),
            d.push(
              ((n = l[t]),
              (s = p[t]),
              void 0,
              (o = ''),
              (n = n.trim()),
              // @MODIFY: 避免最后一列有多余空列，最后一列时，如果单元格为空，则不生成th
              (n === '<br>' || n === '<br />' || n === '') && t === l.length - 1
                ? ''
                : '<th' +
                  (o = y.tablesHeaderId || y.tableHeaderId ? ' id="' + n.replace(/ /g, '_').toLowerCase() + '"' : o) +
                  s +
                  '>' +
                  (n = x.subParser('spanGamut')(n, y, P)) +
                  '</th>\n')
            );
        for (t = 0; t < u.length; ++t) {
          for (var _ = [], g = 0; g < d.length; ++g)
            x.helper.isUndefined(u[t][g]),
              _.push(
                // @MODIFY: 避免最后一列有多余空列，最后一列时，如果单元格为空，则不生成td
                ((i = u[t][g]),
                !d[g] && g === d.length - 1 ? '' : '<td' + p[g] + '>' + x.subParser('spanGamut')(i, y, P) + '</td>\n')
              );
          h.push(_);
        }
        for (var m = d, f = h, b = '<table>\n<thead>\n<tr>\n', w = m.length, k = 0; k < w; ++k) b += m[k];
        for (b += '</tr>\n</thead>\n<tbody>\n', k = 0; k < f.length; ++k) {
          b += '<tr>\n';
          for (let v = 0; v < w; ++v) b += f[k][v];
          b += '</tr>\n';
        }
        return (b += '</tbody>\n</table>\n');
      }
      return (
        (e = (e = (e = (e = P.converter._dispatch('tables.before', e, y, P)).replace(
          /\\(\|)/g,
          x.helper.escapeCharactersCallback
        )).replace(
          // @MODIFY: 改成下一行是空格，且第二行不是|开头，则结束表格
          /^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n(?![|])|¨0)/gm,
          r
        )).replace(
          /^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n(?![|])|¨0)/gm,
          r
        )),
        (e = P.converter._dispatch('tables.after', e, y, P))
      );
    }),
    x.subParser('underline', function (e, r, t) {
      'use strict';
      return r.underline
        ? ((e = t.converter._dispatch('underline.before', e, r, t)),
          (e = (e = r.literalMidWordUnderscores
            ? (e = e.replace(/\b___(\S[\s\S]*?)___\b/g, function (e, r) {
                return '<u>' + r + '</u>';
              })).replace(/\b__(\S[\s\S]*?)__\b/g, function (e, r) {
                return '<u>' + r + '</u>';
              })
            : (e = e.replace(/___(\S[\s\S]*?)___/g, function (e, r) {
                return /\S$/.test(r) ? '<u>' + r + '</u>' : e;
              })).replace(/__(\S[\s\S]*?)__/g, function (e, r) {
                return /\S$/.test(r) ? '<u>' + r + '</u>' : e;
              })).replace(/(_)/g, x.helper.escapeCharactersCallback)),
          t.converter._dispatch('underline.after', e, r, t))
        : e;
    }),
    x.subParser('unescapeSpecialChars', function (e, r, t) {
      'use strict';
      return (
        (e = (e = t.converter._dispatch('unescapeSpecialChars.before', e, r, t)).replace(/¨E(\d+)E/g, function (e, r) {
          r = parseInt(r);
          return String.fromCharCode(r);
        })),
        (e = t.converter._dispatch('unescapeSpecialChars.after', e, r, t))
      );
    }),
    x.subParser('makeMarkdown.blockquote', function (e, r) {
      'use strict';
      let t = '';
      if (e.hasChildNodes())
        for (let a = e.childNodes, n = a.length, s = 0; s < n; ++s) {
          let o = x.subParser('makeMarkdown.node')(a[s], r);
          '' !== o && (t += o);
        }
      return (t = '> ' + (t = t.trim()).split('\n').join('\n> '));
    }),
    x.subParser('makeMarkdown.codeBlock', function (e, r) {
      'use strict';
      var t = e.getAttribute('language'),
        e = e.getAttribute('precodenum');
      return '```' + t + '\n' + r.preList[e] + '\n```';
    }),
    x.subParser('makeMarkdown.codeSpan', function (e) {
      'use strict';
      return '`' + e.innerHTML + '`';
    }),
    x.subParser('makeMarkdown.emphasis', function (e, r) {
      'use strict';
      let t = '';
      if (e.hasChildNodes()) {
        t += '*';
        for (let a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser('makeMarkdown.node')(a[s], r);
        t += '*';
      }
      return t;
    }),
    x.subParser('makeMarkdown.header', function (e, r, t) {
      'use strict';
      var t = new Array(t + 1).join('#'),
        a = '';
      if (e.hasChildNodes())
        for (var a = t + ' ', n = e.childNodes, s = n.length, o = 0; o < s; ++o)
          a += x.subParser('makeMarkdown.node')(n[o], r);
      return a;
    }),
    x.subParser('makeMarkdown.hr', function () {
      'use strict';
      return '---';
    }),
    x.subParser('makeMarkdown.image', function (e) {
      'use strict';
      let r = '';
      return (
        e.hasAttribute('src') &&
          ((r = (r += '![' + e.getAttribute('alt') + '](') + '<' + e.getAttribute('src') + '>'),
          e.hasAttribute('width') &&
            e.hasAttribute('height') &&
            (r += ' =' + e.getAttribute('width') + 'x' + e.getAttribute('height')),
          e.hasAttribute('title') && (r += ' "' + e.getAttribute('title') + '"'),
          (r += ')')),
        r
      );
    }),
    x.subParser('makeMarkdown.links', function (e, r) {
      'use strict';
      var t = '';
      if (e.hasChildNodes() && e.hasAttribute('href')) {
        for (var a = e.childNodes, n = a.length, t = '[', s = 0; s < n; ++s)
          t += x.subParser('makeMarkdown.node')(a[s], r);
        (t = (t += '](') + ('<' + e.getAttribute('href') + '>')),
          e.hasAttribute('title') && (t += ' "' + e.getAttribute('title') + '"'),
          (t += ')');
      }
      return t;
    }),
    x.subParser('makeMarkdown.list', function (e, r, t) {
      'use strict';
      let a = '';
      if (!e.hasChildNodes()) return '';
      for (let n = e.childNodes, s = n.length, o = e.getAttribute('start') || 1, i = 0; i < s; ++i)
        void 0 !== n[i].tagName &&
          'li' === n[i].tagName.toLowerCase() &&
          ((a += ('ol' === t ? o.toString() + '. ' : '- ') + x.subParser('makeMarkdown.listItem')(n[i], r)), ++o);
      return (a += '\n\x3c!-- --\x3e\n').trim();
    }),
    x.subParser('makeMarkdown.listItem', function (e, r) {
      'use strict';
      for (var t = '', a = e.childNodes, n = a.length, s = 0; s < n; ++s)
        t += x.subParser('makeMarkdown.node')(a[s], r);
      return (
        /\n$/.test(t)
          ? (t = t
              .split('\n')
              .join('\n    ')
              .replace(/^ {4}$/gm, '')
              .replace(/\n\n+/g, '\n\n'))
          : (t += '\n'),
        t
      );
    }),
    x.subParser('makeMarkdown.node', function (e, r, t) {
      'use strict';
      t = t || !1;
      let a = '';
      if (3 === e.nodeType) return x.subParser('makeMarkdown.txt')(e, r);
      if (8 === e.nodeType) return '\x3c!--' + e.data + '--\x3e\n\n';
      if (1 !== e.nodeType) return '';
      switch (e.tagName.toLowerCase()) {
        case 'h1':
          t || (a = x.subParser('makeMarkdown.header')(e, r, 1) + '\n\n');
          break;
        case 'h2':
          t || (a = x.subParser('makeMarkdown.header')(e, r, 2) + '\n\n');
          break;
        case 'h3':
          t || (a = x.subParser('makeMarkdown.header')(e, r, 3) + '\n\n');
          break;
        case 'h4':
          t || (a = x.subParser('makeMarkdown.header')(e, r, 4) + '\n\n');
          break;
        case 'h5':
          t || (a = x.subParser('makeMarkdown.header')(e, r, 5) + '\n\n');
          break;
        case 'h6':
          t || (a = x.subParser('makeMarkdown.header')(e, r, 6) + '\n\n');
          break;
        case 'p':
          t || (a = x.subParser('makeMarkdown.paragraph')(e, r) + '\n\n');
          break;
        case 'blockquote':
          t || (a = x.subParser('makeMarkdown.blockquote')(e, r) + '\n\n');
          break;
        case 'hr':
          t || (a = x.subParser('makeMarkdown.hr')(e, r) + '\n\n');
          break;
        case 'ol':
          t || (a = x.subParser('makeMarkdown.list')(e, r, 'ol') + '\n\n');
          break;
        case 'ul':
          t || (a = x.subParser('makeMarkdown.list')(e, r, 'ul') + '\n\n');
          break;
        case 'precode':
          t || (a = x.subParser('makeMarkdown.codeBlock')(e, r) + '\n\n');
          break;
        case 'pre':
          t || (a = x.subParser('makeMarkdown.pre')(e, r) + '\n\n');
          break;
        case 'table':
          t || (a = x.subParser('makeMarkdown.table')(e, r) + '\n\n');
          break;
        case 'code':
          a = x.subParser('makeMarkdown.codeSpan')(e, r);
          break;
        case 'em':
        case 'i':
          a = x.subParser('makeMarkdown.emphasis')(e, r);
          break;
        case 'strong':
        case 'b':
          a = x.subParser('makeMarkdown.strong')(e, r);
          break;
        case 'del':
          a = x.subParser('makeMarkdown.strikethrough')(e, r);
          break;
        case 'a':
          a = x.subParser('makeMarkdown.links')(e, r);
          break;
        case 'img':
          a = x.subParser('makeMarkdown.image')(e, r);
          break;
        default:
          a = e.outerHTML + '\n\n';
      }
      return a;
    }),
    x.subParser('makeMarkdown.paragraph', function (e, r) {
      'use strict';
      let t = '';
      if (e.hasChildNodes())
        for (let a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser('makeMarkdown.node')(a[s], r);
      return (t = t.trim());
    }),
    x.subParser('makeMarkdown.pre', function (e, r) {
      'use strict';
      e = e.getAttribute('prenum');
      return '<pre>' + r.preList[e] + '</pre>';
    }),
    x.subParser('makeMarkdown.strikethrough', function (e, r) {
      'use strict';
      let t = '';
      if (e.hasChildNodes()) {
        t += '~~';
        for (let a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser('makeMarkdown.node')(a[s], r);
        t += '~~';
      }
      return t;
    }),
    x.subParser('makeMarkdown.strong', function (e, r) {
      'use strict';
      let t = '';
      if (e.hasChildNodes()) {
        t += '**';
        for (let a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser('makeMarkdown.node')(a[s], r);
        t += '**';
      }
      return t;
    }),
    x.subParser('makeMarkdown.table', function (e, r) {
      'use strict';
      for (
        var t = '', a = [[], []], n = e.querySelectorAll('thead>tr>th'), s = e.querySelectorAll('tbody>tr'), o = 0;
        o < n.length;
        ++o
      ) {
        let i = x.subParser('makeMarkdown.tableCell')(n[o], r),
          l = '---';
        if (n[o].hasAttribute('style'))
          switch (n[o].getAttribute('style').toLowerCase().replace(/\s/g, '')) {
            case 'text-align:left;':
              l = ':---';
              break;
            case 'text-align:right;':
              l = '---:';
              break;
            case 'text-align:center;':
              l = ':---:';
          }
        (a[0][o] = i.trim()), (a[1][o] = l);
      }
      for (o = 0; o < s.length; ++o)
        for (var c = a.push([]) - 1, u = s[o].getElementsByTagName('td'), d = 0; d < n.length; ++d) {
          let p = ' ';
          void 0 !== u[d] && (p = x.subParser('makeMarkdown.tableCell')(u[d], r)), a[c].push(p);
        }
      let h = 3;
      for (o = 0; o < a.length; ++o)
        for (d = 0; d < a[o].length; ++d) {
          let _ = a[o][d].length;
          h < _ && (h = _);
        }
      for (o = 0; o < a.length; ++o) {
        for (d = 0; d < a[o].length; ++d)
          1 === o
            ? ':' === a[o][d].slice(-1)
              ? (a[o][d] = x.helper.padEnd(a[o][d].slice(-1), h - 1, '-') + ':')
              : (a[o][d] = x.helper.padEnd(a[o][d], h, '-'))
            : (a[o][d] = x.helper.padEnd(a[o][d], h));
        t += '| ' + a[o].join(' | ') + ' |\n';
      }
      return t.trim();
    }),
    x.subParser('makeMarkdown.tableCell', function (e, r) {
      'use strict';
      let t = '';
      if (!e.hasChildNodes()) return '';
      for (let a = e.childNodes, n = a.length, s = 0; s < n; ++s) t += x.subParser('makeMarkdown.node')(a[s], r, !0);
      return t.trim();
    }),
    x.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 = x.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]:'
        ))
      );
    });
  'function' === typeof define && define.amd
    ? define(function () {
        'use strict';
        return x;
      })
    : 'undefined' !== typeof module && module.exports
    ? (module.exports = x)
    : (this.showdown = x);
}.call(this);
//# sourceMappingURL=showdown.min.js.map
