text: 'use strict';
  /** @type {!Array} */
  var _0x5851 = ["getTargetPosition", "getBoundingClientRect", "pageYOffset", "pageXOffset", "MaxMousemoveSamplingFrequence", "scrollLeft", "pushNewFrame", "text/html", "getElementsByClassName", "innerHTML", "setTarget", "EventEmitter", "HTMLElement", "Target\u4e0d\u662fHTMLElement\u7c7b\u578b", "getTarget", "_events", "_maxListeners", "defaultMaxListeners", "n must be a positive number", "context", "newListener", "listener", "warned", "(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",
      "trace", "once", "removeListener", "removeAllListeners", "listenerCount", "symbol", "constructor", "width", "height", "scene", "timestamp", "frames", "getFrames", "rootOpts", "cursorY", "scrollX", "eventType", "toJSON", "Base64", "fromCharCode", "charCodeAt", "charAt", "from", "base64", "[\u00f0-\u00f7][\u0080-\u00bf]{3}", "atob", "2.4.0", "extendString", "toBase64", "toBase64URI", "Meteor", "TYPED_ARRAY_SUPPORT", "string", "'length' is out of bounds", "isEncoding", "copy", "buffer", "Buffer", "data",
      " bytes", "isView", "byteLength", "ascii", "binary", "utf16le", "Invalid hex string", "min", "offset is not uint", "isBuffer", '"value" argument is out of bounds', "Index out of range", "write", "Invalid code point", "toByteArray", "alloc", "subarray", "kMaxLength", "poolSize", "_augment", "species", "allocUnsafeSlow", "_isBuffer", "hex", "allocUnsafe", "swap16", "swap64", "utf-8", "fromByteArray", "ucs2", "utf-16le", "compare", " ... ", "<Buffer ", "Argument must be a Buffer", "utf8", "latin1",
      "ucs-2", "readUIntLE", "readUInt8", "pow", "readInt16BE", "readFloatLE", "readFloatBE", "read", "writeUIntLE", "writeUIntBE", "writeUInt8", "writeUInt32LE", "writeIntBE", "floor", "writeInt16LE", "writeFloatLE", "writeFloatBE", "writeDoubleBE", "targetStart out of bounds", "encoding must be a string", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", "abs", "log", "LN2", "[object Array]", "cache", "hasId", "getActionsLength", "setRequestHeader", "Content-Type", "_decompress", "_compress",
      "decompress", "val", "position", "index", "exports", "fundebug", "call", "addEventListener", "all", "redo", "unhandledrejection", "error", "undefined", "push", "join", "hasOwnProperty", "number", "apikey", "maxEventNumber", "silent", "getBreadcrumbs", "userAgent", "navigator", "href", "fileName", "lineNumber", "columnNumber", "severity", "target", "isFiltered", "filters", "sampleRate", "open", "application/json", "src", "?event=", "keys", "test", "inexistence", "length", "verifyApiKey", "event",
      "callee", "caller", "generated-stack:\n", "sourceURL", "line", "column", "message", "silentResource", "outerHTML", "slice", "resourceError", "parentNode", "nodeName", "nextSibling", "localName", "splice", "unshift", "previousElementSibling", " > ", "timeStamp", "location", "match", "Fundebug", "HEAD", "send", "status", "XMLHttpRequest", "prototype", "getTime", "responseURL", "method", "detail", "statusText", "response", "silentBehavior", "apply", "fetch", "title", "GET", "url", "WebSocket", "onerror",
      "configurable", "defineProperty", "set", "notifyError", "console", "caught", "user", "notify", "name", "warning", "stack", "replace", "notification", "fundebug.com", "host", "\u8bf7\u914d\u7f6eapikey", "className", "click", "attachEvent", "onreadystatechange", "onpopstate", "pushState", "history", "addBreadcrumb", "silentConsole", "function", "warn", "info", "DOMContentLoaded", "currentScript", "scripts", "getAttribute", "false", "silentHttp", "silentVideo", "silentvideo", "silentbehavior", "silentDev",
      "releasestage", "loaded", "__esModule", "key", "token", "http://localhost:3000/summary", "recorder", "redoIntervalId", "default", "sendToServer", "stringify", "compressToUTF16", "initAction", "monitorRedo", "Recorder", "fun_recording", "getVedio", "start", "observer", "disconnect", "parseMutations", "initInput", "textarea", "select", "type", "querySelectorAll", "map", "password", "radio", "checkbox", "checked", "funId", "uniqueID", "timeSpanCount", "vedio", "actions", "pushFragmentToSequence", "checkToshiftSequence",
      "sequence", "Invalid request opion. attribute must be a non-zero length string.", "trim", "Invalid request option. invalid attribute name: ", "split", "toLowerCase", "__extends", "values", "ID_PROP", "get", "nodeId", "has", "delete", "nodes", "isIndex", "STAYED_OUT", "ENTERED", "STAYED_IN", "REORDERED", "characterData", "oldParentNode", "node", "ownerDocument", "isCaseInsensitive", "attributeOldValues", "childList", "added", "getOldParent", "oldPrevious", "anyAttributesChanged", "removedNodes", "removedFromParent",
      "addedNodes", "attributes", "oldValue", "anyCharacterDataChanged", "characterDataMutated", "getChange", "reachableCache", "getIsReachable", "rootNode", "wasReachableCache", "getWasReachable", "calcReordered", "entered", "treeChanges", "visitNode", "reachabilityChange", "matchabilityChange", "REPARENTED", "wasReordered", "firstChild", "childListChangeMap", "getChanged", "removed", "reparented", "reordered", "exited", "EXITED", "getOldAttribute", "getOldAttribute requested on invalid node.", "getAttributeNamesMutated",
      "characterDataOldValue", "matchCache", "uid", "nodeType", "selectors", "computeMatchabilityChange", "mutations", "getChildlistChange", "previousSibling", "maybeMoved", "moved", "anyParentsChanged", "processChildlistChanges", "forEach", "projection", "element", "attribute", "attributeChanged", "getOldPreviousSibling", "getOldParentNode", "getOldCharacterData", "matches", "contains", "attrValue", "attrName", "selectorString", "tagName", "matchesSelector", "qualifiers", "wasMatching", "Invalid or unsupported selector syntax.",
      "class", "createElement", "mozMatchesSelector", "No Engine", "validateOptions", "createObserverOptions", "options", "root", "callback", "elementFilter", "queries", "createQueryValidator", "observerCallback", "attributeList", "attributeFilter", "Invalid options: queries must contain at least one query request object.", "observeOwnChanges", "parseSelectors", "elementAttributes", "Invalid request option. Unknown query request.", "checkpointQueryValidators", "validate", "changesToReport", "some", "observerOptions",
      "Not connected", "createSummaries", "takeSummaries", "NodeMap", "parseElementFilter", "optionKeys", "funContent", "isSmallContent", "indexOf", "concat", "isEmptyObject", "fromList", "random", "toString", "Cannot call a class as a function", "textContent", "oldPreviousSibling", "selfSelector", "pinpoint", "getPinpoint", "show", "getValue", "too deep for calculateElementLocalSelector", "includes", "#comment", "#text", "nextElementSibling", "calculatePinpoint", "calculateSelfSelector", ":eq(", "selfNode",
      "enumerable", "writable", "value", "redoableElement", "setAttributeList", "changedAttributeList", "inputType", "eleType", "getSelfSelector", "input", "__proto__", "events", "scroll", "resize", "mousemoveSamplingFrequence", "fun_recording_start", "isRecording", "create", "setPrototypeOf", "emit", "onEventCallback", "getListener", "top", "left", "style", "scrollY", "scrollTop", "clientWidth", "innerHeight", "body"
  ];
  ! function (ballSets, partKeys) {
      ! function (canCreateDiscussions) {
          for (; --canCreateDiscussions;) {
              ballSets.push(ballSets.shift());
          }
      }(++partKeys);
  }(_0x5851, 136);
  /**
   * @param {string} m
   * @param {?} _succeeded
   * @return {?}
   */
  var _0x2c7b = function (m, _succeeded) {
      return _0x5851[m = m - 0];
  };
  ! function (context, factory) {
      if ("object" == typeof exports && "object" == typeof module) {
          module[_0x2c7b("0x0")] = factory();
      } else {
          if ("function" == typeof define && define.amd) {
              define([], factory);
          } else {
              if ("object" == typeof exports) {
                  exports[_0x2c7b("0x1")] = factory();
              } else {
                  context[_0x2c7b("0x1")] = factory();
              }
          }
      }
  }(this, function () {
      return function (modules) {
          /**
           * @param {number} moduleId
           * @return {?}
           */
          function __webpack_require__(moduleId) {
              if (installedModules[moduleId]) {
                  return installedModules[moduleId].exports;
              }
              var module = installedModules[moduleId] = {
                  exports: {},
                  id: moduleId,
                  loaded: false
              };
              return modules[moduleId][_0x2c7b("0x2")](module[_0x2c7b("0x0")], module, module.exports, __webpack_require__), module.loaded = true, module.exports;
          }
          var installedModules = {};
          return __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.p = "", __webpack_require__(0);
      }([function (module, canCreateDiscussions, require) {
          var i = require(1);
          var $ = require(6);
          var sprintf = require(8);
          var clearMarks = require(9);
          var removeClass = require(10);
          var getPreceedingAndSucceedingTokens = require(11);
          var addClass = require(12);
          var joinClasses = require(13);
          var generate = require(14);
          var tt = require(15);
          var storageService = require(16);
          var classes = require(17);
          /** @type {null} */
          var Parser = null;
          var c = {};
          var editor = storageService.getConfig();
          if (document[_0x2c7b("0x3")]) {
              document[_0x2c7b("0x3")]("DOMContentLoaded", function () {
                  if (!(document[_0x2c7b("0x4")] || editor.silentVideo)) {
                      if (Parser = require(18)) {
                          c.redo = new Parser("fundebug-redo", {});
                          c[_0x2c7b("0x5")].init();
                      }
                  }
              });
          }
          i(editor, c, classes);
          $(editor, c, classes);
          sprintf(editor, c, classes);
          clearMarks(editor, c, classes);
          removeClass(editor, c, classes);
          getPreceedingAndSucceedingTokens(editor, c, classes);
          addClass(editor, c, classes);
          joinClasses(editor, classes);
          generate(editor, classes);
          tt(editor, classes);
          window[_0x2c7b("0x1")] = editor;
          module.exports = editor;
      }, function (mixin, canCreateDiscussions, saveNotifs) {
          var show_fn = saveNotifs(2);
          /**
           * @param {?} req
           * @param {?} con
           * @param {?} rssList
           * @return {undefined}
           */
          mixin.exports = function (req, con, rssList) {
              if (_0x2c7b("0x3") in window) {
                  window.addEventListener("unhandledrejection", function (event) {
                      try {
                          var doc = {
                              type: _0x2c7b("0x6"),
                              name: "unhandledrejection",
                              message: event.reason
                          };
                          show_fn(doc, req, con, rssList);
                      } catch (previousState) {
                          console[_0x2c7b("0x7")](previousState);
                      }
                  });
              }
          };
      }, function (mixin, canCreateDiscussions, windowJquery) {
          /**
           * @param {string} a
           * @return {?}
           */
          function fn(a) {
              if (_0x2c7b("0x8") != typeof JSON) {
                  return JSON.stringify(a);
              }
              if (a instanceof Array) {
                  /** @type {!Array} */
                  var elem = [];
                  /** @type {number} */
                  var i = 0;
                  for (; i < a.length; i++) {
                      elem[_0x2c7b("0x9")](fn(a[i]));
                  }
                  return "[" + elem[_0x2c7b("0xa")](",") + "]";
              }
              /** @type {!Array} */
              var dataType = [];
              var c;
              for (c in a) {
                  if (a[_0x2c7b("0xb")](c)) {
                      /** @type {string} */
                      var value = '"' + c + '":';
                      var key = a[c];
                      if (key) {
                          if ("object" == typeof key) {
                              /** @type {string} */
                              value = value + fn(key);
                          } else {
                              if (_0x2c7b("0xc") == typeof key) {
                                  /** @type {string} */
                                  value = value + key;
                              } else {
                                  /** @type {string} */
                                  value = value + '"' + key.replace(/\n/g, "\\n") + '"';
                              }
                          }
                          dataType[_0x2c7b("0x9")](value);
                      }
                  }
              }
              return "{" + dataType.join(",") + "}";
          }
          var element = windowJquery(3);
          var exports = windowJquery(4);
          var checkedSubscribe = windowJquery(5);
          /**
           * @param {!Object} data
           * @param {!Object} args
           * @param {?} locale
           * @param {?} mergeNumbers
           * @return {undefined}
           */
          mixin.exports = function (data, args, locale, mergeNumbers) {
              var apiKey = args[_0x2c7b("0xd")];
              if (exports.verifyApiKey(apiKey) && args[_0x2c7b("0xe")] && !args[_0x2c7b("0xf")] && !checkedSubscribe(args.silentDev)) {
                  args.maxEventNumber -= 1;
                  /** @type {!Array} */
                  var redo = [];
                  if (!args.silentVideo) {
                      redo = locale[_0x2c7b("0x5")] && locale.redo.fetchSequence && locale.redo.fetchSequence();
                  }
                  var breadcrumbs = mergeNumbers[_0x2c7b("0x10")]();
                  var options = {
                      notifierVersion: "1.2.3",
                      userAgent: window.navigator[_0x2c7b("0x11")],
                      locale: window[_0x2c7b("0x12")].language || window.navigator.userLanguage,
                      url: window.location[_0x2c7b("0x13")],
                      title: document.title,
                      appVersion: args.appversion,
                      apiKey: args[_0x2c7b("0xd")],
                      releaseStage: args.releasestage,
                      metaData: data.metaData || args.metaData,
                      user: data.user || args.user,
                      name: data.name,
                      time: (new Date).getTime(),
                      message: data.message,
                      fileName: data[_0x2c7b("0x14")],
                      lineNumber: data[_0x2c7b("0x15")],
                      columnNumber: data[_0x2c7b("0x16")],
                      stacktrace: data.stacktrace,
                      type: data.type,
                      severity: data[_0x2c7b("0x17")],
                      target: data[_0x2c7b("0x18")],
                      req: data.req,
                      res: data.res,
                      breadcrumbs: breadcrumbs,
                      redo: redo
                  };
                  if (!(options[_0x2c7b("0x11")] && options.userAgent.match(/Googlebot/))) {
                      JSON.stringify(options, null, 4);
                      if (!element[_0x2c7b("0x19")](options, args[_0x2c7b("0x1a")])) {
                          if (exports.isSampled(args[_0x2c7b("0x1b")])) {
                              (function (canCreateDiscussions) {
                                  var query = function (result) {
                                      var acc;
                                      try {
                                          acc = fn(result);
                                      } catch (r) {
                                          delete result.metaData;
                                          try {
                                              acc = fn(result);
                                          } catch (n) {
                                              return;
                                          }
                                      }
                                      return acc;
                                  }(options);
                                  if (query) {
                                      /** @type {string} */
                                      var url = "https://web.fundebug.net/event/";
                                      if (window.XMLHttpRequest && window.atob) {
                                          /** @type {!XMLHttpRequest} */
                                          var xhr = new XMLHttpRequest;
                                          /** @type {boolean} */
                                          xhr.Fundebug = true;
                                          xhr[_0x2c7b("0x1c")]("POST", url);
                                          xhr.setRequestHeader("Content-Type", _0x2c7b("0x1d"));
                                          xhr.send(query);
                                      } else {
                                          /** @type {string} */
                                          (new Image)[_0x2c7b("0x1e")] = url + _0x2c7b("0x1f") + encodeURIComponent(query);
                                      }
                                  }
                              })();
                          }
                      }
                  }
              }
          };
      }, function (isSlidingUp, canCreateDiscussions) {
          /**
           * @param {!Object} a
           * @param {!Object} obj
           * @return {?}
           */
          function func(a, obj) {
              if (!a) {
                  return false;
              }
              if (!obj) {
                  return false;
              }
              if (Object[_0x2c7b("0x20")] && !Object.keys(obj).length) {
                  return false;
              }
              var prop;
              for (prop in obj) {
                  if (obj.hasOwnProperty(prop)) {
                      if (obj[prop].constructor === RegExp) {
                          if (!obj[prop][_0x2c7b("0x21")](a[prop])) {
                              return false;
                          }
                      } else {
                          if (obj[prop].constructor === Object) {
                              if (!func(a[prop], obj[prop])) {
                                  return false;
                              }
                          } else {
                              if (obj[prop].constructor !== String || _0x2c7b("0x22") !== obj[prop]) {
                                  return false;
                              }
                              if (a[_0x2c7b("0xb")](prop)) {
                                  return false;
                              }
                          }
                      }
                  }
              }
              return true;
          }
          /**
           * @param {!Object} tx
           * @param {!NodeList} data
           * @return {?}
           */
          canCreateDiscussions[_0x2c7b("0x19")] = function (tx, data) {
              if (!data || !data[_0x2c7b("0x23")]) {
                  return false;
              }
              /** @type {number} */
              var i = 0;
              for (; i < data[_0x2c7b("0x23")]; i++) {
                  if (func(tx, data[i])) {
                      return true;
                  }
              }
              return false;
          };
      }, function (canCreateDiscussions, options) {
          /**
           * @param {number} e
           * @return {?}
           */
          options.isSampled = function (e) {
              return !e && 0 !== e || (e = parseFloat(e), !!isNaN(e) || Math.random() <= e);
          };
          /**
           * @param {string} textScript
           * @param {string} canCreateDiscussions
           * @return {?}
           */
          options[_0x2c7b("0x24")] = function (textScript, canCreateDiscussions) {
              return textScript ? !!textScript.match(/^[0-9a-z]{64}$/i) || (canCreateDiscussions || console.error("Fundebug: apikey\u683c\u5f0f\u9519\u8bef"), false) : (canCreateDiscussions || console.error("Fundebug: \u8bf7\u914d\u7f6eapikey"), false);
          };
      }, function (mixin, canCreateDiscussions) {
          /**
           * @param {?} execFile_opt
           * @return {?}
           */
          mixin.exports = function (execFile_opt) {
              return !(!execFile_opt || !(comURL = window.location.href) || !/^http:\/\/localhost/.test(comURL) && !/^http:\/\/(\d{1,3}\.){3}\d{1,3}/ [_0x2c7b("0x21")](comURL));
              var comURL;
          };
      }, function (mixin, canCreateDiscussions, $) {
          var debug = $(2);
          var f = $(7);
          /**
           * @param {?} name
           * @param {?} tests
           * @param {?} version
           * @return {undefined}
           */
          mixin.exports = function (name, tests, version) {
              /**
               * @param {string} err
               * @param {string} source
               * @param {number} lineNo
               * @param {number} charNo
               * @param {?} res
               * @return {?}
               */
              window.onerror = function (err, source, lineNo, charNo, res) {
                  var isExternalAccount;
                  if (void 0 === charNo && window[_0x2c7b("0x25")]) {
                      charNo = window.event.errorCharacter;
                  }
                  isExternalAccount = source && source !== window.location[_0x2c7b("0x13")] ? source : null;
                  var folder = f(res);
                  var result = {
                      message: err,
                      lineNumber: lineNo,
                      columnNumber: charNo,
                      fileName: isExternalAccount || folder && folder[_0x2c7b("0x14")],
                      name: folder && folder.name || "uncaught error",
                      stacktrace: res && res.stack || function () {
                          var falseySection;
                          var val;
                          /** @type {!Array} */
                          var responseGroup = [];
                          try {
                              val = arguments[_0x2c7b("0x26")].caller.caller;
                          } catch (i) {
                              /** @type {string} */
                              val = "";
                          }
                          for (; val && responseGroup.length < 10;) {
                              var n = val.toString().match(/function\s*([\w_$]+)?\s*\(/i);
                              falseySection = n && n[1] || "[anonymous]";
                              responseGroup.push(falseySection);
                              val = val[_0x2c7b("0x27")];
                          }
                          return _0x2c7b("0x28") + responseGroup.join("\n");
                      }(),
                      severity: "error",
                      type: "uncaught"
                  };
                  return debug(result, name, tests, version), false;
              };
          };
      }, function (mixin, canCreateDiscussions) {
          /**
           * @param {!Error} data
           * @return {?}
           */
          mixin.exports = function (data) {
              if (!data) {
                  return null;
              }
              var result = {};
              return window.XMLHttpRequest ? result = {
                  name: data.name,
                  message: data.message,
                  fileName: data.fileName || data[_0x2c7b("0x29")],
                  lineNumber: data[_0x2c7b("0x15")] || data[_0x2c7b("0x2a")],
                  columnNumber: data.columnNumber || data[_0x2c7b("0x2b")]
              } : result[_0x2c7b("0x2c")] = data.message, result;
          };
      }, function (canCreateDiscussions, isSlidingUp, promiseSupplier) {
          var s = promiseSupplier(2);
          /**
           * @param {?} t
           * @param {?} b
           * @param {?} next
           * @return {undefined}
           */
          canCreateDiscussions[_0x2c7b("0x0")] = function (t, b, next) {
              if (window.addEventListener) {
                  window[_0x2c7b("0x3")]("error", function (e) {
                      try {
                          if (t[_0x2c7b("0x2d")] || e[_0x2c7b("0x2c")]) {
                              return;
                          }
                          var node;
                          var outerHTML = (node = e.target ? e[_0x2c7b("0x18")] : e.srcElement) && node[_0x2c7b("0x2e")];
                          if (outerHTML && 200 < outerHTML.length) {
                              outerHTML = outerHTML[_0x2c7b("0x2f")](0, 200);
                          }
                          var args = {
                              type: _0x2c7b("0x30"),
                              target: {
                                  outerHTML: outerHTML,
                                  src: node && node.src,
                                  tagName: node && node.tagName,
                                  id: node && node.id,
                                  className: node && node.className,
                                  name: node && node.name,
                                  type: node && node.type,
                                  XPath: function (node) {
                                      /** @type {!Array} */
                                      var parts = [];
                                      for (; node && node.nodeType == Node.ELEMENT_NODE; node = node[_0x2c7b("0x31")]) {
                                          var next;
                                          /** @type {number} */
                                          var _indentFirstLine = 0;
                                          /** @type {boolean} */
                                          var _beforeLineChars = false;
                                          next = node.previousSibling;
                                          for (; next; next = next.previousSibling) {
                                              if (next.nodeType != Node.DOCUMENT_TYPE_NODE && next.nodeName == node[_0x2c7b("0x32")]) {
                                                  ++_indentFirstLine;
                                              }
                                          }
                                          next = node[_0x2c7b("0x33")];
                                          for (; next && !_beforeLineChars; next = next[_0x2c7b("0x33")]) {
                                              if (next[_0x2c7b("0x32")] == node[_0x2c7b("0x32")]) {
                                                  /** @type {boolean} */
                                                  _beforeLineChars = true;
                                              }
                                          }
                                          var app_extend_button_ = (node.prefix ? node.prefix + ":" : "") + node[_0x2c7b("0x34")];
                                          /** @type {string} */
                                          var size = _indentFirstLine || _beforeLineChars ? "[" + (_indentFirstLine + 1) + "]" : "";
                                          parts[_0x2c7b("0x35")](0, 0, app_extend_button_ + size);
                                      }
                                      return parts.length ? "/" + parts.join("/") : null;
                                  }(node),
                                  selector: function (el) {
                                      /** @type {!Array} */
                                      var tags = [];
                                      for (; el.parentNode;) {
                                          if (el.id) {
                                              tags[_0x2c7b("0x36")]("#" + el.id);
                                              break;
                                          }
                                          if (el == el.ownerDocument.documentElement) {
                                              tags.unshift(el.tagName);
                                          } else {
                                              /** @type {number} */
                                              var total = 1;
                                              /** @type {!HTMLElement} */
                                              var node = el;
                                              for (; node[_0x2c7b("0x37")]; node = node.previousElementSibling, total++) {}
                                              tags[_0x2c7b("0x36")](el.tagName + ":nth-child(" + total + ")");
                                          }
                                          el = el[_0x2c7b("0x31")];
                                      }
                                      return tags.join(_0x2c7b("0x38"));
                                  }(node),
                                  timeStamp: e[_0x2c7b("0x39")]
                              }
                          };
                          if (node.src === window[_0x2c7b("0x3a")].href) {
                              return;
                          }
                          if (node[_0x2c7b("0x1e")] && node[_0x2c7b("0x1e")][_0x2c7b("0x3b")](/.*\/(.*)$/) && !node[_0x2c7b("0x1e")][_0x2c7b("0x3b")](/.*\/(.*)$/)[1]) {
                              return;
                          }
                          if (args[_0x2c7b("0x18")].src && window.XMLHttpRequest) {
                              /** @type {!XMLHttpRequest} */
                              var xhr = new XMLHttpRequest;
                              /** @type {boolean} */
                              xhr[_0x2c7b("0x3c")] = true;
                              xhr.open(_0x2c7b("0x3d"), args[_0x2c7b("0x18")].src);
                              xhr[_0x2c7b("0x3e")]();
                              /**
                               * @param {!Event} event
                               * @return {undefined}
                               */
                              xhr.onload = function (event) {
                                  if (200 !== event.target[_0x2c7b("0x3f")]) {
                                      args.target.status = event.target.status;
                                      args.target.statusText = event.target.statusText;
                                  }
                                  s(args, t, b, next);
                              };
                          }
                      } catch (c) {}
                  }, true);
              }
          };
      }, function (canCreateDiscussions, isSlidingUp, generateProxy) {
          var proxy = generateProxy(2);
          /**
           * @param {?} data
           * @param {?} match
           * @param {?} instance
           * @return {undefined}
           */
          canCreateDiscussions[_0x2c7b("0x0")] = function (data, match, instance) {
              /**
               * @param {!Object} req
               * @param {!Object} res
               * @param {!Object} response
               * @return {undefined}
               */
              function resolve(req, res, response) {
                  var params = {
                      type: "httpError",
                      req: req,
                      res: res,
                      user: response && response.user,
                      metaData: response && response.metaData
                  };
                  proxy(params, data, match, instance);
              }
              /**
               * @param {!Object} e
               * @return {?}
               */
              function b(e) {
                  return !(data.silentHttp || 0 === e.detail[_0x2c7b("0x3f")] && /^file:\/\/\//.test(e[_0x2c7b("0x45")][_0x2c7b("0x4d")]) || 2 === parseInt(e.detail.status / 100));
              }
              if (window[_0x2c7b("0x40")] && window.XMLHttpRequest[_0x2c7b("0x41")]) {
                  var lastTrackInfoUrl;
                  var url;
                  var _time;
                  var connection = XMLHttpRequest[_0x2c7b("0x41")];
                  var original = connection[_0x2c7b("0x1c")];
                  /**
                   * @param {!Object} trackInfoUrl
                   * @param {string} events_url
                   * @return {undefined}
                   */
                  connection[_0x2c7b("0x1c")] = function (trackInfoUrl, events_url) {
                      try {
                          /** @type {!Object} */
                          lastTrackInfoUrl = trackInfoUrl;
                          /** @type {string} */
                          url = events_url;
                          _time = (new Date)[_0x2c7b("0x42")]();
                          original.apply(this, arguments);
                      } catch (r) {
                          if (original) {
                              original.apply(this, arguments);
                          }
                      }
                  };
                  var deferred = connection.send;
                  /**
                   * @return {undefined}
                   */
                  connection[_0x2c7b("0x3e")] = function () {
                      var xhr = this;
                      /** @type {function(): undefined} */
                      var originalCallback = xhr.onreadystatechange;
                      /**
                       * @return {undefined}
                       */
                      xhr.onreadystatechange = function () {
                          try {
                              if (4 === xhr.readyState && !xhr.Fundebug && "https://web.fundebug.net/event/" != url) {
                                  /** @type {number} */
                                  var e = (new Date).getTime() - _time;
                                  var params = {
                                      type: "XMLHttpRequest",
                                      page: {
                                          url: window[_0x2c7b("0x3a")].href
                                      },
                                      detail: {
                                          method: lastTrackInfoUrl,
                                          url: xhr[_0x2c7b("0x43")] || url,
                                          status: xhr.status,
                                          statusText: xhr.statusText
                                      },
                                      elapsedTime: e,
                                      time: _time
                                  };
                                  if (b(params)) {
                                      resolve({
                                          method: params.detail[_0x2c7b("0x44")],
                                          url: params[_0x2c7b("0x45")].url
                                      }, {
                                          status: xhr.status,
                                          statusText: xhr[_0x2c7b("0x46")],
                                          response: xhr[_0x2c7b("0x47")],
                                          elapsedTime: e
                                      });
                                  }
                                  instance.addBreadcrumb(params, data[_0x2c7b("0x48")]);
                              }
                              if (originalCallback) {
                                  originalCallback.apply(this, arguments);
                              }
                          } catch (r) {
                              if (originalCallback) {
                                  originalCallback[_0x2c7b("0x49")](this, arguments);
                              }
                          }
                      };
                      deferred[_0x2c7b("0x49")](this, arguments);
                  };
              }
              if (window[_0x2c7b("0x4a")]) {
                  /** @type {function(this:Window, (Request|string), !RequestInit=): !Promise<Response>} */
                  var old = window.fetch;
                  /**
                   * @param {?} canCreateDiscussions
                   * @param {!Object} options
                   * @return {?}
                   */
                  window[_0x2c7b("0x4a")] = function (canCreateDiscussions, options) {
                      /** @type {number} */
                      var startTime = (new Date).getTime();
                      return old.apply(this, arguments).then(function (response) {
                          /** @type {number} */
                          var elapsed = (new Date).getTime() - startTime;
                          var params = {
                              type: _0x2c7b("0x4a"),
                              page: {
                                  url: window[_0x2c7b("0x3a")].href,
                                  title: document[_0x2c7b("0x4b")]
                              },
                              detail: {
                                  method: options && options.method || _0x2c7b("0x4c"),
                                  url: response.url,
                                  status: response.status,
                                  statusText: response.statusText
                              },
                              elapsedTime: elapsed,
                              time: startTime
                          };
                          return b(params) && resolve({
                              method: params.detail[_0x2c7b("0x44")],
                              url: params.detail.url
                          }, {
                              status: response.status,
                              statusText: response[_0x2c7b("0x46")],
                              elapsedTime: elapsed
                          }), instance.addBreadcrumb(params, data.silentBehavior), response;
                      });
                  };
              }
          };
      }, function (mixin, canCreateDiscussions, getCb) {
          var cb = getCb(2);
          /**
           * @param {?} that
           * @param {?} array
           * @param {?} key
           * @return {undefined}
           */
          mixin.exports = function (that, array, key) {
              try {
                  if (!(_0x2c7b("0x4e") in window)) {
                      return;
                  }
                  /** @type {(ObjectPropertyDescriptor<WebSocket.prototype>|undefined)} */
                  var t = Object.getOwnPropertyDescriptor(WebSocket.prototype, _0x2c7b("0x4f"));
                  if (JSON.stringify(t, null, 4), !t) {
                      return;
                  }
                  if (!t[_0x2c7b("0x50")]) {
                      return;
                  }
                  Object[_0x2c7b("0x51")](WebSocket[_0x2c7b("0x41")], _0x2c7b("0x4f"), {
                      set: function () {
                          try {
                              var f = arguments[0];
                              return t[_0x2c7b("0x52")][_0x2c7b("0x49")](this, [function (mutationEvent) {
                                  var config = {
                                      type: "websocketError",
                                      target: {
                                          type: "onerror",
                                          url: mutationEvent.target[_0x2c7b("0x4d")],
                                          timeStamp: mutationEvent[_0x2c7b("0x39")]
                                      }
                                  };
                                  cb(config, that, array, key);
                                  f[_0x2c7b("0x49")](this, arguments);
                              }]);
                          } catch (e) {
                              return t.set[_0x2c7b("0x49")](this, arguments);
                          }
                      }
                  });
              } catch (e) {
                  return;
              }
          };
      }, function (mixin, canCreateDiscussions, Clazz_doubleToInt) {
          var x = Clazz_doubleToInt(2);
          var constructEvent = Clazz_doubleToInt(7);
          /**
           * @param {?} path
           * @param {?} ctx
           * @param {?} container
           * @return {undefined}
           */
          mixin.exports = function (path, ctx, container) {
              /**
               * @param {!Error} error
               * @param {!Object} f
               * @return {undefined}
               */
              path[_0x2c7b("0x53")] = function (error, f) {
                  if (error) {
                      if (window[_0x2c7b("0x54")]) {
                          console.error(error);
                      }
                      var e = constructEvent(error);
                      var info = {
                          name: e.name || f && f.name || "caught error",
                          message: e.message || f && f[_0x2c7b("0x2c")],
                          stacktrace: error.stack,
                          fileName: e.fileName,
                          lineNumber: e.lineNumber,
                          columnNumber: e.columnNumber,
                          severity: f && f.severity || _0x2c7b("0x7"),
                          type: _0x2c7b("0x55"),
                          user: f && f[_0x2c7b("0x56")],
                          metaData: f && f.metaData
                      };
                      x(info, path, ctx, container);
                  }
              };
          };
      }, function (canCreateDiscussions, isSlidingUp, require) {
          var fn = require(2);
          var impl = require(4);
          /**
           * @param {!Object} params
           * @param {?} callback
           * @param {?} targetDescription_domain_orNone
           * @return {undefined}
           */
          canCreateDiscussions[_0x2c7b("0x0")] = function (params, callback, targetDescription_domain_orNone) {
              /**
               * @param {string} specName
               * @param {string} err
               * @param {!Object} response
               * @return {?}
               */
              params[_0x2c7b("0x57")] = function (specName, err, response) {
                  if (specName) {
                      var options = {
                          name: specName || response && response[_0x2c7b("0x58")],
                          message: err || response && response[_0x2c7b("0x2c")],
                          severity: response && response[_0x2c7b("0x2c")] || _0x2c7b("0x59"),
                          stacktrace: function () {
                              var name;
                              try {
                                  throw new Error("");
                              } catch (outdated) {
                                  name = outdated[_0x2c7b("0x5a")];
                              }
                              return name ? name = _0x2c7b("0x28") + (name = (name = name.replace(/(.*?)fundebug(.*?)\.js(.*)\n?/gm, ""))[_0x2c7b("0x5b")](/^Error\n/g, "")) : void 0;
                          }(),
                          type: _0x2c7b("0x5c"),
                          user: response && response.user,
                          metaData: response && response.metaData
                      };
                      var id = params.apikey;
                      return impl.verifyApiKey(id, true) ? (fn(options, params, callback, targetDescription_domain_orNone), _0x2c7b("0x5d") === location[_0x2c7b("0x5e")] || "www.fundebug.com" === location.host ? "\u4eb2\uff0c\u4e0d\u8981\u5728Fundebug\u7f51\u7ad9\u6d4b\u8bd5\u54e6\uff1b\u8bf7\u5c06Fundebug\u63d2\u4ef6\u96c6\u6210\u5230\u60a8\u7684\u7f51\u7ad9\uff0c\u7136\u540e\u8fdb\u884c\u6d4b\u8bd5!" : "\u8bf7\u67e5\u770b\u90ae\u7bb1\u4ee5\u53caFundebug\u63a7\u5236\u53f0!") : id ? "apikey\u683c\u5f0f\u9519\u8bef" :
                          _0x2c7b("0x5f");
                  }
              };
          };
      }, function (canCreateDiscussions, isSlidingUp) {
          /**
           * @param {?} all
           * @param {?} instance
           * @return {undefined}
           */
          canCreateDiscussions[_0x2c7b("0x0")] = function (all, instance) {
              /**
               * @param {!Event} e
               * @return {undefined}
               */
              function cb(e) {
                  var node;
                  var outerHTML = (node = e.target ? e[_0x2c7b("0x18")] : e.srcElement) && node.outerHTML;
                  if (outerHTML && 200 < outerHTML[_0x2c7b("0x23")]) {
                      outerHTML = outerHTML.slice(0, 200);
                  }
                  var params = {
                      type: "click",
                      page: {
                          url: window.location[_0x2c7b("0x13")],
                          title: document.title
                      },
                      detail: {
                          outerHTML: outerHTML,
                          tagName: node && node.tagName,
                          id: node && node.id,
                          className: node && node[_0x2c7b("0x60")],
                          name: node && node[_0x2c7b("0x58")]
                      },
                      time: (new Date)[_0x2c7b("0x42")]()
                  };
                  instance.addBreadcrumb(params, all[_0x2c7b("0x48")]);
              }
              if (window[_0x2c7b("0x3")]) {
                  window[_0x2c7b("0x3")](_0x2c7b("0x61"), cb, true);
              } else {
                  document[_0x2c7b("0x62")]("onclick", cb);
              }
          };
      }, function (mixin, canCreateDiscussions) {
          /**
           * @param {?} b
           * @param {?} c
           * @return {undefined}
           */
          mixin.exports = function (b, c) {
              /**
               * @param {string} event
               * @param {string} a
               * @return {undefined}
               */
              function callback(event, a) {
                  var data = {
                      type: "navigation",
                      detail: {
                          from: event,
                          to: e = a
                      },
                      time: (new Date).getTime()
                  };
                  JSON.stringify(data, null, 4);
                  c[_0x2c7b("0x67")](data, b[_0x2c7b("0x48")]);
              }
              var e = {
                  url: window[_0x2c7b("0x3a")][_0x2c7b("0x13")]
              };
              if (document[_0x2c7b("0x3")]) {
                  document[_0x2c7b("0x3")]("DOMContentLoaded", function () {
                      e = {
                          url: window.location[_0x2c7b("0x13")],
                          title: document[_0x2c7b("0x4b")]
                      };
                  });
              } else {
                  document[_0x2c7b("0x62")](_0x2c7b("0x63"), function () {
                      e = {
                          url: window.location.href,
                          title: document[_0x2c7b("0x4b")]
                      };
                  });
              }
              /** @type {(function((Event|null)): ?|null)} */
              var cached = window.onpopstate;
              /**
               * @return {?}
               */
              window[_0x2c7b("0x64")] = function () {
                  var keys = {
                      url: window.location[_0x2c7b("0x13")]
                  };
                  if (e.title || (e.title = document.title), e.url !== keys[_0x2c7b("0x4d")] && callback(e, keys), cached) {
                      return cached.apply(this, arguments);
                  }
              };
              var oldSetupComputes = window.history[_0x2c7b("0x65")];
              if (oldSetupComputes) {
                  /**
                   * @return {?}
                   */
                  window[_0x2c7b("0x66")].pushState = function () {
                      e = {
                          url: window[_0x2c7b("0x3a")].href,
                          title: document.title
                      };
                      var self = {};
                      if (3 === arguments[_0x2c7b("0x23")] && (self.url = arguments[2]), e.url !== self.url && callback(e, self), oldSetupComputes) {
                          return oldSetupComputes.apply(this, arguments);
                      }
                  };
              }
              /** @type {function(): ?} */
              var hashchange = window.onhashchange;
              window.onhashchange;
              /**
               * @return {?}
               */
              window.onhashchange = function () {
                  var keys = {
                      url: window.location.href,
                      title: document[_0x2c7b("0x4b")]
                  };
                  if (e.url !== keys[_0x2c7b("0x4d")] && callback(e, keys), hashchange) {
                      return hashchange[_0x2c7b("0x49")](this, arguments);
                  }
              };
          };
      }, function (mixin, canCreateDiscussions) {
          /**
           * @param {?} module
           * @param {?} path
           * @return {undefined}
           */
          mixin.exports = function (module, path) {
              /**
               * @param {string} name
               * @return {undefined}
               */
              function isFn(name) {
                  var f = console[name];
                  /**
                   * @return {undefined}
                   */
                  console[name] = function () {
                      var params = {
                          type: _0x2c7b("0x54"),
                          page: {
                              url: window[_0x2c7b("0x3a")].href,
                              title: document.title
                          },
                          detail: {
                              level: name,
                              arguments: Array.prototype.slice.apply(arguments).join(" ")
                          },
                          time: (new Date).getTime()
                      };
                      if (module[_0x2c7b("0x68")] || path.addBreadcrumb(params, module[_0x2c7b("0x48")]), _0x2c7b("0x69") == typeof f) {
                          if (f[_0x2c7b("0x49")]) {
                              f[_0x2c7b("0x49")](console, arguments);
                          } else {
                              var passedValue1 = Array.prototype.slice[_0x2c7b("0x49")](arguments).join(" ");
                              f(passedValue1);
                          }
                      }
                  };
              }
              /** @type {!Array} */
              var methods = ["log", _0x2c7b("0x6a"), "error", "debug", _0x2c7b("0x6b")];
              var old = {};
              /** @type {number} */
              var i = 0;
              for (; i < methods.length; i++) {
                  if (window[_0x2c7b("0x54")]) {
                      old[methods[i]] = console[methods[i]];
                      if (!module.silentConsole) {
                          isFn(methods[i]);
                      }
                  }
              }
              if (document.addEventListener) {
                  document.addEventListener(_0x2c7b("0x6c"), function (canCreateDiscussions) {
                      /** @type {number} */
                      var i = 0;
                      for (; i < methods[_0x2c7b("0x23")]; i++) {
                          if (window[_0x2c7b("0x54")] && module.silentConsole && old[methods[i]]) {
                              console[methods[i]] = old[methods[i]];
                          }
                      }
                  });
              }
          };
      }, function (canCreateDiscussions, RDFEConfig) {
          var self = function () {
              var el = document[_0x2c7b("0x6d")];
              if (!el) {
                  var children = document[_0x2c7b("0x6e")];
                  el = children[children.length - 1];
              }
              return el;
          }();
          /**
           * @return {?}
           */
          RDFEConfig.getConfig = function () {
              var args = {};
              return args.silent = self.getAttribute("silent") || false, "false" === args.silent && (args[_0x2c7b("0xf")] = false), args.maxEventNumber = self[_0x2c7b("0x6f")](_0x2c7b("0xe")) || self.getAttribute("maxeventnumber") || 10, args.silentResource = self[_0x2c7b("0x6f")](_0x2c7b("0x2d")) || self.getAttribute("silentresource") || false, "false" === args.silentResource && (args.silentResource = false), args.silentHttp = self.getAttribute("silentHttp") || self[_0x2c7b("0x6f")]("silenthttp") || false,
                  _0x2c7b("0x70") === args[_0x2c7b("0x71")] && (args.silentHttp = false), args[_0x2c7b("0x68")] = self[_0x2c7b("0x6f")](_0x2c7b("0x68")) || self[_0x2c7b("0x6f")]("silentconsole") || false, "false" === args.silentConsole && (args.silentConsole = false), args[_0x2c7b("0x1b")] = self.getAttribute("sampleRate") || self.getAttribute("samplerate"), args.silentVideo = self[_0x2c7b("0x6f")](_0x2c7b("0x72")) || self[_0x2c7b("0x6f")](_0x2c7b("0x73")), _0x2c7b("0x70") === args.silentVideo && (args.silentVideo =
                      false), 0 != args.silentVideo && (args.silentVideo = true), args[_0x2c7b("0x48")] = self.getAttribute("silentBehavior") || self.getAttribute(_0x2c7b("0x74")) || false, _0x2c7b("0x70") === args.silentBehavior && (args[_0x2c7b("0x48")] = false), args[_0x2c7b("0x75")] = self[_0x2c7b("0x6f")](_0x2c7b("0x75")) || self[_0x2c7b("0x6f")]("silentdev") || false, "false" === args.silentDev && (args.silentDev = false), args[_0x2c7b("0xd")] = self.getAttribute("apikey"), args.appversion = self.getAttribute("appversion"),
                  args[_0x2c7b("0x76")] = self[_0x2c7b("0x6f")]("releasestage"), args;
          };
      }, function (canCreateDiscussions, instance) {
          /** @type {!Array} */
          var ajaxes = [];
          /** @type {number} */
          var url = 0;
          /**
           * @param {?} req
           * @param {?} topic_id
           * @return {undefined}
           */
          instance.addBreadcrumb = function (req, topic_id) {
              if (!topic_id) {
                  ajaxes[url] = req;
                  if (20 == ++url) {
                      /** @type {number} */
                      url = 0;
                  }
              }
          };
          /**
           * @return {?}
           */
          instance[_0x2c7b("0x10")] = function () {
              return ajaxes;
          };
      }, function (object, canCreateDiscussions, isSlidingUp) {
          var wrapper;
          /**
           * @return {?}
           */
          wrapper = function () {
              return function (modules) {
                  /**
                   * @param {number} moduleId
                   * @return {?}
                   */
                  function __webpack_require__(moduleId) {
                      if (installedModules[moduleId]) {
                          return installedModules[moduleId][_0x2c7b("0x0")];
                      }
                      var module = installedModules[moduleId] = {
                          exports: {},
                          id: moduleId,
                          loaded: false
                      };
                      return modules[moduleId].call(module.exports, module, module.exports, __webpack_require__), module[_0x2c7b("0x77")] = true, module.exports;
                  }
                  var installedModules = {};
                  return __webpack_require__.m = modules, __webpack_require__.c = installedModules, __webpack_require__.p = "", __webpack_require__(0);
              }([function (PL$39, isSlidingUp, ex) {
                  /**
                   * @param {!Object} obj
                   * @return {?}
                   */
                  function _interopRequireDefault(obj) {
                      return obj && obj[_0x2c7b("0x78")] ? obj : {
                          "default": obj
                      };
                  }
                  var shivMethods = function () {
                      /**
                       * @param {!Function} target
                       * @param {string} s
                       * @return {undefined}
                       */
                      function n(target, s) {
                          /** @type {number} */
                          var str = 0;
                          for (; str < s[_0x2c7b("0x23")]; str++) {
                              var desc = s[str];
                              desc.enumerable = desc.enumerable || false;
                              /** @type {boolean} */
                              desc.configurable = true;
                              if ("value" in desc) {
                                  /** @type {boolean} */
                                  desc.writable = true;
                              }
                              Object[_0x2c7b("0x51")](target, desc[_0x2c7b("0x79")], desc);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var _blLayerLoader2 = _interopRequireDefault(ex(1));
                  var _DocumentFragment = _interopRequireDefault(ex(2));
                  var _cursor2 = _interopRequireDefault(ex(10));
                  var __WEBPACK_IMPORTED_MODULE_1__slide__ = _interopRequireDefault(ex(4));
                  var _Job2 = _interopRequireDefault(ex(11));
                  var _HTMLParser = _interopRequireDefault((_interopRequireDefault(ex(6)), ex(12)));
                  var _libWrappersWrapper2 = _interopRequireDefault(ex(24));
                  var _AnchorElement = _interopRequireDefault(ex(3));
                  var _rshift3 = _interopRequireDefault(ex(23));
                  var _same3 = _interopRequireDefault(ex(25));
                  var _setBlock3 = _interopRequireDefault(ex(26));
                  var undefined = function () {
                      /**
                       * @param {?} data
                       * @param {!Object} options
                       * @return {undefined}
                       */
                      function node(data, options) {
                          (function (v, canCreateDiscussions) {
                              if (!(v instanceof node)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          })(this);
                          this[_0x2c7b("0x7a")] = data;
                          this.url = _0x2c7b("0x7b");
                          /** @type {number} */
                          this.singleFragmentMaxLength = 1E3;
                          /** @type {number} */
                          this.multipleFragmentMaxLength = 2E3;
                          /** @type {number} */
                          this.maxTimeSpan = 1E4;
                          /** @type {number} */
                          this.timeSpanCount = 0;
                          /** @type {number} */
                          this.lengthOverflowCheckTimeSpan = 5E3;
                          /** @type {!Object} */
                          this.options = options;
                          /** @type {null} */
                          this[_0x2c7b("0x7c")] = null;
                          /** @type {null} */
                          this[_0x2c7b("0x7d")] = null;
                          /** @type {null} */
                          this.observer = null;
                          /** @type {null} */
                          this.vedio = null;
                          /** @type {!Array} */
                          this.sequence = [];
                          /** @type {!Array} */
                          this.actions = [];
                          this.selectorCache = new(_rshift3[_0x2c7b("0x7e")]);
                      }
                      return shivMethods(node, [{
                          key: "send",
                          value: function () {
                              this.pushFragmentToSequence(0);
                              var response = {
                                  token: this[_0x2c7b("0x7a")],
                                  sequence: this.sequence
                              };
                              /** @type {string} */
                              var pathPwd = JSON.stringify(response);
                              _same3[_0x2c7b("0x7e")][_0x2c7b("0x7f")](this.url, pathPwd);
                          }
                      }, {
                          key: "fetchSequence",
                          value: function () {
                              this.pushFragmentToSequence(0);
                              /** @type {!Array} */
                              var seq = [];
                              try {
                                  seq = JSON[_0x2c7b("0x80")](this.sequence);
                              } catch (r) {}
                              /** @type {string} */
                              var result = "";
                              try {
                                  result = _setBlock3[_0x2c7b("0x7e")][_0x2c7b("0x81")](seq);
                              } catch (n) {}
                              return result;
                          }
                      }, {
                          key: "getSequence",
                          value: function () {
                              return this.sequence;
                          }
                      }, {
                          key: "init",
                          value: function () {
                              this.initRecorder();
                              this[_0x2c7b("0x82")]();
                              this[_0x2c7b("0x83")]();
                          }
                      }, {
                          key: "initRecorder",
                          value: function () {
                              /** @type {null} */
                              this.vedio = null;
                              if (this[_0x2c7b("0x7c")]) {
                                  this[_0x2c7b("0x7c")].stopRecording();
                              }
                              var target = {
                                  target: document.documentElement
                              };
                              var stateManager = new(_HTMLParser["default"][_0x2c7b("0x84")])(target);
                              this[_0x2c7b("0x7c")] = stateManager;
                              var r = this;
                              stateManager.on(_0x2c7b("0x85"), function (canCreateDiscussions) {
                                  r.vedio = stateManager[_0x2c7b("0x86")]();
                              });
                              stateManager[_0x2c7b("0x87")]();
                          }
                      }, {
                          key: "initAction",
                          value: function () {
                              /** @type {!Array} */
                              this.actions = [];
                              this.initMutationObserver();
                              this.initInput();
                          }
                      }, {
                          key: "initMutationObserver",
                          value: function () {
                              if (this[_0x2c7b("0x88")]) {
                                  this.observer[_0x2c7b("0x89")]();
                              }
                              var json = this;
                              try {
                                  this.observer = new _blLayerLoader2["default"]({
                                      callback: function (obj) {
                                          json.addInputListenterToNodeList(obj);
                                          var context = _DocumentFragment["default"][_0x2c7b("0x8a")](obj, json.selectorCache);
                                          json.actions = json.actions.concat(context);
                                      },
                                      queries: [{
                                          all: true
                                      }],
                                      oldPreviousSibling: true
                                  });
                              } catch (e) {
                                  return null;
                              }
                          }
                      }, {
                          key: _0x2c7b("0x8b"),
                          value: function () {
                              this.injectAllInputIn(document);
                          }
                      }, {
                          key: "injectAllInputIn",
                          value: function (el) {
                              var uncert = this;
                              ["input", _0x2c7b("0x8c"), _0x2c7b("0x8d")].map(function (str) {
                                  /**
                                   * @param {!Object} url
                                   * @param {?} node
                                   * @param {number} hash
                                   * @param {!Object} n
                                   * @return {undefined}
                                   */
                                  function callback(url, node, hash, n) {
                                      var parameter = new _cursor2["default"](node, url[_0x2c7b("0x8e")], hash);
                                      var transferBuffers = new(_rshift3[_0x2c7b("0x7e")]);
                                      var i = new _Job2["default"](url, parameter, transferBuffers);
                                      var reParam = new(__WEBPACK_IMPORTED_MODULE_1__slide__[_0x2c7b("0x7e")])(4, i);
                                      n.actions.push(reParam);
                                  }
                                  if (el && el.querySelectorAll) {
                                      var parts = el[_0x2c7b("0x8f")](str);
                                      var part = _AnchorElement["default"].fromList(parts);
                                      if (0 !== part.length) {
                                          color = str;
                                          prev = part;
                                          obj = {};
                                          /** @type {number} */
                                          initializeCheckTimer = setInterval(function () {
                                              if (0 === (prev = prev.filter(function (internalUrl) {
                                                      return internalUrl.funRemoved && delete obj[internalUrl.funId], !internalUrl.funRemoved;
                                                  })).length) {
                                                  clearInterval(initializeCheckTimer);
                                              }
                                              prev[_0x2c7b("0x90")](function (match) {
                                                  if (!match || _0x2c7b("0x91") !== match.type) {
                                                      var undefined;
                                                      undefined = _0x2c7b("0x92") === match[_0x2c7b("0x8e")] || _0x2c7b("0x93") === match.type ? match[_0x2c7b("0x94")] : match.value;
                                                      var last = match[_0x2c7b("0x95")];
                                                      if (last) {
                                                          if (obj[last] === undefined) {
                                                              return;
                                                          }
                                                          obj[match.funId] = undefined;
                                                          callback(match, color, undefined, uncert);
                                                      } else {
                                                          match.funId = _AnchorElement["default"][_0x2c7b("0x96")]();
                                                          obj[match.funId] = undefined;
                                                          callback(match, color, undefined, uncert);
                                                      }
                                                  }
                                              });
                                          }, 100);
                                      }
                                  }
                                  var color;
                                  var prev;
                                  var obj;
                                  var initializeCheckTimer;
                              });
                          }
                      }, {
                          key: "addInputListenterToNodeList",
                          value: function (observable) {
                              var touchSystem = this;
                              observable.map(function (errorsChangedArgs) {
                                  _DocumentFragment["default"].extractCleanNodes(errorsChangedArgs.added)[_0x2c7b("0x90")](function (e) {
                                      touchSystem.injectAllInputIn(e);
                                  });
                              });
                          }
                      }, {
                          key: _0x2c7b("0x83"),
                          value: function () {
                              var value = this;
                              if (this.redoIntervalId) {
                                  window.clearInterval(this.redoIntervalId);
                              }
                              /** @type {number} */
                              this[_0x2c7b("0x7d")] = setInterval(function () {
                                  if (value.timeSpanCount++, 2 <= value[_0x2c7b("0x97")]) {
                                      return value.sequence = [], value[_0x2c7b("0x97")] = 0, void value.init();
                                  }
                                  if ((value[_0x2c7b("0x98")] && value.vedio.getFramesLength()) + value[_0x2c7b("0x99")].length > value.singleFragmentMaxLength) {
                                      value.pushFragmentToSequence(0);
                                  }
                              }, this.lengthOverflowCheckTimeSpan);
                          }
                      }, {
                          key: _0x2c7b("0x9a"),
                          value: function (opts) {
                              this[_0x2c7b("0x98")] = this.recorder[_0x2c7b("0x86")]();
                              var text = new(_libWrappersWrapper2[_0x2c7b("0x7e")])(opts, this[_0x2c7b("0x98")], this.actions);
                              this.sequence.push(text);
                              this[_0x2c7b("0x9b")]();
                              this.init();
                          }
                      }, {
                          key: _0x2c7b("0x9b"),
                          value: function () {
                              if (this.calculateTotalLength() > this.multipleFragmentMaxLength) {
                                  this[_0x2c7b("0x9c")].shift();
                              }
                          }
                      }, {
                          key: "calculateTotalLength",
                          value: function () {
                              return this.sequence.reduce(function (isSlidingUp, canCreateDiscussions) {
                                  return isSlidingUp + canCreateDiscussions.getVedioFrameLength() + canCreateDiscussions.getActionsLength();
                              }, 0);
                          }
                      }, {
                          key: "clear",
                          value: function () {
                              window.clearInterval(this.redoIntervalId);
                              /** @type {!Array} */
                              this.sequence = [];
                              /** @type {null} */
                              this.vedio = null;
                              /** @type {!Array} */
                              this.actions = [];
                              /** @type {null} */
                              this.recorder = null;
                              /** @type {null} */
                              this.redoIntervalId = null;
                          }
                      }]), node;
                  }();
                  PL$39[_0x2c7b("0x0")] = undefined;
              }, function (module, canCreateDiscussions) {
                  /**
                   * @param {string} str
                   * @return {?}
                   */
                  function translateChars(str) {
                      return '"' + str.replace(/"/, '\\"') + '"';
                  }
                  /**
                   * @param {?} value
                   * @return {?}
                   */
                  function validateAttribute(value) {
                      if ("string" != typeof value) {
                          throw Error(_0x2c7b("0x9d"));
                      }
                      if (!(value = value[_0x2c7b("0x9e")]())) {
                          throw Error(_0x2c7b("0x9d"));
                      }
                      if (!value[_0x2c7b("0x3b")](data)) {
                          throw Error(_0x2c7b("0x9f") + value);
                      }
                      return value;
                  }
                  /**
                   * @param {?} attribs
                   * @return {?}
                   */
                  function validateElementAttributes(attribs) {
                      if (!attribs[_0x2c7b("0x9e")]().length) {
                          throw Error("Invalid request option: elementAttributes must contain at least one attribute.");
                      }
                      var nextIdLookup = {};
                      var target = {};
                      var shiftables = attribs[_0x2c7b("0xa0")](/\s+/);
                      /** @type {number} */
                      var i = 0;
                      for (; i < shiftables.length; i++) {
                          if (name = shiftables[i]) {
                              var name;
                              var indexLookupKey = (name = validateAttribute(name))[_0x2c7b("0xa1")]();
                              if (nextIdLookup[indexLookupKey]) {
                                  throw Error("Invalid request option: observing multiple case variations of the same attribute is not supported.");
                              }
                              /** @type {boolean} */
                              target[name] = true;
                              /** @type {boolean} */
                              nextIdLookup[indexLookupKey] = true;
                          }
                      }
                      return Object[_0x2c7b("0x20")](target);
                  }
                  var MO;
                  var __extends = this[_0x2c7b("0xa2")] || function (classDefinition, superclass) {
                      /**
                       * @return {undefined}
                       */
                      function subclass() {
                          /** @type {!Function} */
                          this.constructor = classDefinition;
                      }
                      var staticPropertyName;
                      for (staticPropertyName in superclass) {
                          if (superclass[_0x2c7b("0xb")](staticPropertyName)) {
                              classDefinition[staticPropertyName] = superclass[staticPropertyName];
                          }
                      }
                      subclass[_0x2c7b("0x41")] = superclass.prototype;
                      classDefinition.prototype = new subclass;
                  };
                  if ("undefined" != typeof WebKitMutationObserver) {
                      MO = WebKitMutationObserver;
                  } else {
                      if (!document.all) {
                          /** @type {function(new:MutationObserver, function((Array<(MutationRecord|null)>|null), (MutationObserver|null)): ?): ?} */
                          MO = MutationObserver;
                      }
                  }
                  var Movement;
                  var StateEvent;
                  var NodeMap = function () {
                      /**
                       * @return {undefined}
                       */
                      function NodeMap() {
                          /** @type {!Array} */
                          this.nodes = [];
                          /** @type {!Array} */
                          this[_0x2c7b("0xa3")] = [];
                      }
                      return NodeMap.prototype.isIndex = function (value) {
                          return +value == value >>> 0;
                      }, NodeMap[_0x2c7b("0x41")].nodeId = function (node) {
                          var doc = node[NodeMap[_0x2c7b("0xa4")]];
                          return doc || (doc = node[NodeMap.ID_PROP] = NodeMap.nextId_++), doc;
                      }, NodeMap.prototype.set = function (node, value) {
                          var id = this.nodeId(node);
                          /** @type {!Node} */
                          this.nodes[id] = node;
                          this.values[id] = value;
                      }, NodeMap.prototype[_0x2c7b("0xa5")] = function (left) {
                          var sL = this[_0x2c7b("0xa6")](left);
                          return this.values[sL];
                      }, NodeMap[_0x2c7b("0x41")][_0x2c7b("0xa7")] = function (node) {
                          return this.nodeId(node) in this.nodes;
                      }, NodeMap[_0x2c7b("0x41")][_0x2c7b("0xa8")] = function (e) {
                          var ctxE = this[_0x2c7b("0xa6")](e);
                          delete this[_0x2c7b("0xa9")][ctxE];
                          this[_0x2c7b("0xa3")][ctxE] = void 0;
                      }, NodeMap[_0x2c7b("0x41")].keys = function () {
                          /** @type {!Array} */
                          var result = [];
                          var i;
                          for (i in this[_0x2c7b("0xa9")]) {
                              if (this[_0x2c7b("0xaa")](i)) {
                                  result.push(this.nodes[i]);
                              }
                          }
                          return result;
                      }, NodeMap[_0x2c7b("0xa4")] = "__mutation_summary_node_map_id__", NodeMap.nextId_ = 1, NodeMap;
                  }();
                  (StateEvent = Movement || (Movement = {}))[StateEvent.STAYED_OUT = 0] = _0x2c7b("0xab");
                  StateEvent[StateEvent[_0x2c7b("0xac")] = 1] = _0x2c7b("0xac");
                  StateEvent[StateEvent.STAYED_IN = 2] = _0x2c7b("0xad");
                  /** @type {string} */
                  StateEvent[StateEvent.REPARENTED = 3] = "REPARENTED";
                  /** @type {string} */
                  StateEvent[StateEvent[_0x2c7b("0xae")] = 4] = "REORDERED";
                  /** @type {string} */
                  StateEvent[StateEvent.EXITED = 5] = "EXITED";
                  var Literal = function () {
                      /**
                       * @param {!Node} node
                       * @param {number} childList
                       * @param {?} attributes
                       * @param {!Array} characterData
                       * @param {!Array} oldParentNode
                       * @param {string} added
                       * @param {!Array} attributeOldValues
                       * @param {!Array} characterDataOldValue
                       * @return {undefined}
                       */
                      function NodeChange(node, childList, attributes, characterData, oldParentNode, added, attributeOldValues, characterDataOldValue) {
                          if (void 0 === childList) {
                              /** @type {boolean} */
                              childList = false;
                          }
                          if (void 0 === attributes) {
                              /** @type {boolean} */
                              attributes = false;
                          }
                          if (void 0 === characterData) {
                              /** @type {boolean} */
                              characterData = false;
                          }
                          if (void 0 === oldParentNode) {
                              /** @type {null} */
                              oldParentNode = null;
                          }
                          if (void 0 === added) {
                              /** @type {boolean} */
                              added = false;
                          }
                          if (void 0 === attributeOldValues) {
                              /** @type {null} */
                              attributeOldValues = null;
                          }
                          if (void 0 === characterDataOldValue) {
                              /** @type {null} */
                              characterDataOldValue = null;
                          }
                          /** @type {!Node} */
                          this.node = node;
                          /** @type {number} */
                          this.childList = childList;
                          this.attributes = attributes;
                          /** @type {!Array} */
                          this[_0x2c7b("0xaf")] = characterData;
                          /** @type {!Array} */
                          this[_0x2c7b("0xb0")] = oldParentNode;
                          /** @type {string} */
                          this.added = added;
                          /** @type {!Array} */
                          this.attributeOldValues = attributeOldValues;
                          /** @type {!Array} */
                          this.characterDataOldValue = characterDataOldValue;
                          /** @type {boolean} */
                          this.isCaseInsensitive = this.node.nodeType === Node.ELEMENT_NODE && this[_0x2c7b("0xb1")] instanceof HTMLElement && this.node[_0x2c7b("0xb2")] instanceof HTMLDocument;
                      }
                      return NodeChange[_0x2c7b("0x41")].getAttributeOldValue = function (name) {
                          if (this.attributeOldValues) {
                              return this[_0x2c7b("0xb3")] && (name = name.toLowerCase()), this[_0x2c7b("0xb4")][name];
                          }
                      }, NodeChange.prototype.getAttributeNamesMutated = function () {
                          /** @type {!Array} */
                          var names = [];
                          if (!this.attributeOldValues) {
                              return names;
                          }
                          var name;
                          for (name in this.attributeOldValues) {
                              names[_0x2c7b("0x9")](name);
                          }
                          return names;
                      }, NodeChange.prototype.attributeMutated = function (name, oldValue) {
                          /** @type {boolean} */
                          this.attributes = true;
                          this.attributeOldValues = this[_0x2c7b("0xb4")] || {};
                          if (!(name in this.attributeOldValues)) {
                              this[_0x2c7b("0xb4")][name] = oldValue;
                          }
                      }, NodeChange.prototype.characterDataMutated = function (oldValue) {
                          if (!this.characterData) {
                              /** @type {boolean} */
                              this.characterData = true;
                              /** @type {!Object} */
                              this.characterDataOldValue = oldValue;
                          }
                      }, NodeChange.prototype.removedFromParent = function (parent) {
                          /** @type {boolean} */
                          this[_0x2c7b("0xb5")] = true;
                          if (this.added || this.oldParentNode) {
                              /** @type {boolean} */
                              this[_0x2c7b("0xb6")] = false;
                          } else {
                              /** @type {string} */
                              this.oldParentNode = parent;
                          }
                      }, NodeChange.prototype.insertedIntoParent = function () {
                          /** @type {boolean} */
                          this.childList = true;
                          /** @type {boolean} */
                          this.added = true;
                      }, NodeChange.prototype[_0x2c7b("0xb7")] = function () {
                          if (this[_0x2c7b("0xb5")]) {
                              if (this[_0x2c7b("0xb0")]) {
                                  return this.oldParentNode;
                              }
                              if (this[_0x2c7b("0xb6")]) {
                                  return null;
                              }
                          }
                          return this[_0x2c7b("0xb1")][_0x2c7b("0x31")];
                      }, NodeChange;
                  }();
                  /**
                   * @return {undefined}
                   */
                  var ChildListChange = function () {
                      this[_0x2c7b("0xb6")] = new NodeMap;
                      this.removed = new NodeMap;
                      this.maybeMoved = new NodeMap;
                      this[_0x2c7b("0xb8")] = new NodeMap;
                      this.moved = void 0;
                  };
                  var TreeChanges = function (_super) {
                      /**
                       * @param {boolean} rootNode
                       * @param {!NodeList} mutations
                       * @return {undefined}
                       */
                      function TreeChanges(rootNode, mutations) {
                          _super.call(this);
                          /** @type {boolean} */
                          this.rootNode = rootNode;
                          this.reachableCache = void 0;
                          this.wasReachableCache = void 0;
                          /** @type {boolean} */
                          this.anyParentsChanged = false;
                          /** @type {boolean} */
                          this[_0x2c7b("0xb9")] = false;
                          /** @type {boolean} */
                          this.anyCharacterDataChanged = false;
                          /** @type {number} */
                          var i = 0;
                          for (; i < mutations.length; i++) {
                              var mutation = mutations[i];
                              switch (mutation[_0x2c7b("0x8e")]) {
                                  case "childList":
                                      /** @type {boolean} */
                                      this.anyParentsChanged = true;
                                      /** @type {number} */
                                      var i = 0;
                                      for (; i < mutation[_0x2c7b("0xba")].length; i++) {
                                          var node = mutation.removedNodes[i];
                                          this.getChange(node)[_0x2c7b("0xbb")](mutation.target);
                                      }
                                      /** @type {number} */
                                      i = 0;
                                      for (; i < mutation[_0x2c7b("0xbc")].length; i++) {
                                          node = mutation.addedNodes[i];
                                          this.getChange(node).insertedIntoParent();
                                      }
                                      break;
                                  case _0x2c7b("0xbd"):
                                      /** @type {boolean} */
                                      this[_0x2c7b("0xb9")] = true;
                                      this.getChange(mutation[_0x2c7b("0x18")]).attributeMutated(mutation.attributeName, mutation[_0x2c7b("0xbe")]);
                                      break;
                                  case "characterData":
                                      /** @type {boolean} */
                                      this[_0x2c7b("0xbf")] = true;
                                      this.getChange(mutation.target)[_0x2c7b("0xc0")](mutation.oldValue);
                              }
                          }
                      }
                      return __extends(TreeChanges, _super), TreeChanges[_0x2c7b("0x41")][_0x2c7b("0xc1")] = function (val) {
                          var node = this[_0x2c7b("0xa5")](val);
                          return node || (node = new Literal(val), this.set(val, node)), node;
                      }, TreeChanges.prototype[_0x2c7b("0xb7")] = function (target) {
                          var inside = this[_0x2c7b("0xa5")](target);
                          return inside ? inside[_0x2c7b("0xb7")]() : target.parentNode;
                      }, TreeChanges.prototype.getIsReachable = function (node) {
                          if (node === this.rootNode) {
                              return true;
                          }
                          if (!node) {
                              return false;
                          }
                          this.reachableCache = this[_0x2c7b("0xc2")] || new NodeMap;
                          var isReachable = this.reachableCache.get(node);
                          return void 0 === isReachable && (isReachable = this[_0x2c7b("0xc3")](node[_0x2c7b("0x31")]), this.reachableCache.set(node, isReachable)), isReachable;
                      }, TreeChanges[_0x2c7b("0x41")].getWasReachable = function (node, levelBegin) {
                          if (200 <= ++levelBegin) {
                              return false;
                          }
                          if (node === this[_0x2c7b("0xc4")]) {
                              return true;
                          }
                          if (!node) {
                              return false;
                          }
                          this.wasReachableCache = this[_0x2c7b("0xc5")] || new NodeMap;
                          var wasReachable = this.wasReachableCache.get(node);
                          return void 0 === wasReachable && (wasReachable = this.getWasReachable(this.getOldParent(node), levelBegin), this[_0x2c7b("0xc5")].set(node, wasReachable)), wasReachable;
                      }, TreeChanges[_0x2c7b("0x41")].reachabilityChange = function (node) {
                          return this.getIsReachable(node) ? this[_0x2c7b("0xc6")](node, 0) ? Movement[_0x2c7b("0xad")] : Movement.ENTERED : this[_0x2c7b("0xc6")](node, 0) ? Movement.EXITED : Movement.STAYED_OUT;
                      }, TreeChanges;
                  }(NodeMap);
                  var MutationProjection = function () {
                      /**
                       * @param {boolean} rootNode
                       * @param {string} mutations
                       * @param {!Array} selectors
                       * @param {?} calcReordered
                       * @param {!Array} calcOldPreviousSibling
                       * @return {undefined}
                       */
                      function MutationProjection(rootNode, mutations, selectors, calcReordered, calcOldPreviousSibling) {
                          /** @type {boolean} */
                          this.rootNode = rootNode;
                          /** @type {string} */
                          this.mutations = mutations;
                          /** @type {!Array} */
                          this.selectors = selectors;
                          this[_0x2c7b("0xc7")] = calcReordered;
                          /** @type {!Array} */
                          this.calcOldPreviousSibling = calcOldPreviousSibling;
                          this.treeChanges = new TreeChanges(rootNode, mutations);
                          /** @type {!Array} */
                          this[_0x2c7b("0xc8")] = [];
                          /** @type {!Array} */
                          this.exited = [];
                          this.stayedIn = new NodeMap;
                          this.visited = new NodeMap;
                          this.childListChangeMap = void 0;
                          this.characterDataOnly = void 0;
                          this.matchCache = void 0;
                          this.processMutations();
                      }
                      return MutationProjection.prototype.processMutations = function () {
                          if (this[_0x2c7b("0xc9")].anyParentsChanged || this.treeChanges[_0x2c7b("0xb9")]) {
                              var PL$13 = this.treeChanges.keys();
                              /** @type {number} */
                              var PL$17 = 0;
                              for (; PL$17 < PL$13[_0x2c7b("0x23")]; PL$17++) {
                                  this[_0x2c7b("0xca")](PL$13[PL$17], void 0);
                              }
                          }
                      }, MutationProjection[_0x2c7b("0x41")].visitNode = function (node, parentReachable) {
                          if (!this.visited.has(node)) {
                              this.visited[_0x2c7b("0x52")](node, true);
                              var change = this[_0x2c7b("0xc9")].get(node);
                              /** @type {string} */
                              var reachable = parentReachable;
                              if ((change && change.childList || null == reachable) && (reachable = this.treeChanges[_0x2c7b("0xcb")](node)), reachable !== Movement.STAYED_OUT) {
                                  if (this[_0x2c7b("0xcc")](node), reachable === Movement[_0x2c7b("0xac")]) {
                                      this.entered[_0x2c7b("0x9")](node);
                                  } else {
                                      if (reachable === Movement.EXITED) {
                                          this.exited[_0x2c7b("0x9")](node);
                                          this.ensureHasOldPreviousSiblingIfNeeded(node);
                                      } else {
                                          if (reachable === Movement[_0x2c7b("0xad")]) {
                                              var movement = Movement.STAYED_IN;
                                              if (change && change[_0x2c7b("0xb5")]) {
                                                  if (change[_0x2c7b("0xb0")] !== node[_0x2c7b("0x31")]) {
                                                      movement = Movement[_0x2c7b("0xcd")];
                                                      this.ensureHasOldPreviousSiblingIfNeeded(node);
                                                  } else {
                                                      if (this[_0x2c7b("0xc7")] && this[_0x2c7b("0xce")](node)) {
                                                          movement = Movement[_0x2c7b("0xae")];
                                                      }
                                                  }
                                              }
                                              this.stayedIn.set(node, movement);
                                          }
                                      }
                                  }
                                  if (reachable !== Movement.STAYED_IN) {
                                      var child = node[_0x2c7b("0xcf")];
                                      for (; child; child = child.nextSibling) {
                                          this.visitNode(child, reachable);
                                      }
                                  }
                              }
                          }
                      }, MutationProjection[_0x2c7b("0x41")].ensureHasOldPreviousSiblingIfNeeded = function (node) {
                          if (this.calcOldPreviousSibling) {
                              this.processChildlistChanges();
                              var el = node[_0x2c7b("0x31")];
                              var children = this.treeChanges.get(node);
                              if (children && children[_0x2c7b("0xb0")]) {
                                  el = children[_0x2c7b("0xb0")];
                              }
                              var change = this.childListChangeMap.get(el);
                              if (!change) {
                                  change = new ChildListChange;
                                  this[_0x2c7b("0xd0")].set(el, change);
                              }
                              if (!change[_0x2c7b("0xb8")][_0x2c7b("0xa7")](node)) {
                                  change[_0x2c7b("0xb8")][_0x2c7b("0x52")](node, node.previousSibling);
                              }
                          }
                      }, MutationProjection.prototype[_0x2c7b("0xd1")] = function (summary, selectors, characterDataOnly) {
                          /** @type {!Array} */
                          this.selectors = selectors;
                          /** @type {number} */
                          this.characterDataOnly = characterDataOnly;
                          /** @type {number} */
                          var i = 0;
                          for (; i < this[_0x2c7b("0xc8")].length; i++) {
                              var node = this.entered[i];
                              if (!((matchable = this.matchabilityChange(node)) !== Movement.ENTERED && matchable !== Movement[_0x2c7b("0xad")])) {
                                  summary.added.push(node);
                              }
                          }
                          var topLevelNodes = this.stayedIn[_0x2c7b("0x20")]();
                          /** @type {number} */
                          i = 0;
                          for (; i < topLevelNodes.length; i++) {
                              if (node = topLevelNodes[i], (matchable = this.matchabilityChange(node)) === Movement.ENTERED) {
                                  summary[_0x2c7b("0xb6")].push(node);
                              } else {
                                  if (matchable === Movement.EXITED) {
                                      summary[_0x2c7b("0xd2")].push(node);
                                  } else {
                                      if (matchable === Movement[_0x2c7b("0xad")] && (summary.reparented || summary.reordered)) {
                                          var movement = this.stayedIn.get(node);
                                          if (summary.reparented && movement === Movement[_0x2c7b("0xcd")]) {
                                              summary[_0x2c7b("0xd3")].push(node);
                                          } else {
                                              if (summary.reordered && movement === Movement.REORDERED) {
                                                  summary[_0x2c7b("0xd4")].push(node);
                                              }
                                          }
                                      }
                                  }
                              }
                          }
                          /** @type {number} */
                          i = 0;
                          for (; i < this.exited.length; i++) {
                              var matchable;
                              node = this[_0x2c7b("0xd5")][i];
                              if (!((matchable = this.matchabilityChange(node)) !== Movement[_0x2c7b("0xd6")] && matchable !== Movement[_0x2c7b("0xad")])) {
                                  summary.removed.push(node);
                              }
                          }
                      }, MutationProjection.prototype.getOldParentNode = function (node) {
                          var change = this[_0x2c7b("0xc9")][_0x2c7b("0xa5")](node);
                          if (change && change[_0x2c7b("0xb5")]) {
                              return change.oldParentNode ? change.oldParentNode : null;
                          }
                          var s = this.treeChanges.reachabilityChange(node);
                          if (s === Movement[_0x2c7b("0xab")] || s === Movement[_0x2c7b("0xac")]) {
                              throw Error("getOldParentNode requested on invalid node.");
                          }
                          return node[_0x2c7b("0x31")];
                      }, MutationProjection[_0x2c7b("0x41")].getOldPreviousSibling = function (node) {
                          var parentNode = node.parentNode;
                          var nodeChange = this[_0x2c7b("0xc9")].get(node);
                          if (nodeChange && nodeChange.oldParentNode) {
                              parentNode = nodeChange[_0x2c7b("0xb0")];
                          }
                          var curParentView = this.childListChangeMap.get(parentNode);
                          if (!curParentView) {
                              throw Error("getOldPreviousSibling requested on invalid node.");
                          }
                          return curParentView[_0x2c7b("0xb8")][_0x2c7b("0xa5")](node);
                      }, MutationProjection.prototype[_0x2c7b("0xd7")] = function (array, attrName) {
                          var change = this[_0x2c7b("0xc9")].get(array);
                          if (!change || !change[_0x2c7b("0xbd")]) {
                              throw Error(_0x2c7b("0xd8"));
                          }
                          var help = change.getAttributeOldValue(attrName);
                          if (void 0 === help) {
                              throw Error("getOldAttribute requested for unchanged attribute name.");
                          }
                          return help;
                      }, MutationProjection[_0x2c7b("0x41")].attributeChangedNodes = function (values) {
                          if (!this.treeChanges.anyAttributesChanged) {
                              return {};
                          }
                          var elem;
                          var otTypes;
                          if (values) {
                              elem = {};
                              otTypes = {};
                              /** @type {number} */
                              var i = 0;
                              for (; i < values[_0x2c7b("0x23")]; i++) {
                                  /** @type {boolean} */
                                  elem[type = values[i]] = true;
                                  otTypes[type.toLowerCase()] = type;
                              }
                          }
                          var result = {};
                          var targets = this.treeChanges[_0x2c7b("0x20")]();
                          /** @type {number} */
                          i = 0;
                          for (; i < targets.length; i++) {
                              var target = targets[i];
                              var change = this.treeChanges.get(target);
                              if (change.attributes && Movement.STAYED_IN === this[_0x2c7b("0xc9")][_0x2c7b("0xcb")](target) && Movement.STAYED_IN === this[_0x2c7b("0xcc")](target)) {
                                  var itemNode = target;
                                  var PL$13 = change[_0x2c7b("0xd9")]();
                                  /** @type {number} */
                                  var PL$17 = 0;
                                  for (; PL$17 < PL$13[_0x2c7b("0x23")]; PL$17++) {
                                      var type = PL$13[PL$17];
                                      if ((!elem || elem[type] || change[_0x2c7b("0xb3")] && otTypes[type]) && change.getAttributeOldValue(type) !== itemNode.getAttribute(type)) {
                                          if (otTypes && change.isCaseInsensitive) {
                                              type = otTypes[type];
                                          }
                                          result[type] = result[type] || [];
                                          result[type][_0x2c7b("0x9")](itemNode);
                                      }
                                  }
                              }
                          }
                          return result;
                      }, MutationProjection.prototype.getOldCharacterData = function (node) {
                          var change = this.treeChanges[_0x2c7b("0xa5")](node);
                          if (!change || !change[_0x2c7b("0xaf")]) {
                              throw Error("getOldCharacterData requested on invalid node.");
                          }
                          return change.characterDataOldValue;
                      }, MutationProjection[_0x2c7b("0x41")].getCharacterDataChanged = function () {
                          if (!this[_0x2c7b("0xc9")].anyCharacterDataChanged) {
                              return [];
                          }
                          var PL$13 = this.treeChanges[_0x2c7b("0x20")]();
                          /** @type {!Array} */
                          var result = [];
                          /** @type {number} */
                          var PL$17 = 0;
                          for (; PL$17 < PL$13[_0x2c7b("0x23")]; PL$17++) {
                              var el = PL$13[PL$17];
                              if (Movement.STAYED_IN === this[_0x2c7b("0xc9")][_0x2c7b("0xcb")](el)) {
                                  var change = this.treeChanges.get(el);
                                  if (change.characterData && el.textContent != change[_0x2c7b("0xda")]) {
                                      result.push(el);
                                  }
                              }
                          }
                          return result;
                      }, MutationProjection[_0x2c7b("0x41")].computeMatchabilityChange = function (selector, el) {
                          if (!this[_0x2c7b("0xdb")]) {
                              /** @type {!Array} */
                              this[_0x2c7b("0xdb")] = [];
                          }
                          if (!this[_0x2c7b("0xdb")][selector.uid]) {
                              this[_0x2c7b("0xdb")][selector[_0x2c7b("0xdc")]] = new NodeMap;
                          }
                          var nodes = this.matchCache[selector.uid];
                          var value = nodes[_0x2c7b("0xa5")](el);
                          return void 0 === value && (value = selector[_0x2c7b("0xcc")](el, this.treeChanges.get(el)), nodes.set(el, value)), value;
                      }, MutationProjection[_0x2c7b("0x41")][_0x2c7b("0xcc")] = function (elem) {
                          var command_codes = this;
                          if (this.characterDataOnly) {
                              switch (elem[_0x2c7b("0xdd")]) {
                                  case Node.COMMENT_NODE:
                                  case Node.TEXT_NODE:
                                      return Movement.STAYED_IN;
                                  default:
                                      return Movement[_0x2c7b("0xab")];
                              }
                          }
                          if (!this.selectors) {
                              return Movement[_0x2c7b("0xad")];
                          }
                          if (elem.nodeType !== Node.ELEMENT_NODE) {
                              return Movement.STAYED_OUT;
                          }
                          /** @type {!Object} */
                          var cur = elem;
                          var keywordResults = this[_0x2c7b("0xde")].map(function (data) {
                              return command_codes[_0x2c7b("0xdf")](data, cur);
                          });
                          var accum = Movement.STAYED_OUT;
                          /** @type {number} */
                          var i = 0;
                          for (; accum !== Movement[_0x2c7b("0xad")] && i < keywordResults.length;) {
                              switch (keywordResults[i]) {
                                  case Movement[_0x2c7b("0xad")]:
                                      accum = Movement[_0x2c7b("0xad")];
                                      break;
                                  case Movement.ENTERED:
                                      accum = accum === Movement[_0x2c7b("0xd6")] ? Movement.STAYED_IN : Movement[_0x2c7b("0xac")];
                                      break;
                                  case Movement.EXITED:
                                      accum = accum === Movement.ENTERED ? Movement.STAYED_IN : Movement[_0x2c7b("0xd6")];
                              }
                              i++;
                          }
                          return accum;
                      }, MutationProjection.prototype.getChildlistChange = function (schema) {
                          var fields = this[_0x2c7b("0xd0")][_0x2c7b("0xa5")](schema);
                          return fields || (fields = new ChildListChange, this.childListChangeMap[_0x2c7b("0x52")](schema, fields)), fields;
                      }, MutationProjection[_0x2c7b("0x41")].processChildlistChanges = function () {
                          /**
                           * @param {!Node} previous
                           * @param {!Array} node
                           * @return {undefined}
                           */
                          function recordOldPrevious(previous, node) {
                              if (!(!previous || change.oldPrevious.has(previous) || change.added.has(previous) || change.maybeMoved[_0x2c7b("0xa7")](previous) || node && (change.added[_0x2c7b("0xa7")](node) || change.maybeMoved.has(node)))) {
                                  change.oldPrevious.set(previous, node);
                              }
                          }
                          if (!this.childListChangeMap) {
                              this.childListChangeMap = new NodeMap;
                              /** @type {number} */
                              var i = 0;
                              for (; i < this[_0x2c7b("0xe0")].length; i++) {
                                  var mutation = this[_0x2c7b("0xe0")][i];
                                  if ("childList" == mutation[_0x2c7b("0x8e")] && (this[_0x2c7b("0xc9")][_0x2c7b("0xcb")](mutation.target) === Movement.STAYED_IN || this.calcOldPreviousSibling)) {
                                      var change = this[_0x2c7b("0xe1")](mutation.target);
                                      var oldPrevious = mutation[_0x2c7b("0xe2")];
                                      /** @type {number} */
                                      var i = 0;
                                      for (; i < mutation.removedNodes[_0x2c7b("0x23")]; i++) {
                                          recordOldPrevious(node = mutation.removedNodes[i], oldPrevious);
                                          if (change[_0x2c7b("0xb6")].has(node)) {
                                              change[_0x2c7b("0xb6")]["delete"](node);
                                          } else {
                                              change.removed[_0x2c7b("0x52")](node, true);
                                              change.maybeMoved[_0x2c7b("0xa8")](node);
                                          }
                                          oldPrevious = node;
                                      }
                                      recordOldPrevious(mutation.nextSibling, oldPrevious);
                                      /** @type {number} */
                                      i = 0;
                                      for (; i < mutation.addedNodes.length; i++) {
                                          var node = mutation.addedNodes[i];
                                          if (change.removed.has(node)) {
                                              change[_0x2c7b("0xd2")]["delete"](node);
                                              change[_0x2c7b("0xe3")].set(node, true);
                                          } else {
                                              change[_0x2c7b("0xb6")][_0x2c7b("0x52")](node, true);
                                          }
                                      }
                                  }
                              }
                          }
                      }, MutationProjection.prototype.wasReordered = function (node) {
                          if (!this[_0x2c7b("0xc9")][_0x2c7b("0xe5")]) {
                              return false;
                          }
                          this[_0x2c7b("0xe6")]();
                          var parentNode = node[_0x2c7b("0x31")];
                          var nodeChange = this.treeChanges.get(node);
                          if (nodeChange && nodeChange.oldParentNode) {
                              parentNode = nodeChange.oldParentNode;
                          }
                          var change = this.childListChangeMap.get(parentNode);
                          if (!change) {
                              return false;
                          }
                          if (change[_0x2c7b("0xe4")]) {
                              return change[_0x2c7b("0xe4")].get(node);
                          }
                          change.moved = new NodeMap;
                          var ranges = new NodeMap;
                          var oldPreviousCache = new NodeMap;
                          var that = new NodeMap;
                          return change[_0x2c7b("0xe3")].keys()[_0x2c7b("0xe7")](function init(d) {
                              if (!d) {
                                  return false;
                              }
                              if (!change.maybeMoved.has(d)) {
                                  return false;
                              }
                              var i = change[_0x2c7b("0xe4")].get(d);
                              return void 0 !== i || (ranges[_0x2c7b("0xa7")](d) ? i = true : (ranges[_0x2c7b("0x52")](d, true), i = function (value) {
                                  if (that[_0x2c7b("0xa7")](value)) {
                                      return that.get(value);
                                  }
                                  var result = value.previousSibling;
                                  for (; result && (change.added.has(result) || init(result));) {
                                      result = result.previousSibling;
                                  }
                                  return that.set(value, result), result;
                              }(d) !== function getOldPrevious(node) {
                                  var oldPrevious = oldPreviousCache[_0x2c7b("0xa5")](node);
                                  if (void 0 !== oldPrevious) {
                                      return oldPrevious;
                                  }
                                  oldPrevious = change.oldPrevious.get(node);
                                  for (; oldPrevious && (change[_0x2c7b("0xd2")].has(oldPrevious) || init(oldPrevious));) {
                                      oldPrevious = getOldPrevious(oldPrevious);
                                  }
                                  return void 0 === oldPrevious && (oldPrevious = node.previousSibling), oldPreviousCache.set(node, oldPrevious), oldPrevious;
                              }(d)), ranges.has(d) ? (ranges["delete"](d), change[_0x2c7b("0xe4")].set(d, i)) : i = change.moved.get(d)), i;
                          }), change.moved.get(node);
                      }, MutationProjection;
                  }();
                  var Summary = function () {
                      /**
                       * @param {?} projection
                       * @param {!Object} query
                       * @return {undefined}
                       */
                      function Summary(projection, query) {
                          var indexesByNodeName = this;
                          if (this[_0x2c7b("0xe8")] = projection, this[_0x2c7b("0xb6")] = [], this[_0x2c7b("0xd2")] = [], this[_0x2c7b("0xd3")] = query[_0x2c7b("0x4")] || query[_0x2c7b("0xe9")] || query.characterData ? [] : void 0, this.reordered = query[_0x2c7b("0x4")] ? [] : void 0, projection.getChanged(this, query.elementFilter, query.characterData), query[_0x2c7b("0x4")] || query.attribute || query.attributeList) {
                              var filter = query.attribute ? [query[_0x2c7b("0xea")]] : query.attributeList;
                              var attributeChanged = projection.attributeChangedNodes(filter);
                              if (query[_0x2c7b("0xea")]) {
                                  this.valueChanged = attributeChanged[query[_0x2c7b("0xea")]] || [];
                              } else {
                                  this.attributeChanged = attributeChanged;
                                  if (query.attributeList) {
                                      query.attributeList.forEach(function (name) {
                                          if (!indexesByNodeName[_0x2c7b("0xeb")][_0x2c7b("0xb")](name)) {
                                              /** @type {!Array} */
                                              indexesByNodeName[_0x2c7b("0xeb")][name] = [];
                                          }
                                      });
                                  }
                              }
                          }
                          if (query.all || query[_0x2c7b("0xaf")]) {
                              var characterDataChanged = projection.getCharacterDataChanged();
                              if (query[_0x2c7b("0xaf")]) {
                                  this.valueChanged = characterDataChanged;
                              } else {
                                  this.characterDataChanged = characterDataChanged;
                              }
                          }
                          if (this.reordered) {
                              this.getOldPreviousSibling = projection[_0x2c7b("0xec")].bind(projection);
                          }
                      }
                      return Summary.prototype.getOldParentNode = function (arg) {
                          return this.projection[_0x2c7b("0xed")](arg);
                      }, Summary[_0x2c7b("0x41")][_0x2c7b("0xd7")] = function (node, name) {
                          return this.projection.getOldAttribute(node, name);
                      }, Summary.prototype[_0x2c7b("0xee")] = function (e) {
                          return this[_0x2c7b("0xe8")][_0x2c7b("0xee")](e);
                      }, Summary[_0x2c7b("0x41")].getOldPreviousSibling = function (node) {
                          return this.projection.getOldPreviousSibling(node);
                      }, Summary;
                  }();
                  /** @type {!RegExp} */
                  var rDataName = /[a-zA-Z_]+/;
                  /** @type {!RegExp} */
                  var d = /[a-zA-Z0-9_\-]+/;
                  var Qualifier = function () {
                      /**
                       * @return {undefined}
                       */
                      function e() {}
                      return e.prototype[_0x2c7b("0xef")] = function (oldValue) {
                          if (null === oldValue) {
                              return false;
                          }
                          if (void 0 === this.attrValue) {
                              return true;
                          }
                          if (!this[_0x2c7b("0xf0")]) {
                              return this.attrValue == oldValue;
                          }
                          var keywordResults = oldValue.split(" ");
                          /** @type {number} */
                          var i = 0;
                          for (; i < keywordResults.length; i++) {
                              if (this[_0x2c7b("0xf1")] === keywordResults[i]) {
                                  return true;
                              }
                          }
                          return false;
                      }, e[_0x2c7b("0x41")].toString = function () {
                          return "class" === this.attrName && this.contains ? "." + this[_0x2c7b("0xf1")] : "id" !== this[_0x2c7b("0xf2")] || this.contains ? this[_0x2c7b("0xf0")] ? "[" + this[_0x2c7b("0xf2")] + "~=" + translateChars(this.attrValue) + "]" : "attrValue" in this ? "[" + this[_0x2c7b("0xf2")] + "=" + translateChars(this.attrValue) + "]" : "[" + this.attrName + "]" : "#" + this.attrValue;
                      }, e;
                  }();
                  var self = function () {
                      /**
                       * @return {undefined}
                       */
                      function Selector() {
                          /** @type {number} */
                          this.uid = Selector.nextUid++;
                          /** @type {!Array} */
                          this.qualifiers = [];
                      }
                      return Object[_0x2c7b("0x51")](Selector.prototype, "caseInsensitiveTagName", {
                          get: function () {
                              return this.tagName.toUpperCase();
                          },
                          enumerable: true,
                          configurable: true
                      }), Object.defineProperty(Selector.prototype, _0x2c7b("0xf3"), {
                          get: function () {
                              return this[_0x2c7b("0xf4")] + this.qualifiers.join("");
                          },
                          enumerable: true,
                          configurable: true
                      }), Selector[_0x2c7b("0x41")].isMatching = function (el) {
                          return el[Selector[_0x2c7b("0xf5")]](this.selectorString);
                      }, Selector.prototype.wasMatching = function (el, change, isMatching) {
                          if (!change || !change[_0x2c7b("0xbd")]) {
                              return isMatching;
                          }
                          var tagName = change.isCaseInsensitive ? this.caseInsensitiveTagName : this[_0x2c7b("0xf4")];
                          if ("*" !== tagName && tagName !== el.tagName) {
                              return false;
                          }
                          /** @type {!Array} */
                          var attributeOldValues = [];
                          /** @type {boolean} */
                          var dirty = false;
                          /** @type {number} */
                          var i = 0;
                          for (; i < this.qualifiers.length; i++) {
                              var qualifier = this.qualifiers[i];
                              var oldValue = change.getAttributeOldValue(qualifier[_0x2c7b("0xf2")]);
                              attributeOldValues.push(oldValue);
                              /** @type {boolean} */
                              dirty = dirty || void 0 !== oldValue;
                          }
                          if (!dirty) {
                              return isMatching;
                          }
                          /** @type {number} */
                          i = 0;
                          for (; i < this[_0x2c7b("0xf6")].length; i++) {
                              if (qualifier = this[_0x2c7b("0xf6")][i], void 0 === (oldValue = attributeOldValues[i]) && (oldValue = el.getAttribute(qualifier.attrName)), !qualifier.matches(oldValue)) {
                                  return false;
                              }
                          }
                          return true;
                      }, Selector.prototype.matchabilityChange = function (el, change) {
                          var isMatching = this.isMatching(el);
                          return isMatching ? this[_0x2c7b("0xf7")](el, change, isMatching) ? Movement[_0x2c7b("0xad")] : Movement[_0x2c7b("0xac")] : this[_0x2c7b("0xf7")](el, change, isMatching) ? Movement.EXITED : Movement[_0x2c7b("0xab")];
                      }, Selector.parseSelectors = function (string) {
                          /**
                           * @return {undefined}
                           */
                          function newSelector() {
                              if (currentSelector) {
                                  if (data) {
                                      currentSelector[_0x2c7b("0xf6")][_0x2c7b("0x9")](data);
                                      data = void 0;
                                  }
                                  selectors.push(currentSelector);
                              }
                              currentSelector = new Selector;
                          }
                          /**
                           * @return {undefined}
                           */
                          function newQualifier() {
                              if (data) {
                                  currentSelector.qualifiers.push(data);
                              }
                              data = new Qualifier;
                          }
                          var currentSelector;
                          var data;
                          var prev_c;
                          /** @type {!Array} */
                          var selectors = [];
                          /** @type {!RegExp} */
                          var entry = /\s/;
                          var SYNTAX_ERROR = _0x2c7b("0xf8");
                          /** @type {number} */
                          var s = 1;
                          /** @type {number} */
                          var i = 0;
                          for (; i < string.length;) {
                              var c = string[i++];
                              switch (s) {
                                  case 1:
                                      if (c.match(rDataName)) {
                                          newSelector();
                                          currentSelector.tagName = c;
                                          /** @type {number} */
                                          s = 2;
                                          break;
                                      }
                                      if ("*" == c) {
                                          newSelector();
                                          /** @type {string} */
                                          currentSelector.tagName = "*";
                                          /** @type {number} */
                                          s = 3;
                                          break;
                                      }
                                      if ("." == c) {
                                          newSelector();
                                          newQualifier();
                                          /** @type {string} */
                                          currentSelector.tagName = "*";
                                          data[_0x2c7b("0xf2")] = _0x2c7b("0xf9");
                                          /** @type {boolean} */
                                          data.contains = true;
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("#" == c) {
                                          newSelector();
                                          newQualifier();
                                          /** @type {string} */
                                          currentSelector[_0x2c7b("0xf4")] = "*";
                                          /** @type {string} */
                                          data[_0x2c7b("0xf2")] = "id";
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("[" == c) {
                                          newSelector();
                                          newQualifier();
                                          /** @type {string} */
                                          currentSelector[_0x2c7b("0xf4")] = "*";
                                          /** @type {string} */
                                          data[_0x2c7b("0xf2")] = "";
                                          /** @type {number} */
                                          s = 6;
                                          break;
                                      }
                                      if (c.match(entry)) {
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 2:
                                      if (c.match(d)) {
                                          currentSelector[_0x2c7b("0xf4")] += c;
                                          break;
                                      }
                                      if ("." == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data.attrName = "class";
                                          /** @type {boolean} */
                                          data[_0x2c7b("0xf0")] = true;
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("#" == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data[_0x2c7b("0xf2")] = "id";
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("[" == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data.attrName = "";
                                          /** @type {number} */
                                          s = 6;
                                          break;
                                      }
                                      if (c.match(entry)) {
                                          /** @type {number} */
                                          s = 14;
                                          break;
                                      }
                                      if ("," == c) {
                                          /** @type {number} */
                                          s = 1;
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 3:
                                      if ("." == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data.attrName = "class";
                                          /** @type {boolean} */
                                          data[_0x2c7b("0xf0")] = true;
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("#" == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data[_0x2c7b("0xf2")] = "id";
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("[" == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data[_0x2c7b("0xf2")] = "";
                                          /** @type {number} */
                                          s = 6;
                                          break;
                                      }
                                      if (c[_0x2c7b("0x3b")](entry)) {
                                          /** @type {number} */
                                          s = 14;
                                          break;
                                      }
                                      if ("," == c) {
                                          /** @type {number} */
                                          s = 1;
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 4:
                                      if (c.match(rDataName)) {
                                          data.attrValue = c;
                                          /** @type {number} */
                                          s = 5;
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 5:
                                      if (c.match(d)) {
                                          data.attrValue += c;
                                          break;
                                      }
                                      if ("." == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data.attrName = "class";
                                          /** @type {boolean} */
                                          data[_0x2c7b("0xf0")] = true;
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("#" == c) {
                                          newQualifier();
                                          /** @type {string} */
                                          data.attrName = "id";
                                          /** @type {number} */
                                          s = 4;
                                          break;
                                      }
                                      if ("[" == c) {
                                          newQualifier();
                                          /** @type {number} */
                                          s = 6;
                                          break;
                                      }
                                      if (c.match(entry)) {
                                          /** @type {number} */
                                          s = 14;
                                          break;
                                      }
                                      if ("," == c) {
                                          /** @type {number} */
                                          s = 1;
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 6:
                                      if (c.match(rDataName)) {
                                          data.attrName = c;
                                          /** @type {number} */
                                          s = 7;
                                          break;
                                      }
                                      if (c.match(entry)) {
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 7:
                                      if (c.match(d)) {
                                          data.attrName += c;
                                          break;
                                      }
                                      if (c[_0x2c7b("0x3b")](entry)) {
                                          /** @type {number} */
                                          s = 8;
                                          break;
                                      }
                                      if ("~" == c) {
                                          /** @type {boolean} */
                                          data.contains = true;
                                          /** @type {number} */
                                          s = 9;
                                          break;
                                      }
                                      if ("=" == c) {
                                          /** @type {string} */
                                          data.attrValue = "";
                                          /** @type {number} */
                                          s = 11;
                                          break;
                                      }
                                      if ("]" == c) {
                                          /** @type {number} */
                                          s = 3;
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 8:
                                      if ("~" == c) {
                                          /** @type {boolean} */
                                          data.contains = true;
                                          /** @type {number} */
                                          s = 9;
                                          break;
                                      }
                                      if ("=" == c) {
                                          /** @type {string} */
                                          data.attrValue = "";
                                          /** @type {number} */
                                          s = 11;
                                          break;
                                      }
                                      if ("]" == c) {
                                          /** @type {number} */
                                          s = 3;
                                          break;
                                      }
                                      if (c.match(entry)) {
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 9:
                                      if ("=" == c) {
                                          /** @type {string} */
                                          data.attrValue = "";
                                          /** @type {number} */
                                          s = 11;
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 10:
                                      if ("]" == c) {
                                          /** @type {number} */
                                          s = 3;
                                          break;
                                      }
                                      if (c[_0x2c7b("0x3b")](entry)) {
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                                  case 11:
                                      if (c[_0x2c7b("0x3b")](entry)) {
                                          break;
                                      }
                                      if ('"' == c || "'" == c) {
                                          prev_c = c;
                                          /** @type {number} */
                                          s = 13;
                                          break;
                                      }
                                      data.attrValue += c;
                                      /** @type {number} */
                                      s = 12;
                                      break;
                                  case 12:
                                      if (c[_0x2c7b("0x3b")](entry)) {
                                          /** @type {number} */
                                          s = 10;
                                          break;
                                      }
                                      if ("]" == c) {
                                          /** @type {number} */
                                          s = 3;
                                          break;
                                      }
                                      if ("'" == c || '"' == c) {
                                          throw Error(SYNTAX_ERROR);
                                      }
                                      data[_0x2c7b("0xf1")] += c;
                                      break;
                                  case 13:
                                      if (c == prev_c) {
                                          /** @type {number} */
                                          s = 10;
                                          break;
                                      }
                                      data.attrValue += c;
                                      break;
                                  case 14:
                                      if (c[_0x2c7b("0x3b")](entry)) {
                                          break;
                                      }
                                      if ("," == c) {
                                          /** @type {number} */
                                          s = 1;
                                          break;
                                      }
                                      throw Error(SYNTAX_ERROR);
                              }
                          }
                          switch (s) {
                              case 1:
                              case 2:
                              case 3:
                              case 5:
                              case 14:
                                  newSelector();
                                  break;
                              default:
                                  throw Error(SYNTAX_ERROR);
                          }
                          if (!selectors[_0x2c7b("0x23")]) {
                              throw Error(SYNTAX_ERROR);
                          }
                          return selectors;
                      }, Selector.nextUid = 1, Selector.matchesSelector = _0x2c7b("0x69") == typeof (node = document[_0x2c7b("0xfa")]("div")).webkitMatchesSelector ? "webkitMatchesSelector" : "function" == typeof node[_0x2c7b("0xfb")] ? _0x2c7b("0xfb") : "function" == typeof node.msMatchesSelector ? "msMatchesSelector" : "matchesSelector", Selector;
                      var node;
                  }();
                  /** @type {!RegExp} */
                  var data = /^([a-zA-Z:_]+[a-zA-Z0-9_\-:\.]*)$/;
                  var storeMixin = function () {
                      /**
                       * @param {?} opts
                       * @return {undefined}
                       */
                      function MutationSummary(opts) {
                          if (void 0 === MO) {
                              throw new Error(_0x2c7b("0xfc"));
                          }
                          var align = this;
                          /** @type {boolean} */
                          this.connected = false;
                          this.options = MutationSummary[_0x2c7b("0xfd")](opts);
                          this.observerOptions = MutationSummary[_0x2c7b("0xfe")](this[_0x2c7b("0xff")].queries);
                          this[_0x2c7b("0x100")] = this.options[_0x2c7b("0xc4")];
                          this[_0x2c7b("0x101")] = this.options.callback;
                          /** @type {!Array<?>} */
                          this.elementFilter = Array.prototype.concat.apply([], this.options.queries[_0x2c7b("0x90")](function (query) {
                              return query[_0x2c7b("0x102")] ? query.elementFilter : [];
                          }));
                          if (!this.elementFilter.length) {
                              this.elementFilter = void 0;
                          }
                          this[_0x2c7b("0xc7")] = this[_0x2c7b("0xff")][_0x2c7b("0x103")].some(function (filesStats1) {
                              return filesStats1.all;
                          });
                          /** @type {!Array} */
                          this.queryValidators = [];
                          if (MutationSummary.createQueryValidator) {
                              this.queryValidators = this.options.queries.map(function (e) {
                                  return MutationSummary[_0x2c7b("0x104")](align.root, e);
                              });
                          }
                          this.observer = new MO(function (data) {
                              align[_0x2c7b("0x105")](data);
                          });
                          this.reconnect();
                      }
                      return MutationSummary[_0x2c7b("0xfe")] = function (wrappersTemplates) {
                          /**
                           * @param {!Array} attributes
                           * @return {?}
                           */
                          function observeAttributes(attributes) {
                              if (!options.attributes || vals) {
                                  if (options.attributes = true, options.attributeOldValue = true, !attributes) {
                                      return void(vals = void 0);
                                  }
                                  vals = vals || {};
                                  attributes.forEach(function (tagName) {
                                      /** @type {boolean} */
                                      vals[tagName] = true;
                                      /** @type {boolean} */
                                      vals[tagName.toLowerCase()] = true;
                                  });
                              }
                          }
                          var vals;
                          var options = {
                              childList: true,
                              subtree: true
                          };
                          return wrappersTemplates.forEach(function (query) {
                              if (query.characterData) {
                                  return options.characterData = true, void(options[_0x2c7b("0xda")] = true);
                              }
                              if (query.all) {
                                  return observeAttributes(), options[_0x2c7b("0xaf")] = true, void(options.characterDataOldValue = true);
                              }
                              if (query[_0x2c7b("0xea")]) {
                                  observeAttributes([query.attribute.trim()]);
                              } else {
                                  var propVal;
                                  var observeProps;
                                  var attributes = (propVal = query[_0x2c7b("0x102")], observeProps = {}, propVal[_0x2c7b("0xe7")](function (appContentMap) {
                                      appContentMap[_0x2c7b("0xf6")].forEach(function (e) {
                                          /** @type {boolean} */
                                          observeProps[e.attrName] = true;
                                      });
                                  }), Object[_0x2c7b("0x20")](observeProps)).concat(query[_0x2c7b("0x106")] || []);
                                  if (attributes.length) {
                                      observeAttributes(attributes);
                                  }
                              }
                          }), vals && (options[_0x2c7b("0x107")] = Object.keys(vals)), options;
                      }, MutationSummary.validateOptions = function (options) {
                          var prop;
                          for (prop in options) {
                              if (!(prop in MutationSummary.optionKeys)) {
                                  throw Error("Invalid option: " + prop);
                              }
                          }
                          if ("function" != typeof options.callback) {
                              throw Error("Invalid options: callback is required and must be a function");
                          }
                          if (!options.queries || !options.queries[_0x2c7b("0x23")]) {
                              throw Error(_0x2c7b("0x108"));
                          }
                          var opts = {
                              callback: options.callback,
                              rootNode: options[_0x2c7b("0xc4")] || document,
                              observeOwnChanges: !!options[_0x2c7b("0x109")],
                              oldPreviousSibling: !!options.oldPreviousSibling,
                              queries: []
                          };
                          /** @type {number} */
                          var id = 0;
                          for (; id < options.queries[_0x2c7b("0x23")]; id++) {
                              var request = options.queries[id];
                              if (request[_0x2c7b("0x4")]) {
                                  if (1 < Object[_0x2c7b("0x20")](request).length) {
                                      throw Error("Invalid request option. all has no options.");
                                  }
                                  opts.queries[_0x2c7b("0x9")]({
                                      all: true
                                  });
                              } else {
                                  if ("attribute" in request) {
                                      if ((options = {
                                              attribute: validateAttribute(request.attribute)
                                          }).elementFilter = self[_0x2c7b("0x10a")]("*[" + options.attribute + "]"), 1 < Object[_0x2c7b("0x20")](request).length) {
                                          throw Error("Invalid request option. attribute has no options.");
                                      }
                                      opts.queries[_0x2c7b("0x9")](options);
                                  } else {
                                      if ("element" in request) {
                                          /** @type {number} */
                                          var readersLength = Object.keys(request).length;
                                          var options = {
                                              element: request[_0x2c7b("0xe9")],
                                              elementFilter: self.parseSelectors(request.element)
                                          };
                                          if (request[_0x2c7b("0xb")](_0x2c7b("0x10b")) && (options.attributeList = validateElementAttributes(request.elementAttributes), readersLength--), 1 < readersLength) {
                                              throw Error("Invalid request option. element only allows elementAttributes option.");
                                          }
                                          opts.queries.push(options);
                                      } else {
                                          if (!request.characterData) {
                                              throw Error(_0x2c7b("0x10c"));
                                          }
                                          if (1 < Object[_0x2c7b("0x20")](request)[_0x2c7b("0x23")]) {
                                              throw Error("Invalid request option. characterData has no options.");
                                          }
                                          opts.queries[_0x2c7b("0x9")]({
                                              characterData: true
                                          });
                                      }
                                  }
                              }
                          }
                          return opts;
                      }, MutationSummary.prototype.createSummaries = function (mutations) {
                          if (!mutations || !mutations[_0x2c7b("0x23")]) {
                              return [];
                          }
                          var projection = new MutationProjection(this.root, mutations, this.elementFilter, this[_0x2c7b("0xc7")], this.options.oldPreviousSibling);
                          /** @type {!Array} */
                          var summaries = [];
                          /** @type {number} */
                          var i = 0;
                          for (; i < this.options.queries.length; i++) {
                              summaries[_0x2c7b("0x9")](new Summary(projection, this.options.queries[i]));
                          }
                          return summaries;
                      }, MutationSummary[_0x2c7b("0x41")][_0x2c7b("0x10d")] = function () {
                          this.queryValidators.forEach(function (validator) {
                              if (validator) {
                                  validator.recordPreviousState();
                              }
                          });
                      }, MutationSummary.prototype.runQueryValidators = function (summaries) {
                          this.queryValidators[_0x2c7b("0xe7")](function (helper, index) {
                              if (helper) {
                                  helper[_0x2c7b("0x10e")](summaries[index]);
                              }
                          });
                      }, MutationSummary[_0x2c7b("0x41")][_0x2c7b("0x10f")] = function (featureObjs) {
                          return featureObjs.some(function (summary) {
                              return !![_0x2c7b("0xb6"), "removed", _0x2c7b("0xd4"), _0x2c7b("0xd3"), "valueChanged", "characterDataChanged"][_0x2c7b("0x110")](function (tag) {
                                  return summary[tag] && summary[tag][_0x2c7b("0x23")];
                              }) || !(!summary.attributeChanged || !Object[_0x2c7b("0x20")](summary.attributeChanged).some(function (attrName) {
                                  return !!summary.attributeChanged[attrName].length;
                              }));
                          });
                      }, MutationSummary.prototype.observerCallback = function (mutations) {
                          if (!this.options.observeOwnChanges) {
                              this.observer.disconnect();
                          }
                          var summaries = this.createSummaries(mutations);
                          this.runQueryValidators(summaries);
                          if (this.options[_0x2c7b("0x109")]) {
                              this.checkpointQueryValidators();
                          }
                          if (this.changesToReport(summaries)) {
                              this.callback(summaries);
                          }
                          if (!this[_0x2c7b("0xff")].observeOwnChanges && this.connected) {
                              this[_0x2c7b("0x10d")]();
                              this.observer.observe(this.root, this.observerOptions);
                          }
                      }, MutationSummary.prototype.reconnect = function () {
                          if (this.connected) {
                              throw Error("Already connected");
                          }
                          this.observer.observe(this.root, this[_0x2c7b("0x111")]);
                          /** @type {boolean} */
                          this.connected = true;
                          this[_0x2c7b("0x10d")]();
                      }, MutationSummary.prototype.takeSummaries = function () {
                          if (!this.connected) {
                              throw Error(_0x2c7b("0x112"));
                          }
                          var e = this[_0x2c7b("0x113")](this.observer.takeRecords());
                          return this[_0x2c7b("0x10f")](e) ? e : void 0;
                      }, MutationSummary[_0x2c7b("0x41")].disconnect = function () {
                          var e = this[_0x2c7b("0x114")]();
                          return this.observer.disconnect(), this.connected = false, e;
                      }, MutationSummary[_0x2c7b("0x115")] = NodeMap, MutationSummary[_0x2c7b("0x116")] = self.parseSelectors, MutationSummary[_0x2c7b("0x117")] = {
                          callback: true,
                          queries: true,
                          rootNode: true,
                          oldPreviousSibling: true,
                          observeOwnChanges: true
                      }, MutationSummary;
                  }();
                  module.exports = storeMixin;
              }, function (mixin, canCreateDiscussions, ex) {
                  /**
                   * @param {!Object} obj
                   * @return {?}
                   */
                  function _interopRequireDefault(obj) {
                      return obj && obj.__esModule ? obj : {
                          "default": obj
                      };
                  }
                  /**
                   * @param {!Array} a
                   * @return {?}
                   */
                  function merge(a) {
                      return function (val) {
                          var len = val.length;
                          if (len <= 1) {
                              return val;
                          }
                          val.map(function (trackInfoUrl) {
                              var lastTrackInfoUrl;
                              trackInfoUrl.funContent = ((lastTrackInfoUrl = trackInfoUrl)[_0x2c7b("0x2e")] || lastTrackInfoUrl.textContent).replace(/&amp;/g, "&");
                          });
                          val.map(function (submod, len) {
                              if (0 !== len) {
                                  var value = val[len - 1].funContent;
                                  var n = submod[_0x2c7b("0x118")];
                                  if (value !== n) {
                                      if (value && -1 != value.indexOf(n)) {
                                          /** @type {boolean} */
                                          submod[_0x2c7b("0x119")] = true;
                                      } else {
                                          if (n && -1 != n.indexOf(value)) {
                                              /** @type {boolean} */
                                              val[len - 1][_0x2c7b("0x119")] = true;
                                          }
                                      }
                                  }
                              }
                          });
                          /** @type {number} */
                          var idx = 0;
                          for (; idx < len; idx++) {
                              if (!val[idx][_0x2c7b("0x119")]) {
                                  /** @type {number} */
                                  var i = idx + 1;
                                  for (; i < len; i++) {
                                      if (!val[i][_0x2c7b("0x119")]) {
                                          var path = val[idx][_0x2c7b("0x118")];
                                          var pair = val[i].funContent;
                                          if (path !== pair) {
                                              if (path && -1 != path.indexOf(pair)) {
                                                  /** @type {boolean} */
                                                  val[i].isSmallContent = true;
                                              } else {
                                                  if (pair && -1 != pair[_0x2c7b("0x11a")](path)) {
                                                      /** @type {boolean} */
                                                      val[idx][_0x2c7b("0x119")] = true;
                                                      i = len;
                                                  }
                                              }
                                          }
                                      }
                                  }
                              }
                          }
                          /** @type {!Array} */
                          var index = [];
                          /** @type {number} */
                          var i = 0;
                          for (; i < len; i++) {
                              if (!val[i].isSmallContent) {
                                  index[_0x2c7b("0x9")](val[i]);
                              }
                              /** @type {boolean} */
                              val[i][_0x2c7b("0x119")] = false;
                          }
                          return index;
                      }(a);
                  }
                  /**
                   * @param {!Object} e
                   * @param {number} service
                   * @param {!Array} params
                   * @param {!Function} callback
                   * @return {?}
                   */
                  function run(e, service, params, callback) {
                      return 0 === params.length ? [] : (params = merge(params), 1 === service && params[_0x2c7b("0x90")](function (change) {
                          var olChangeFeature = e.getOldPreviousSibling(change);
                          change.oldPreviousSibling = olChangeFeature;
                          var obj = e[_0x2c7b("0xed")](change);
                          change[_0x2c7b("0xb0")] = obj;
                          /** @type {boolean} */
                          change.isRemovedNode = true;
                      }), function parse(ast, name, context, options) {
                          if (0 === context[_0x2c7b("0x23")]) {
                              return options.clearCache(), [];
                          }
                          var option = context.shift();
                          var event = new(_cropit2[_0x2c7b("0x7e")])(name, option, options);
                          if (event.getPinpoint() || 0 !== name) {
                              var connection = new(_Job2[_0x2c7b("0x7e")])(name, event);
                              var actual = parse(ast, name, context, options);
                              return [connection][_0x2c7b("0x11b")](actual);
                          }
                          var parent = option.parentNode;
                          var s = new(_Job2[_0x2c7b("0x7e")])(1, new _cropit2["default"](1, parent, options));
                          context.unshift(parent);
                          context = merge(context);
                          var actual = parse(ast, name, context, options);
                          return [s][_0x2c7b("0x11b")](actual);
                      }(e, service, params, callback));
                  }
                  var _custom2 = _interopRequireDefault(ex(3));
                  var _Job2 = _interopRequireDefault(ex(4));
                  var _cropit2 = _interopRequireDefault(ex(5));
                  var _fevent2 = _interopRequireDefault(ex(8));
                  var _node2 = _interopRequireDefault(ex(9));
                  /**
                   * @param {?} buildInTemplates
                   * @param {number} callback
                   * @return {?}
                   */
                  mixin.exports[_0x2c7b("0x8a")] = function (buildInTemplates, callback) {
                      return buildInTemplates.map(function (data) {
                          var staticStyle;
                          var file = data.removed;
                          (staticStyle = file).map(function (canCreateDiscussions) {
                              /** @type {boolean} */
                              canCreateDiscussions.funRemoved = true;
                          });
                          var options;
                          var p = run(data, 1, file = staticStyle, callback);
                          var result = run(data, 0, data.added, callback);
                          var program = function build(obj, options) {
                              if (_custom2[_0x2c7b("0x7e")][_0x2c7b("0x11c")](obj)) {
                                  return [];
                              }
                              /** @type {!Array} */
                              var chart = [];
                              /**
                               * @param {string} key
                               * @return {undefined}
                               */
                              var doStyle = function (key) {
                                  var container = obj[key][_0x2c7b("0x90")](function (config) {
                                      var node = new _cropit2["default"](2, config, options);
                                      var existingVocab = function (eventStr, canCreateDiscussions) {
                                          var params = config.attributes;
                                          /** @type {string} */
                                          var args = "";
                                          var i = params.length;
                                          /** @type {number} */
                                          var thatpos = 0;
                                          for (; thatpos < i; thatpos++) {
                                              var that = params[thatpos];
                                              if (that[_0x2c7b("0x58")] === eventStr) {
                                                  args = that.value;
                                                  break;
                                              }
                                          }
                                          return new _fevent2["default"](eventStr, args);
                                      }(key);
                                      var parameter = new(_node2[_0x2c7b("0x7e")])(node, [existingVocab]);
                                      return new _Job2["default"](2, parameter);
                                  });
                                  chart = chart[_0x2c7b("0x11b")](container);
                              };
                              var key;
                              for (key in obj) {
                                  doStyle(key);
                              }
                              return options.clearCache(), chart;
                          }(data[_0x2c7b("0xeb")], callback);
                          var projects = data.characterDataChanged;
                          var newNodeLists = (options = callback, projects.map(function (compilerHost) {
                              var reflectorHost = new _cropit2["default"](3, compilerHost, options);
                              return new(_Job2[_0x2c7b("0x7e")])(3, reflectorHost);
                          }));
                          return [].concat(p).concat(result)[_0x2c7b("0x11b")](program).concat(newNodeLists);
                      }).reduce(function (e, t) {
                          return e.concat(t);
                      }, []);
                  };
                  /** @type {function(!Array): ?} */
                  mixin.exports.extractCleanNodes = merge;
              }, function (module, canCreateDiscussions) {
                  /**
                   * @param {(Object|string)} transitions
                   * @return {?}
                   */
                  module[_0x2c7b("0x0")][_0x2c7b("0x11c")] = function (transitions) {
                      var t;
                      for (t in transitions) {
                          if (transitions.hasOwnProperty(t)) {
                              return false;
                          }
                      }
                      return true;
                  };
                  /**
                   * @param {!NodeList} patches
                   * @return {?}
                   */
                  module.exports[_0x2c7b("0x11d")] = function (patches) {
                      /** @type {!Array} */
                      var text = new Array(patches.length);
                      /** @type {number} */
                      var x = 0;
                      var i = patches.length;
                      for (; x < i; x++) {
                          text[x] = patches[x];
                      }
                      return text;
                  };
                  /**
                   * @return {?}
                   */
                  module.exports.uniqueID = function () {
                      /**
                       * @return {?}
                       */
                      function formatTime() {
                          return Math[_0x2c7b("0x11e")]()[_0x2c7b("0x11f")](16).slice(-4);
                      }
                      return formatTime() + formatTime() + "-" + formatTime() + "-" + formatTime() + "-" + formatTime() + "-" + formatTime() + formatTime() + formatTime();
                  };
              }, function (canCreateDiscussions, __webpack_exports__) {
                  Object.defineProperty(__webpack_exports__, _0x2c7b("0x78"), {
                      value: true
                  });
                  var _createClass = function () {
                      /**
                       * @param {!Function} e
                       * @param {string} date
                       * @return {undefined}
                       */
                      function n(e, date) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < date.length; i++) {
                              var descriptor = date[i];
                              descriptor.enumerable = descriptor.enumerable || false;
                              /** @type {boolean} */
                              descriptor[_0x2c7b("0x50")] = true;
                              if ("value" in descriptor) {
                                  /** @type {boolean} */
                                  descriptor.writable = true;
                              }
                              Object.defineProperty(e, descriptor.key, descriptor);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var addLifecycleMethods = function () {
                      /**
                       * @param {?} value
                       * @param {?} type
                       * @return {undefined}
                       */
                      function e(value, type) {
                          (function (t, canCreateDiscussions) {
                              if (!(t instanceof e)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          })(this);
                          this.actionType = value;
                          this.actionData = type;
                          /** @type {!Date} */
                          var semiannualPing = new Date;
                          /** @type {number} */
                          this.timestamp = semiannualPing.getTime();
                      }
                      return _createClass(e, [{
                          key: "show",
                          value: function () {}
                      }]), e;
                  }();
                  __webpack_exports__["default"] = addLifecycleMethods;
              }, function (canCreateDiscussions, obj, generateName) {
                  Object[_0x2c7b("0x51")](obj, "__esModule", {
                      value: true
                  });
                  var name;
                  var interceptor = function () {
                      /**
                       * @param {!Function} target
                       * @param {string} s
                       * @return {undefined}
                       */
                      function n(target, s) {
                          /** @type {number} */
                          var str = 0;
                          for (; str < s[_0x2c7b("0x23")]; str++) {
                              var desc = s[str];
                              desc.enumerable = desc.enumerable || false;
                              /** @type {boolean} */
                              desc[_0x2c7b("0x50")] = true;
                              if ("value" in desc) {
                                  /** @type {boolean} */
                                  desc.writable = true;
                              }
                              Object[_0x2c7b("0x51")](target, desc.key, desc);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var property = (name = generateName(6)) && name[_0x2c7b("0x78")] ? name : {
                      "default": name
                  };
                  var ContainerDebugAdapter = function () {
                      /**
                       * @param {number} array
                       * @param {!HTMLElement} node
                       * @param {?} parent
                       * @return {undefined}
                       */
                      function value(array, node, parent) {
                          (function (object, canCreateDiscussions) {
                              if (!(object instanceof value)) {
                                  throw new TypeError(_0x2c7b("0x120"));
                              }
                          })(this);
                          this.nodeType = node[_0x2c7b("0xdd")];
                          this.outerHTML = node.outerHTML || node[_0x2c7b("0x121")];
                          var b = 1 != array ? node.previousSibling : node[_0x2c7b("0x122")];
                          var p = node.parentNode;
                          if (!p) {
                              p = node.oldParentNode || b && b.parentNode;
                          }
                          var body = {
                              selfNode: node,
                              parentNode: p,
                              previousElementSibling: node.previousElementSibling,
                              previousSibling: b,
                              nextElementSibling: node.nextElementSibling,
                              nextSibling: node.nextSibling
                          };
                          try {
                              this[_0x2c7b("0x123")] = property["default"].calculateSelfSelector(body, parent);
                          } catch (o) {
                              /** @type {null} */
                              this[_0x2c7b("0x123")] = null;
                          }
                          try {
                              this[_0x2c7b("0x124")] = property["default"].calculatePinpoint(body, parent);
                          } catch (x) {
                              /** @type {null} */
                              this[_0x2c7b("0x124")] = null;
                          }
                      }
                      return interceptor(value, [{
                          key: _0x2c7b("0x125"),
                          value: function () {
                              return this.pinpoint;
                          }
                      }, {
                          key: "show",
                          value: function () {
                              this.pinpoint[_0x2c7b("0x126")]();
                          }
                      }]), value;
                  }();
                  obj["default"] = ContainerDebugAdapter;
              }, function (mixin, canCreateDiscussions, ex) {
                  /**
                   * @param {!Object} obj
                   * @return {?}
                   */
                  function inherits(obj) {
                      return obj && obj.__esModule ? obj : {
                          "default": obj
                      };
                  }
                  /**
                   * @param {!Node} obj
                   * @param {?} key
                   * @return {?}
                   */
                  function find(obj, key) {
                      var h = obj[_0x2c7b("0x37")] || obj[_0x2c7b("0xe2")];
                      if (h) {
                          var n = parse(h);
                          if ("#comment" === n) {
                              return get(obj, h, key);
                          }
                          if ("#text" === n) {
                              return "" === h.textContent.trim() && get(obj, h, key);
                          }
                          /** @type {string} */
                          var props = callback(obj[_0x2c7b("0x31")], key) + " > " + all(h);
                          return new(namespaceConstructors[_0x2c7b("0x7e")])(props, 3);
                      }
                      var props = callback(obj[_0x2c7b("0x31")], key);
                      return new(namespaceConstructors[_0x2c7b("0x7e")])(props, 1);
                  }
                  /**
                   * @param {!Node} a
                   * @param {!Node} e
                   * @param {?} rel
                   * @return {?}
                   */
                  function get(a, e, rel) {
                      return a.previousElementSibling = e[_0x2c7b("0x37")], a[_0x2c7b("0xe2")] = e.previousSibling, find(a, rel);
                  }
                  /**
                   * @param {!Node} container
                   * @return {?}
                   */
                  function parse(container) {
                      return container ? container.nodeName.toLowerCase() : null;
                  }
                  /**
                   * @param {!Object} value
                   * @return {?}
                   */
                  function cb(value) {
                      return value ? function (e) {
                          if (!e) {
                              return "";
                          }
                          /** @type {string} */
                          var t = "";
                          return t = t + e.nodeName[_0x2c7b("0xa1")](), e.id && (t = t + ("#" + e.id)), t;
                      }(value) : "";
                  }
                  /**
                   * @param {!Object} options
                   * @param {?} body
                   * @return {?}
                   */
                  function callback(options, body) {
                      if (!options) {
                          return "";
                      }
                      var click = options.funId;
                      if (click) {
                          if (body.hasId(click)) {
                              return body[_0x2c7b("0x127")](click);
                          }
                      } else {
                          options[_0x2c7b("0x95")] = child[_0x2c7b("0x7e")].uniqueID();
                      }
                      var p = all(options);
                      var elementType = options.nodeName;
                      if ("BODY" === elementType || _0x2c7b("0x3d") === elementType) {
                          return p;
                      }
                      if (p) {
                          var target = options.parentNode;
                          if (!target) {
                              target = options[_0x2c7b("0xb0")];
                          }
                          var prop = callback(target, body);
                          var prevent = prop ? prop + " > " + p : p;
                          return body[_0x2c7b("0x9")](options[_0x2c7b("0x95")], prevent), prevent;
                      }
                      throw new Error("current node has no selector..");
                  }
                  /**
                   * @param {!Object} key
                   * @return {?}
                   */
                  function all(key) {
                      var v = cb(key);
                      var s = f(key[_0x2c7b("0x37")], v, 0);
                      if (yych <= s) {
                          throw new Error(_0x2c7b("0x128"));
                      }
                      return v + ":eq(" + s + ")";
                  }
                  /**
                   * @param {!HTMLElement} e
                   * @param {number} n
                   * @param {number} i
                   * @return {?}
                   */
                  function f(e, n, i) {
                      if (!e) {
                          return 0;
                      }
                      if (yych <= i) {
                          return i;
                      }
                      var cookieName;
                      var cookieItemDelimiter;
                      var command_codes;
                      var dtors;
                      var name = cb(e);
                      /** @type {number} */
                      var d = 0;
                      if (!e.isRemovedNode && (cookieName = n, cookieItemDelimiter = /[#\.]/, command_codes = name.split(cookieItemDelimiter), 0 !== (dtors = cookieName.split(cookieItemDelimiter)).length && 0 !== command_codes[_0x2c7b("0x23")] && dtors.map(function (data) {
                              return command_codes[_0x2c7b("0x129")](data);
                          }).reduce(function (newEntityErr, fetchEntityErr) {
                              return newEntityErr && fetchEntityErr;
                          }, true))) {
                          /** @type {number} */
                          d = 1;
                      }
                      var c = e.previousElementSibling || e[_0x2c7b("0xe2")];
                      return e.isRemovedNode && (c = e[_0x2c7b("0x122")]), c ? d + f(c, n, ++i) : d;
                  }
                  var namespaceConstructors = inherits(ex(7));
                  var child = inherits(ex(3));
                  /** @type {number} */
                  var yych = 1E3;
                  /**
                   * @param {!Node} obj
                   * @param {?} value
                   * @return {?}
                   */
                  var inject = function (obj, value) {
                      var options = obj.nextElementSibling || obj[_0x2c7b("0x33")];
                      if (options) {
                          var object = parse(options);
                          return _0x2c7b("0x12a") === object ? clone(obj, options, value) : _0x2c7b("0x12b") === object && "" === options[_0x2c7b("0x121")].trim() ? clone(obj, options, value) : find(obj, value);
                      }
                      var props = callback(obj.parentNode, value);
                      return new(namespaceConstructors[_0x2c7b("0x7e")])(props, 2);
                  };
                  /**
                   * @param {!Node} obj
                   * @param {?} arr
                   * @param {?} items
                   * @return {?}
                   */
                  var clone = function (obj, arr, items) {
                      return obj.nextElementSibling = arr[_0x2c7b("0x12c")], obj.nextSibling = arr[_0x2c7b("0x33")], inject(obj, items);
                  };
                  /** @type {function(!Node, ?): ?} */
                  mixin.exports[_0x2c7b("0x12d")] = inject;
                  /**
                   * @param {?} toolNPM
                   * @param {?} body
                   * @return {?}
                   */
                  mixin.exports[_0x2c7b("0x12e")] = function (toolNPM, body) {
                      return {
                          parentSelector: callback(toolNPM[_0x2c7b("0x31")], body),
                          localSelector: function (busytimeId, t) {
                              var key = cb(busytimeId);
                              var e = f(t, key, 0);
                              if (yych <= e) {
                                  throw new Error(_0x2c7b("0x128"));
                              }
                              return key + _0x2c7b("0x12f") + e + ")";
                          }(toolNPM[_0x2c7b("0x130")], toolNPM[_0x2c7b("0xe2")])
                      };
                  };
              }, function (canCreateDiscussions, descriptor) {
                  Object[_0x2c7b("0x51")](descriptor, _0x2c7b("0x78"), {
                      value: true
                  });
                  var baseAssignValue = function () {
                      /**
                       * @param {!Function} fn
                       * @param {string} s
                       * @return {undefined}
                       */
                      function n(fn, s) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < s.length; i++) {
                              var desc = s[i];
                              desc[_0x2c7b("0x131")] = desc[_0x2c7b("0x131")] || false;
                              /** @type {boolean} */
                              desc[_0x2c7b("0x50")] = true;
                              if ("value" in desc) {
                                  /** @type {boolean} */
                                  desc[_0x2c7b("0x132")] = true;
                              }
                              Object[_0x2c7b("0x51")](fn, desc[_0x2c7b("0x79")], desc);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var unlock = function () {
                      /**
                       * @param {string} s
                       * @param {!Object} t
                       * @return {undefined}
                       */
                      function result(s, t) {
                          (function (EMSarray, canCreateDiscussions) {
                              if (!(EMSarray instanceof result)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          })(this);
                          /** @type {string} */
                          this.selector = s;
                          /** @type {!Object} */
                          this.type = t;
                      }
                      return baseAssignValue(result, [{
                          key: "show",
                          value: function () {}
                      }, {
                          key: "getSelector",
                          value: function () {
                              return this.selector;
                          }
                      }, {
                          key: "getType",
                          value: function () {
                              return this.type;
                          }
                      }]), result;
                  }();
                  descriptor[_0x2c7b("0x7e")] = unlock;
              }, function (canCreateDiscussions, descriptor) {
                  Object[_0x2c7b("0x51")](descriptor, "__esModule", {
                      value: true
                  });
                  var _createClass = function () {
                      /**
                       * @param {?} d
                       * @param {string} options
                       * @return {undefined}
                       */
                      function n(d, options) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < options[_0x2c7b("0x23")]; i++) {
                              var o = options[i];
                              o[_0x2c7b("0x131")] = o[_0x2c7b("0x131")] || false;
                              /** @type {boolean} */
                              o.configurable = true;
                              if (_0x2c7b("0x133") in o) {
                                  /** @type {boolean} */
                                  o.writable = true;
                              }
                              Object.defineProperty(d, o.key, o);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e[_0x2c7b("0x41")], t), o && n(e, o), e;
                      };
                  }();
                  var unlock = function () {
                      /**
                       * @param {string} name
                       * @param {?} n
                       * @return {undefined}
                       */
                      function e(name, n) {
                          (function (t, canCreateDiscussions) {
                              if (!(t instanceof e)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          })(this);
                          /** @type {string} */
                          this.name = name;
                          this[_0x2c7b("0x133")] = n;
                      }
                      return _createClass(e, [{
                          key: "getName",
                          value: function () {
                              return this.name;
                          }
                      }, {
                          key: _0x2c7b("0x127"),
                          value: function () {
                              return this.value;
                          }
                      }, {
                          key: "show",
                          value: function () {}
                      }]), e;
                  }();
                  descriptor[_0x2c7b("0x7e")] = unlock;
              }, function (canCreateDiscussions, t) {
                  Object.defineProperty(t, "__esModule", {
                      value: true
                  });
                  var import$ = function () {
                      /**
                       * @param {?} e
                       * @param {string} date
                       * @return {undefined}
                       */
                      function n(e, date) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < date.length; i++) {
                              var descriptor = date[i];
                              descriptor[_0x2c7b("0x131")] = descriptor.enumerable || false;
                              /** @type {boolean} */
                              descriptor.configurable = true;
                              if (_0x2c7b("0x133") in descriptor) {
                                  /** @type {boolean} */
                                  descriptor.writable = true;
                              }
                              Object.defineProperty(e, descriptor.key, descriptor);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e[_0x2c7b("0x41")], t), o && n(e, o), e;
                      };
                  }();
                  var testvalue = function () {
                      /**
                       * @param {?} value
                       * @param {!Array} date
                       * @return {undefined}
                       */
                      function S(value, date) {
                          (function (s, canCreateDiscussions) {
                              if (!(s instanceof S)) {
                                  throw new TypeError(_0x2c7b("0x120"));
                              }
                          })(this);
                          this[_0x2c7b("0x134")] = value;
                          /** @type {!Array} */
                          this.changedAttributeList = date;
                      }
                      return import$(S, [{
                          key: "setElement",
                          value: function () {
                              this[_0x2c7b("0x134")] = redoableElement;
                          }
                      }, {
                          key: _0x2c7b("0x135"),
                          value: function () {
                              this.changedAttributeList = changedAttributeList;
                          }
                      }, {
                          key: "appendAttribute",
                          value: function (e) {
                              this.changedAttributeList = this.changedAttributeList.concat([e]);
                          }
                      }, {
                          key: _0x2c7b("0x126"),
                          value: function () {
                              this.redoableElement.show();
                              this[_0x2c7b("0x136")].map(function (commonModal) {
                                  commonModal.show();
                              });
                          }
                      }]), S;
                  }();
                  t[_0x2c7b("0x7e")] = testvalue;
              }, function (canCreateDiscussions, obj) {
                  Object[_0x2c7b("0x51")](obj, _0x2c7b("0x78"), {
                      value: true
                  });
                  var installNativeEvent$2 = function () {
                      /**
                       * @param {!Function} e
                       * @param {string} date
                       * @return {undefined}
                       */
                      function n(e, date) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < date.length; i++) {
                              var descriptor = date[i];
                              descriptor[_0x2c7b("0x131")] = descriptor.enumerable || false;
                              /** @type {boolean} */
                              descriptor.configurable = true;
                              if ("value" in descriptor) {
                                  /** @type {boolean} */
                                  descriptor[_0x2c7b("0x132")] = true;
                              }
                              Object.defineProperty(e, descriptor.key, descriptor);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var ContainerDebugAdapter = function () {
                      /**
                       * @param {?} xml
                       * @param {?} value
                       * @param {string} text
                       * @return {undefined}
                       */
                      function n(xml, value, text) {
                          (function (EMSarray, canCreateDiscussions) {
                              if (!(EMSarray instanceof n)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          })(this);
                          this[_0x2c7b("0x137")] = xml;
                          this[_0x2c7b("0x138")] = value;
                          /** @type {string} */
                          this.value = text;
                      }
                      return installNativeEvent$2(n, [{
                          key: "getEleType",
                          value: function () {
                              return this[_0x2c7b("0x138")];
                          }
                      }, {
                          key: "getInputType",
                          value: function () {
                              return this[_0x2c7b("0x137")];
                          }
                      }, {
                          key: "getValue",
                          value: function () {
                              return this[_0x2c7b("0x133")];
                          }
                      }]), n;
                  }();
                  obj["default"] = ContainerDebugAdapter;
              }, function (canCreateDiscussions, descriptor, cleanup) {
                  Object[_0x2c7b("0x51")](descriptor, "__esModule", {
                      value: true
                  });
                  var obj;
                  var i = function () {
                      /**
                       * @param {!Function} target
                       * @param {string} s
                       * @return {undefined}
                       */
                      function n(target, s) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < s.length; i++) {
                              var desc = s[i];
                              desc.enumerable = desc.enumerable || false;
                              /** @type {boolean} */
                              desc.configurable = true;
                              if (_0x2c7b("0x133") in desc) {
                                  /** @type {boolean} */
                                  desc.writable = true;
                              }
                              Object[_0x2c7b("0x51")](target, desc.key, desc);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var self = (obj = cleanup(6)) && obj.__esModule ? obj : {
                      "default": obj
                  };
                  var unlock = function () {
                      /**
                       * @param {!Object} t
                       * @param {(Array|Uint8Array)} data
                       * @param {?} byteOffset
                       * @return {undefined}
                       */
                      function t(t, data, byteOffset) {
                          ! function (value, canCreateDiscussions) {
                              if (!(value instanceof t)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          }(this);
                          var body = {
                              selfNode: t,
                              parentNode: t.parentNode,
                              previousElementSibling: t.previousElementSibling,
                              previousSibling: t[_0x2c7b("0xe2")],
                              nextElementSibling: t[_0x2c7b("0x12c")],
                              nextSibling: t[_0x2c7b("0x33")]
                          };
                          try {
                              this.selfSelector = self["default"][_0x2c7b("0x12e")](body, byteOffset);
                          } catch (i) {
                              /** @type {null} */
                              this.selfSelector = null;
                          }
                          /** @type {(Array|Uint8Array)} */
                          this.input = data;
                      }
                      return i(t, [{
                          key: _0x2c7b("0x139"),
                          value: function () {
                              return this.selfSelector;
                          }
                      }, {
                          key: "getInput",
                          value: function () {
                              return this[_0x2c7b("0x13a")];
                          }
                      }, {
                          key: "show",
                          value: function () {
                              this.pinpoint.show();
                          }
                      }]), t;
                  }();
                  descriptor[_0x2c7b("0x7e")] = unlock;
              }, function (canCreateDiscussions, isSlidingUp, cleanup) {
                  var obj;
                  var self = (obj = cleanup(13)) && obj.__esModule ? obj : {
                      "default": obj
                  };
                  canCreateDiscussions[_0x2c7b("0x0")][_0x2c7b("0x84")] = self["default"];
              }, function (canCreateDiscussions, __webpack_exports__, require) {
                  /**
                   * @param {!Object} obj
                   * @return {?}
                   */
                  function inherits(obj) {
                      return obj && obj.__esModule ? obj : {
                          "default": obj
                      };
                  }
                  Object.defineProperty(__webpack_exports__, "__esModule", {
                      value: true
                  });
                  var syncProject = (_0x2c7b("0x69") == typeof Symbol && Symbol.iterator, function () {
                      /**
                       * @param {!Function} d
                       * @param {string} options
                       * @return {undefined}
                       */
                      function n(d, options) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < options[_0x2c7b("0x23")]; i++) {
                              var value = options[i];
                              value[_0x2c7b("0x131")] = value[_0x2c7b("0x131")] || false;
                              /** @type {boolean} */
                              value.configurable = true;
                              if (_0x2c7b("0x133") in value) {
                                  /** @type {boolean} */
                                  value[_0x2c7b("0x132")] = true;
                              }
                              Object.defineProperty(d, value[_0x2c7b("0x79")], value);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }());
                  var _DocumentFragment = inherits(require(14));
                  var method = inherits(require(16));
                  var utils = require(18);
                  var child = inherits(require(6));
                  var _AnchorElement = inherits(require(23));
                  var addLifecycleMethods = function (canCreateDiscussions) {
                      /**
                       * @return {?}
                       */
                      function load() {
                          var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {};
                          ! function (EMSarray, canCreateDiscussions) {
                              if (!(EMSarray instanceof load)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          }(this);
                          var event = function (EMSarray, a) {
                              if (!EMSarray) {
                                  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                              }
                              return !a || "object" != typeof a && "function" != typeof a ? EMSarray : a;
                          }(this, (load[_0x2c7b("0x13b")] || Object.getPrototypeOf(load))[_0x2c7b("0x2")](this, e));
                          return event[_0x2c7b("0x13c")] = ["mousemove", _0x2c7b("0x61"), _0x2c7b("0x13d"), _0x2c7b("0x13e")], event.eventHandlers = [], event[_0x2c7b("0x98")] = null, event.isRecording = false, event[_0x2c7b("0x13f")] = 0, event.MaxMousemoveSamplingFrequence = 4, event.target instanceof window.HTMLHtmlElement && (event.listeners = {
                              scroll: window,
                              resize: window
                          }), event.on(_0x2c7b("0x140"), function () {
                              /** @type {boolean} */
                              event[_0x2c7b("0x141")] = true;
                          }), event.on("fun_recording_stop", function () {
                              /** @type {boolean} */
                              event.isRecording = false;
                          }), event.on("fun_recording", function (canCreateDiscussions) {}), event;
                      }
                      return function (obj, proto) {
                          if (_0x2c7b("0x69") != typeof proto && null !== proto) {
                              throw new TypeError("Super expression must either be null or a function, not " + typeof proto);
                          }
                          obj.prototype = Object[_0x2c7b("0x142")](proto && proto[_0x2c7b("0x41")], {
                              constructor: {
                                  value: obj,
                                  enumerable: false,
                                  writable: true,
                                  configurable: true
                              }
                          });
                          if (proto) {
                              if (Object[_0x2c7b("0x143")]) {
                                  Object[_0x2c7b("0x143")](obj, proto);
                              } else {
                                  /** @type {string} */
                                  obj.__proto__ = proto;
                              }
                          }
                      }(load, _DocumentFragment["default"]), syncProject(load, [{
                          key: _0x2c7b("0x86"),
                          value: function () {
                              return this.vedio;
                          }
                      }, {
                          key: "getListener",
                          value: function (name) {
                              return this.listeners[name] || this.getTarget();
                          }
                      }, {
                          key: "start",
                          value: function () {
                              var self = this;
                              this.init();
                              this[_0x2c7b("0x144")](_0x2c7b("0x140"));
                              /**
                               * @param {number} key
                               * @return {undefined}
                               */
                              var on = function (key) {
                                  var target = self[_0x2c7b("0x13c")][key];
                                  var params = self.onEvents[target];
                                  if (!params) {
                                      params = self.defaultEventCallback;
                                  }
                                  /**
                                   * @param {?} value
                                   * @return {undefined}
                                   */
                                  var d = function (value) {
                                      self[_0x2c7b("0x145")](params, value);
                                  };
                                  self.eventHandlers.splice(key, 0, d);
                                  if ("scroll" === target) {
                                      self.getListener(target)[_0x2c7b("0x3")](target, d, true);
                                  } else {
                                      self[_0x2c7b("0x146")](target).addEventListener(target, d);
                                  }
                              };
                              /** @type {number} */
                              var d = 0;
                              for (; d < this.events.length; d++) {
                                  on(d);
                              }
                          }
                      }, {
                          key: "stopRecording",
                          value: function () {
                              /** @type {number} */
                              var i = 0;
                              for (; i < this[_0x2c7b("0x13c")].length; i++) {
                                  var event = this.events[i];
                                  var handler = this.eventHandlers[i];
                                  if (handler) {
                                      this.getListener(event).removeEventListener(event, handler);
                                  }
                              }
                              return this[_0x2c7b("0x144")]("fun_recording_stop"), this.vedio;
                          }
                      }, {
                          key: "init",
                          value: function () {
                              var target = this.getTarget();
                              var coords = this.getTargetPosition();
                              var self = new(method[_0x2c7b("0x7e")]);
                              self.top = coords[_0x2c7b("0x147")];
                              self.left = coords[_0x2c7b("0x148")];
                              var local_angle = target.cloneNode(true).innerHTML;
                              var i = this.removeHideElement(local_angle);
                              /** @type {string} */
                              i = "<!DOCTYPE html>" + i;
                              self.scene = utils.Base64.encode(i);
                              self.rootOpts = {
                                  style: target[_0x2c7b("0x6f")](_0x2c7b("0x149")),
                                  "class": target.getAttribute(_0x2c7b("0xf9"))
                              };
                              self.scrollX = target.scrollLeft;
                              self[_0x2c7b("0x14a")] = target[_0x2c7b("0x14b")];
                              var key = window.innerWidth || document.documentElement.clientWidth || document.body[_0x2c7b("0x14c")];
                              var value = window[_0x2c7b("0x14d")] || document.documentElement.clientHeight || document[_0x2c7b("0x14e")].clientHeight;
                              return self.width = key, self.height = value, this.vedio = self, this.vedio;
                          }
                      }, {
                          key: _0x2c7b("0x14f"),
                          value: function () {
                              var centermeters = this.getTarget()[_0x2c7b("0x150")]();
                              /** @type {!Element} */
                              var dde = document.documentElement;
                              var r0 = window[_0x2c7b("0x151")] || dde.scrollTop || 0;
                              var r2 = window[_0x2c7b("0x152")] || dde.scrollLeft || 0;
                              return {
                                  top: centermeters[_0x2c7b("0x147")] + r0,
                                  left: centermeters[_0x2c7b("0x148")] + r2
                              };
                          }
                      }, {
                          key: "onEventCallback",
                          value: function (a, n) {
                              this.emit("fun_recording", n);
                              this.emit(n.type, n);
                              a(this, this[_0x2c7b("0x98")], n);
                          }
                      }, {
                          key: "defaultEventCallback",
                          value: function (d, options, e) {
                              if ("mousemove" === e[_0x2c7b("0x8e")]) {
                                  if (!(d[_0x2c7b("0x13f")] >= d[_0x2c7b("0x153")])) {
                                      return void d.mousemoveSamplingFrequence++;
                                  }
                                  /** @type {number} */
                                  d.mousemoveSamplingFrequence = 0;
                              }
                              var node = e.target;
                              var root = node.body;
                              var data = {
                                  scrollY: root ? root.parentNode[_0x2c7b("0x14b")] || root.scrollTop : node.scrollTop,
                                  scrollX: root ? root[_0x2c7b("0x31")].scrollLeft || root[_0x2c7b("0x154")] : node.scrollLeft,
                                  cursorX: e.pageX,
                                  cursorY: e.pageY,
                                  width: d[_0x2c7b("0x18")][_0x2c7b("0x14c")],
                                  height: d.target.clientHeight,
                                  eventType: e.type
                              };
                              if ("scroll" === e.type) {
                                  var body = {
                                      selfNode: node,
                                      parentNode: node.parentNode,
                                      previousElementSibling: node[_0x2c7b("0x37")],
                                      previousSibling: node.previousSibling,
                                      nextElementSibling: node.nextElementSibling,
                                      nextSibling: node.nextSibling
                                  };
                                  try {
                                      data[_0x2c7b("0x123")] = child[_0x2c7b("0x7e")][_0x2c7b("0x12e")](body, new _AnchorElement["default"]);
                                  } catch (x) {
                                      /** @type {null} */
                                      data[_0x2c7b("0x123")] = null;
                                  }
                              }
                              options[_0x2c7b("0x155")](data);
                          }
                      }, {
                          key: "removeHideElement",
                          value: function (string) {
                              /** @type {(Document|null)} */
                              var container = (new DOMParser).parseFromString(string, _0x2c7b("0x156"));
                              try {
                                  var artistTrack = container[_0x2c7b("0x157")]("_fun-hide");
                                  var waitClFile = [].slice[_0x2c7b("0x2")](artistTrack);
                                  /** @type {number} */
                                  var i = 0;
                                  for (; i < waitClFile.length; i++) {
                                      waitClFile[i].remove();
                                  }
                              } catch (c) {}
                              return container.documentElement[_0x2c7b("0x158")];
                          }
                      }]), load;
                  }();
                  __webpack_exports__["default"] = addLifecycleMethods;
              }, function (canCreateDiscussions, __webpack_exports__, generateName) {
                  Object.defineProperty(__webpack_exports__, _0x2c7b("0x78"), {
                      value: true
                  });
                  var _createClass = function () {
                      /**
                       * @param {?} d
                       * @param {string} options
                       * @return {undefined}
                       */
                      function n(d, options) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < options[_0x2c7b("0x23")]; i++) {
                              var o = options[i];
                              o.enumerable = o.enumerable || false;
                              /** @type {boolean} */
                              o[_0x2c7b("0x50")] = true;
                              if (_0x2c7b("0x133") in o) {
                                  /** @type {boolean} */
                                  o.writable = true;
                              }
                              Object.defineProperty(d, o.key, o);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e[_0x2c7b("0x41")], t), o && n(e, o), e;
                      };
                  }();
                  var name = generateName(15);
                  var addLifecycleMethods = function (canCreateDiscussions) {
                      /**
                       * @return {?}
                       */
                      function e() {
                          var coord = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {};
                          ! function (t, canCreateDiscussions) {
                              if (!(t instanceof e)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          }(this);
                          var opts = function (EMSarray, a) {
                              if (!EMSarray) {
                                  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                              }
                              return !a || "object" != typeof a && "function" != typeof a ? EMSarray : a;
                          }(this, (e[_0x2c7b("0x13b")] || Object.getPrototypeOf(e)).call(this));
                          return coord[_0x2c7b("0x18")] ? opts[_0x2c7b("0x159")](coord[_0x2c7b("0x18")]) : opts.target = null, opts.onEvents = coord.onEvents || opts.onEvents(), opts;
                      }
                      return function (obj, t) {
                          if ("function" != typeof t && null !== t) {
                              throw new TypeError("Super expression must either be null or a function, not " + typeof t);
                          }
                          obj[_0x2c7b("0x41")] = Object[_0x2c7b("0x142")](t && t.prototype, {
                              constructor: {
                                  value: obj,
                                  enumerable: false,
                                  writable: true,
                                  configurable: true
                              }
                          });
                          if (t) {
                              if (Object.setPrototypeOf) {
                                  Object[_0x2c7b("0x143")](obj, t);
                              } else {
                                  /** @type {string} */
                                  obj.__proto__ = t;
                              }
                          }
                      }(e, name[_0x2c7b("0x15a")]), _createClass(e, [{
                          key: "onEvents",
                          value: function () {
                              return {};
                          }
                      }, {
                          key: "setTarget",
                          value: function (value) {
                              if (!(value instanceof window[_0x2c7b("0x15b")])) {
                                  throw new Error(_0x2c7b("0x15c"));
                              }
                              /** @type {!Object} */
                              this[_0x2c7b("0x18")] = value;
                          }
                      }, {
                          key: _0x2c7b("0x15d"),
                          value: function () {
                              if (!this.target) {
                                  throw new Error("\u672a\u5b9a\u4e49\u8981\u76d1\u542c\u7684Target");
                              }
                              return this.target;
                          }
                      }]), e;
                  }();
                  __webpack_exports__["default"] = addLifecycleMethods;
              }, function (module, canCreateDiscussions) {
                  /**
                   * @return {undefined}
                   */
                  function EventEmitter() {
                      this._events = this[_0x2c7b("0x15e")] || {};
                      this._maxListeners = this[_0x2c7b("0x15f")] || void 0;
                  }
                  /**
                   * @param {!Object} arg
                   * @return {?}
                   */
                  function isFunction(arg) {
                      return _0x2c7b("0x69") == typeof arg;
                  }
                  /**
                   * @param {number} arg
                   * @return {?}
                   */
                  function isObject(arg) {
                      return "object" == typeof arg && null !== arg;
                  }
                  /**
                   * @param {!Array} val
                   * @return {?}
                   */
                  function isUndefined(val) {
                      return void 0 === val;
                  }
                  ((module.exports = EventEmitter)[_0x2c7b("0x15a")] = EventEmitter).prototype._events = void 0;
                  EventEmitter.prototype._maxListeners = void 0;
                  /** @type {number} */
                  EventEmitter[_0x2c7b("0x160")] = 10;
                  /**
                   * @param {?} n
                   * @return {?}
                   */
                  EventEmitter[_0x2c7b("0x41")].setMaxListeners = function (n) {
                      if ("number" != typeof n || n < 0 || isNaN(n)) {
                          throw TypeError(_0x2c7b("0x161"));
                      }
                      return this[_0x2c7b("0x15f")] = n, this;
                  };
                  /**
                   * @param {string} message
                   * @return {?}
                   */
                  EventEmitter[_0x2c7b("0x41")][_0x2c7b("0x144")] = function (message) {
                      var d;
                      var callback;
                      var tableslen;
                      var cbArgs;
                      var i;
                      var references;
                      if (this._events || (this._events = {}), "error" === message && (!this._events[_0x2c7b("0x7")] || isObject(this._events.error) && !this[_0x2c7b("0x15e")].error.length)) {
                          if ((d = arguments[1]) instanceof Error) {
                              throw d;
                          }
                          /** @type {!Error} */
                          var f = new Error('Uncaught, unspecified "error" event. (' + d + ")");
                          throw f[_0x2c7b("0x162")] = d, f;
                      }
                      if (isUndefined(callback = this[_0x2c7b("0x15e")][message])) {
                          return false;
                      }
                      if (isFunction(callback)) {
                          switch (arguments.length) {
                              case 1:
                                  callback[_0x2c7b("0x2")](this);
                                  break;
                              case 2:
                                  callback[_0x2c7b("0x2")](this, arguments[1]);
                                  break;
                              case 3:
                                  callback[_0x2c7b("0x2")](this, arguments[1], arguments[2]);
                                  break;
                              default:
                                  cbArgs = Array[_0x2c7b("0x41")][_0x2c7b("0x2f")].call(arguments, 1);
                                  callback.apply(this, cbArgs);
                          }
                      } else {
                          if (isObject(callback)) {
                              cbArgs = Array.prototype.slice[_0x2c7b("0x2")](arguments, 1);
                              tableslen = (references = callback.slice()).length;
                              /** @type {number} */
                              i = 0;
                              for (; i < tableslen; i++) {
                                  references[i].apply(this, cbArgs);
                              }
                          }
                      }
                      return true;
                  };
                  /** @type {function(?, !Object): ?} */
                  EventEmitter.prototype.on = EventEmitter.prototype.addListener = function (type, listener) {
                      var iConfig;
                      if (!isFunction(listener)) {
                          throw TypeError("listener must be a function");
                      }
                      return this[_0x2c7b("0x15e")] || (this._events = {}), this._events[_0x2c7b("0x163")] && this[_0x2c7b("0x144")]("newListener", type, isFunction(listener[_0x2c7b("0x164")]) ? listener.listener : listener), this[_0x2c7b("0x15e")][type] ? isObject(this._events[type]) ? this[_0x2c7b("0x15e")][type][_0x2c7b("0x9")](listener) : this._events[type] = [this._events[type], listener] : this._events[type] = listener, isObject(this._events[type]) && !this._events[type][_0x2c7b("0x165")] && (iConfig =
                          isUndefined(this[_0x2c7b("0x15f")]) ? EventEmitter.defaultMaxListeners : this[_0x2c7b("0x15f")]) && 0 < iConfig && this._events[type].length > iConfig && (this[_0x2c7b("0x15e")][type][_0x2c7b("0x165")] = true, console[_0x2c7b("0x7")](_0x2c7b("0x166"), this._events[type].length), _0x2c7b("0x69") == typeof console.trace && console[_0x2c7b("0x167")]()), this;
                  };
                  /**
                   * @param {?} type
                   * @param {!Object} listener
                   * @return {?}
                   */
                  EventEmitter.prototype[_0x2c7b("0x168")] = function (type, listener) {
                      /**
                       * @return {undefined}
                       */
                      function g() {
                          this.removeListener(type, g);
                          if (!n) {
                              /** @type {boolean} */
                              n = true;
                              listener[_0x2c7b("0x49")](this, arguments);
                          }
                      }
                      if (!isFunction(listener)) {
                          throw TypeError("listener must be a function");
                      }
                      /** @type {boolean} */
                      var n = false;
                      return g[_0x2c7b("0x164")] = listener, this.on(type, g), this;
                  };
                  /**
                   * @param {?} type
                   * @param {!Object} listener
                   * @return {?}
                   */
                  EventEmitter[_0x2c7b("0x41")][_0x2c7b("0x169")] = function (type, listener) {
                      var list;
                      var typeName;
                      var hadFunc;
                      var key;
                      if (!isFunction(listener)) {
                          throw TypeError("listener must be a function");
                      }
                      if (!this._events || !this[_0x2c7b("0x15e")][type]) {
                          return this;
                      }
                      if (hadFunc = (list = this._events[type])[_0x2c7b("0x23")], typeName = -1, list === listener || isFunction(list[_0x2c7b("0x164")]) && list.listener === listener) {
                          delete this._events[type];
                          if (this._events.removeListener) {
                              this.emit("removeListener", type, listener);
                          }
                      } else {
                          if (isObject(list)) {
                              key = hadFunc;
                              for (; 0 < key--;) {
                                  if (list[key] === listener || list[key].listener && list[key][_0x2c7b("0x164")] === listener) {
                                      typeName = key;
                                      break;
                                  }
                              }
                              if (typeName < 0) {
                                  return this;
                              }
                              if (1 === list[_0x2c7b("0x23")]) {
                                  /** @type {number} */
                                  list.length = 0;
                                  delete this[_0x2c7b("0x15e")][type];
                              } else {
                                  list[_0x2c7b("0x35")](typeName, 1);
                              }
                              if (this[_0x2c7b("0x15e")].removeListener) {
                                  this.emit("removeListener", type, listener);
                              }
                          }
                      }
                      return this;
                  };
                  /**
                   * @param {?} type
                   * @return {?}
                   */
                  EventEmitter.prototype.removeAllListeners = function (type) {
                      var key;
                      var listeners;
                      if (!this[_0x2c7b("0x15e")]) {
                          return this;
                      }
                      if (!this[_0x2c7b("0x15e")].removeListener) {
                          return 0 === arguments.length ? this[_0x2c7b("0x15e")] = {} : this._events[type] && delete this._events[type], this;
                      }
                      if (0 === arguments.length) {
                          for (key in this[_0x2c7b("0x15e")]) {
                              if ("removeListener" !== key) {
                                  this[_0x2c7b("0x16a")](key);
                              }
                          }
                          return this[_0x2c7b("0x16a")](_0x2c7b("0x169")), this._events = {}, this;
                      }
                      if (isFunction(listeners = this._events[type])) {
                          this[_0x2c7b("0x169")](type, listeners);
                      } else {
                          if (listeners) {
                              for (; listeners.length;) {
                                  this[_0x2c7b("0x169")](type, listeners[listeners[_0x2c7b("0x23")] - 1]);
                              }
                          }
                      }
                      return delete this._events[type], this;
                  };
                  /**
                   * @param {?} type
                   * @return {?}
                   */
                  EventEmitter[_0x2c7b("0x41")].listeners = function (type) {
                      return this[_0x2c7b("0x15e")] && this[_0x2c7b("0x15e")][type] ? isFunction(this._events[type]) ? [this._events[type]] : this[_0x2c7b("0x15e")][type].slice() : [];
                  };
                  /**
                   * @param {?} type
                   * @return {?}
                   */
                  EventEmitter[_0x2c7b("0x41")][_0x2c7b("0x16b")] = function (type) {
                      if (this[_0x2c7b("0x15e")]) {
                          var evlistener = this._events[type];
                          if (isFunction(evlistener)) {
                              return 1;
                          }
                          if (evlistener) {
                              return evlistener[_0x2c7b("0x23")];
                          }
                      }
                      return 0;
                  };
                  /**
                   * @param {?} obj
                   * @param {?} type
                   * @return {?}
                   */
                  EventEmitter.listenerCount = function (obj, type) {
                      return obj[_0x2c7b("0x16b")](type);
                  };
              }, function (canCreateDiscussions, t, require) {
                  Object.defineProperty(t, _0x2c7b("0x78"), {
                      value: true
                  });
                  var data;
                  /** @type {function(?): ?} */
                  var indexOfIt = _0x2c7b("0x69") == typeof Symbol && _0x2c7b("0x16c") == typeof Symbol.iterator ? function (objOrTsid) {
                      return typeof objOrTsid;
                  } : function (obj) {
                      return obj && "function" == typeof Symbol && obj[_0x2c7b("0x16d")] === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
                  };
                  var debug = function () {
                      /**
                       * @param {?} obj
                       * @param {string} item
                       * @return {undefined}
                       */
                      function find(obj, item) {
                          /** @type {number} */
                          var kItem = 0;
                          for (; kItem < item.length; kItem++) {
                              var self = item[kItem];
                              self[_0x2c7b("0x131")] = self[_0x2c7b("0x131")] || false;
                              /** @type {boolean} */
                              self[_0x2c7b("0x50")] = true;
                              if (_0x2c7b("0x133") in self) {
                                  /** @type {boolean} */
                                  self.writable = true;
                              }
                              Object[_0x2c7b("0x51")](obj, self.key, self);
                          }
                      }
                      return function (a, child, b) {
                          return child && find(a[_0x2c7b("0x41")], child), b && find(a, b), a;
                      };
                  }();
                  var outcomeResults = (data = require(17)) && data[_0x2c7b("0x78")] ? data : {
                      "default": data
                  };
                  var Converter = require(18);
                  var testvalue = function () {
                      /**
                       * @return {undefined}
                       */
                      function show() {
                          var b = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {};
                          (function (EMSarray, canCreateDiscussions) {
                              if (!(EMSarray instanceof show)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          })(this);
                          this[_0x2c7b("0x147")] = b.top || 0;
                          this.left = b.left || 0;
                          this.scrollX = b.scrollX || 0;
                          this.scrollY = b.scrollY || 0;
                          this[_0x2c7b("0x16e")] = b.width || 0;
                          this[_0x2c7b("0x16f")] = b.height || 0;
                          this.scene = b[_0x2c7b("0x170")] || "";
                          this.rootOpts = b.rootOpts || null;
                          /** @type {!Date} */
                          var semiannualPing = new Date;
                          /** @type {number} */
                          this[_0x2c7b("0x171")] = semiannualPing.getTime();
                          var frames = b[_0x2c7b("0x172")] || [];
                          this.setFrames(frames);
                      }
                      return debug(show, [{
                          key: _0x2c7b("0x173"),
                          value: function () {
                              return this[_0x2c7b("0x172")];
                          }
                      }, {
                          key: "getFramesLength",
                          value: function () {
                              return this.frames && this.frames.length;
                          }
                      }, {
                          key: "setFrames",
                          value: function (e) {
                              /** @type {!Array} */
                              this.frames = [];
                              /** @type {number} */
                              var i = 0;
                              for (; i < e.length; i++) {
                                  this[_0x2c7b("0x155")](e[i]);
                              }
                              return this;
                          }
                      }, {
                          key: "pushNewFrame",
                          value: function () {
                              var obj = 0 < arguments[_0x2c7b("0x23")] && void 0 !== arguments[0] ? arguments[0] : {};
                              if (null !== obj && "object" === (void 0 === obj ? "undefined" : indexOfIt(obj)) && !(obj = new(outcomeResults[_0x2c7b("0x7e")])(obj))[_0x2c7b("0x171")]) {
                                  /** @type {!Date} */
                                  var semiannualPing = new Date;
                                  /** @type {number} */
                                  obj.timestamp = semiannualPing.getTime();
                              }
                              if (obj) {
                                  this[_0x2c7b("0x172")].push(obj);
                              }
                          }
                      }, {
                          key: "toJSON",
                          value: function () {
                              return {
                                  top: this[_0x2c7b("0x147")],
                                  left: this.left,
                                  scrollX: this.scrollX,
                                  scrollY: this.scrollY,
                                  width: this[_0x2c7b("0x16e")],
                                  height: this.height,
                                  timestamp: this[_0x2c7b("0x171")],
                                  scene: this[_0x2c7b("0x170")],
                                  rootOpts: this[_0x2c7b("0x174")],
                                  frames: this[_0x2c7b("0x172")]
                              };
                          }
                      }, {
                          key: "getDecodedScene",
                          value: function () {
                              return this.sceneDecoded || (this.sceneDecoded = Converter.Base64.decode(this.scene)), this.sceneDecoded;
                          }
                      }]), show;
                  }();
                  t[_0x2c7b("0x7e")] = testvalue;
              }, function (canCreateDiscussions, __webpack_exports__) {
                  Object.defineProperty(__webpack_exports__, "__esModule", {
                      value: true
                  });
                  var eqPartial = function () {
                      /**
                       * @param {!Function} e
                       * @param {string} date
                       * @return {undefined}
                       */
                      function n(e, date) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < date.length; i++) {
                              var descriptor = date[i];
                              descriptor.enumerable = descriptor[_0x2c7b("0x131")] || false;
                              /** @type {boolean} */
                              descriptor.configurable = true;
                              if (_0x2c7b("0x133") in descriptor) {
                                  /** @type {boolean} */
                                  descriptor.writable = true;
                              }
                              Object.defineProperty(e, descriptor.key, descriptor);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var addLifecycleMethods = function () {
                      /**
                       * @return {undefined}
                       */
                      function render() {
                          var _this = 0 < arguments[_0x2c7b("0x23")] && void 0 !== arguments[0] ? arguments[0] : {};
                          (function (EMSarray, canCreateDiscussions) {
                              if (!(EMSarray instanceof render)) {
                                  throw new TypeError(_0x2c7b("0x120"));
                              }
                          })(this);
                          this.cursorX = _this.cursorX || 0;
                          this[_0x2c7b("0x175")] = _this.cursorY || 0;
                          this.scrollX = _this[_0x2c7b("0x176")] || 0;
                          this.scrollY = _this.scrollY || 0;
                          this.height = _this[_0x2c7b("0x16f")] || 0;
                          this[_0x2c7b("0x16e")] = _this[_0x2c7b("0x16e")] || 0;
                          this.timestamp = _this[_0x2c7b("0x171")] || 0;
                          this.options = _this.options || {};
                          this[_0x2c7b("0x177")] = _this[_0x2c7b("0x177")] || "";
                          this[_0x2c7b("0x123")] = _this[_0x2c7b("0x123")] || null;
                      }
                      return eqPartial(render, [{
                          key: _0x2c7b("0x178"),
                          value: function () {
                              return {
                                  eventType: this[_0x2c7b("0x177")],
                                  options: this.options,
                                  scrollX: this.scrollX,
                                  scrollY: this[_0x2c7b("0x14a")],
                                  cursorX: this.cursorX,
                                  cursorY: this.cursorY,
                                  height: this[_0x2c7b("0x16f")],
                                  width: this.width,
                                  timestamp: this[_0x2c7b("0x171")],
                                  selfSelector: this.selfSelector
                              };
                          }
                      }]), render;
                  }();
                  __webpack_exports__["default"] = addLifecycleMethods;
              }, function (obj, val, require) {
                  var cval;
                  (function (e) {
                      var global;
                      global = "undefined" != typeof self ? self : _0x2c7b("0x8") != typeof window ? window : void 0 !== e ? e : this;
                      obj.exports = function (window) {
                          var buffer;
                          var fn = window[_0x2c7b("0x179")];
                          if (void 0 !== obj && obj.exports) {
                              try {
                                  buffer = require(19).Buffer;
                              } catch (y) {}
                          }
                          /** @type {string} */
                          var b64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
                          var list = function (bin) {
                              var t = {};
                              /** @type {number} */
                              var i = 0;
                              /** @type {number} */
                              var l = bin.length;
                              for (; i < l; i++) {
                                  /** @type {number} */
                                  t[bin.charAt(i)] = i;
                              }
                              return t;
                          }(b64chars);
                          var hex = String[_0x2c7b("0x17a")];
                          /**
                           * @param {string} value
                           * @return {?}
                           */
                          var e = function (value) {
                              if (value.length < 2) {
                                  return (t = value.charCodeAt(0)) < 128 ? value : t < 2048 ? hex(192 | t >>> 6) + hex(128 | 63 & t) : hex(224 | t >>> 12 & 15) + hex(128 | t >>> 6 & 63) + hex(128 | 63 & t);
                              }
                              /** @type {number} */
                              var t = 65536 + 1024 * (value.charCodeAt(0) - 55296) + (value.charCodeAt(1) - 56320);
                              return hex(240 | t >>> 18 & 7) + hex(128 | t >>> 12 & 63) + hex(128 | t >>> 6 & 63) + hex(128 | 63 & t);
                          };
                          /** @type {!RegExp} */
                          var tokensRegExp = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
                          /**
                           * @param {string} u
                           * @return {?}
                           */
                          var utob = function (u) {
                              return u.replace(tokensRegExp, e);
                          };
                          /**
                           * @param {string} json
                           * @return {?}
                           */
                          var print = function (json) {
                              var t = [0, 2, 1][json.length % 3];
                              /** @type {number} */
                              var ord = json.charCodeAt(0) << 16 | (1 < json.length ? json[_0x2c7b("0x17b")](1) : 0) << 8 | (2 < json.length ? json.charCodeAt(2) : 0);
                              return [b64chars.charAt(ord >>> 18), b64chars.charAt(ord >>> 12 & 63), 2 <= t ? "=" : b64chars[_0x2c7b("0x17c")](ord >>> 6 & 63), 1 <= t ? "=" : b64chars[_0x2c7b("0x17c")](63 & ord)].join("");
                          };
                          /** @type {function(?): ?} */
                          var btoa = window.btoa ? function (src) {
                              return window.btoa(src);
                          } : function (att) {
                              return att[_0x2c7b("0x5b")](/[\s\S]{1,3}/g, print);
                          };
                          /** @type {function(string): ?} */
                          var _encode = buffer ? buffer.from && buffer[_0x2c7b("0x17d")] !== Uint8Array[_0x2c7b("0x17d")] ? function (e) {
                              return (e.constructor === buffer[_0x2c7b("0x16d")] ? e : buffer.from(e))[_0x2c7b("0x11f")](_0x2c7b("0x17e"));
                          } : function (a) {
                              return (a[_0x2c7b("0x16d")] === buffer.constructor ? a : new buffer(a)).toString(_0x2c7b("0x17e"));
                          } : function (u) {
                              return btoa(utob(u));
                          };
                          /**
                           * @param {?} u
                           * @param {boolean} urisafe
                           * @return {?}
                           */
                          var encode = function (u, urisafe) {
                              return urisafe ? _encode(String(u))[_0x2c7b("0x5b")](/[+\/]/g, function (undefined) {
                                  return "+" == undefined ? "-" : "_";
                              }).replace(/=/g, "") : _encode(String(u));
                          };
                          /** @type {!RegExp} */
                          var regex_delimiters = new RegExp(["[\u00c0-\u00df][\u0080-\u00bf]", "[\u00e0-\u00ef][\u0080-\u00bf]{2}", _0x2c7b("0x17f")][_0x2c7b("0xa")]("|"), "g");
                          /**
                           * @param {string} src
                           * @return {?}
                           */
                          var md5 = function (src) {
                              switch (src.length) {
                                  case 4:
                                      /** @type {number} */
                                      var t = ((7 & src[_0x2c7b("0x17b")](0)) << 18 | (63 & src.charCodeAt(1)) << 12 | (63 & src.charCodeAt(2)) << 6 | 63 & src[_0x2c7b("0x17b")](3)) - 65536;
                                      return hex(55296 + (t >>> 10)) + hex(56320 + (1023 & t));
                                  case 3:
                                      return hex((15 & src[_0x2c7b("0x17b")](0)) << 12 | (63 & src.charCodeAt(1)) << 6 | 63 & src.charCodeAt(2));
                                  default:
                                      return hex((31 & src[_0x2c7b("0x17b")](0)) << 6 | 63 & src.charCodeAt(1));
                              }
                          };
                          /**
                           * @param {string} b
                           * @return {?}
                           */
                          var btou = function (b) {
                              return b.replace(regex_delimiters, md5);
                          };
                          /**
                           * @param {string} options
                           * @return {?}
                           */
                          var end = function (options) {
                              var len = options.length;
                              /** @type {number} */
                              var padlen = len % 4;
                              /** @type {number} */
                              var n = (0 < len ? list[options[_0x2c7b("0x17c")](0)] << 18 : 0) | (1 < len ? list[options.charAt(1)] << 12 : 0) | (2 < len ? list[options.charAt(2)] << 6 : 0) | (3 < len ? list[options.charAt(3)] : 0);
                              /** @type {!Array} */
                              var chars = [hex(n >>> 16), hex(n >>> 8 & 255), hex(255 & n)];
                              return chars.length -= [0, 0, 2, 1][padlen], chars.join("");
                          };
                          /** @type {function(!Object): ?} */
                          var atob = window.atob ? function (callback) {
                              return window[_0x2c7b("0x180")](callback);
                          } : function (fieldName) {
                              return fieldName.replace(/[\s\S]{1,4}/g, end);
                          };
                          /** @type {function(string): ?} */
                          var _decode = buffer ? buffer.from && buffer[_0x2c7b("0x17d")] !== Uint8Array[_0x2c7b("0x17d")] ? function (val) {
                              return (val.constructor === buffer[_0x2c7b("0x16d")] ? val : buffer.from(val, "base64")).toString();
                          } : function (a) {
                              return (a.constructor === buffer.constructor ? a : new buffer(a, "base64")).toString();
                          } : function (a) {
                              return btou(atob(a));
                          };
                          /**
                           * @param {?} expr
                           * @return {?}
                           */
                          var decode = function (expr) {
                              return _decode(String(expr)[_0x2c7b("0x5b")](/[-_]/g, function (i) {
                                  return "-" == i ? "+" : "/";
                              })[_0x2c7b("0x5b")](/[^A-Za-z0-9\+\/]/g, ""));
                          };
                          if (window[_0x2c7b("0x179")] = {
                                  VERSION: _0x2c7b("0x181"),
                                  atob: atob,
                                  btoa: btoa,
                                  fromBase64: decode,
                                  toBase64: encode,
                                  utob: utob,
                                  encode: encode,
                                  encodeURI: function (u) {
                                      return encode(u, true);
                                  },
                                  btou: btou,
                                  decode: decode,
                                  noConflict: function () {
                                      var $ = window.Base64;
                                      return window[_0x2c7b("0x179")] = fn, $;
                                  }
                              }, "function" == typeof Object[_0x2c7b("0x51")]) {
                              /**
                               * @param {!Function} v
                               * @return {?}
                               */
                              var noEnum = function (v) {
                                  return {
                                      value: v,
                                      enumerable: false,
                                      writable: true,
                                      configurable: true
                                  };
                              };
                              /**
                               * @return {undefined}
                               */
                              window.Base64[_0x2c7b("0x182")] = function () {
                                  Object.defineProperty(String.prototype, "fromBase64", noEnum(function () {
                                      return decode(this);
                                  }));
                                  Object.defineProperty(String.prototype, _0x2c7b("0x183"), noEnum(function (urisafe) {
                                      return encode(this, urisafe);
                                  }));
                                  Object.defineProperty(String.prototype, _0x2c7b("0x184"), noEnum(function () {
                                      return encode(this, true);
                                  }));
                              };
                          }
                          return window[_0x2c7b("0x185")] && (Base64 = window.Base64), void 0 !== obj && obj[_0x2c7b("0x0")] ? obj.exports[_0x2c7b("0x179")] = window[_0x2c7b("0x179")] : void 0 !== (cval = function () {
                              return window.Base64;
                          }.apply(val, [])) && (obj[_0x2c7b("0x0")] = cval), {
                              Base64: window[_0x2c7b("0x179")]
                          };
                      }(global);
                  }).call(val, function () {
                      return this;
                  }());
              }, function (canCreateDiscussions, exports, require) {
                  (function (global) {
                      /**
                       * @return {?}
                       */
                      function kMaxLength() {
                          return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
                      }
                      /**
                       * @param {!Object} target
                       * @param {number} length
                       * @return {?}
                       */
                      function createBuffer(target, length) {
                          if (kMaxLength() < length) {
                              throw new RangeError("Invalid typed array length");
                          }
                          return Buffer[_0x2c7b("0x186")] ? (target = new Uint8Array(length)).__proto__ = Buffer.prototype : (null === target && (target = new Buffer(length)), target[_0x2c7b("0x23")] = length), target;
                      }
                      /**
                       * @param {undefined} size
                       * @param {boolean} content
                       * @param {boolean} type
                       * @return {?}
                       */
                      function Buffer(size, content, type) {
                          if (!(Buffer.TYPED_ARRAY_SUPPORT || this instanceof Buffer)) {
                              return new Buffer(size, content, type);
                          }
                          if (_0x2c7b("0xc") == typeof size) {
                              if (_0x2c7b("0x187") == typeof content) {
                                  throw new Error("If encoding is specified then the first argument must be a string");
                              }
                              return allocUnsafe(this, size);
                          }
                          return fn(this, size, content, type);
                      }
                      /**
                       * @param {!Array} a
                       * @param {(Object|string)} v
                       * @param {boolean} i
                       * @param {boolean} name
                       * @return {?}
                       */
                      function fn(a, v, i, name) {
                          if ("number" == typeof v) {
                              throw new TypeError('"value" argument must not be a number');
                          }
                          return "undefined" != typeof ArrayBuffer && v instanceof ArrayBuffer ? function (value, array, byteOffset, length) {
                              if (array.byteLength, byteOffset < 0 || array.byteLength < byteOffset) {
                                  throw new RangeError("'offset' is out of bounds");
                              }
                              if (array.byteLength < byteOffset + (length || 0)) {
                                  throw new RangeError(_0x2c7b("0x188"));
                              }
                              return array = void 0 === byteOffset && void 0 === length ? new Uint8Array(array) : void 0 === length ? new Uint8Array(array, byteOffset) : new Uint8Array(array, byteOffset, length), Buffer[_0x2c7b("0x186")] ? (value = array).__proto__ = Buffer.prototype : value = render(value, array), value;
                          }(a, v, i, name) : "string" == typeof v ? function (that, data, value) {
                              if ("string" == typeof value && "" !== value || (value = "utf8"), !Buffer[_0x2c7b("0x189")](value)) {
                                  throw new TypeError('"encoding" must be a valid string encoding');
                              }
                              /** @type {number} */
                              var length = 0 | byteLength(data, value);
                              var actual = (that = createBuffer(that, length)).write(data, value);
                              return actual !== length && (that = that.slice(0, actual)), that;
                          }(a, v, i) : function (that, data) {
                              if (Buffer.isBuffer(data)) {
                                  /** @type {number} */
                                  var length = 0 | checked(data[_0x2c7b("0x23")]);
                                  return 0 === (that = createBuffer(that, length)).length || data[_0x2c7b("0x18a")](that, 0, 0, length), that;
                              }
                              if (data) {
                                  if ("undefined" != typeof ArrayBuffer && data[_0x2c7b("0x18b")] instanceof ArrayBuffer || _0x2c7b("0x23") in data) {
                                      return "number" != typeof data.length || (cContent = data[_0x2c7b("0x23")]) != cContent ? createBuffer(that, 0) : render(that, data);
                                  }
                                  if (_0x2c7b("0x18c") === data[_0x2c7b("0x8e")] && format(data.data)) {
                                      return render(that, data[_0x2c7b("0x18d")]);
                                  }
                              }
                              var cContent;
                              throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");
                          }(a, v);
                      }
                      /**
                       * @param {number} length
                       * @return {undefined}
                       */
                      function assertSize(length) {
                          if ("number" != typeof length) {
                              throw new TypeError('"size" argument must be a number');
                          }
                          if (length < 0) {
                              throw new RangeError('"size" argument must not be negative');
                          }
                      }
                      /**
                       * @param {!Object} that
                       * @param {number} size
                       * @return {?}
                       */
                      function allocUnsafe(that, size) {
                          if (assertSize(size), that = createBuffer(that, size < 0 ? 0 : 0 | checked(size)), !Buffer[_0x2c7b("0x186")]) {
                              /** @type {number} */
                              var i = 0;
                              for (; i < size; ++i) {
                                  /** @type {number} */
                                  that[i] = 0;
                              }
                          }
                          return that;
                      }
                      /**
                       * @param {!Object} that
                       * @param {?} array
                       * @return {?}
                       */
                      function render(that, array) {
                          /** @type {number} */
                          var length = array.length < 0 ? 0 : 0 | checked(array.length);
                          that = createBuffer(that, length);
                          /** @type {number} */
                          var i = 0;
                          for (; i < length; i = i + 1) {
                              /** @type {number} */
                              that[i] = 255 & array[i];
                          }
                          return that;
                      }
                      /**
                       * @param {number} length
                       * @return {?}
                       */
                      function checked(length) {
                          if (length >= kMaxLength()) {
                              throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + _0x2c7b("0x18e"));
                          }
                          return 0 | length;
                      }
                      /**
                       * @param {string} string
                       * @param {string} encoding
                       * @return {?}
                       */
                      function byteLength(string, encoding) {
                          if (Buffer.isBuffer(string)) {
                              return string[_0x2c7b("0x23")];
                          }
                          if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer[_0x2c7b("0x18f")] && (ArrayBuffer[_0x2c7b("0x18f")](string) || string instanceof ArrayBuffer)) {
                              return string[_0x2c7b("0x190")];
                          }
                          if ("string" != typeof string) {
                              /** @type {string} */
                              string = "" + string;
                          }
                          var length = string.length;
                          if (0 === length) {
                              return 0;
                          }
                          /** @type {boolean} */
                          var n = false;
                          for (;;) {
                              switch (encoding) {
                                  case _0x2c7b("0x191"):
                                  case "latin1":
                                  case _0x2c7b("0x192"):
                                      return length;
                                  case "utf8":
                                  case "utf-8":
                                  case void 0:
                                      return utf8ToBytes(string)[_0x2c7b("0x23")];
                                  case "ucs2":
                                  case "ucs-2":
                                  case _0x2c7b("0x193"):
                                  case "utf-16le":
                                      return 2 * length;
                                  case "hex":
                                      return length >>> 1;
                                  case _0x2c7b("0x17e"):
                                      return put(string).length;
                                  default:
                                      if (n) {
                                          return utf8ToBytes(string).length;
                                      }
                                      encoding = ("" + encoding)[_0x2c7b("0xa1")]();
                                      /** @type {boolean} */
                                      n = true;
                              }
                          }
                      }
                      /**
                       * @param {!NodeList} o
                       * @param {number} i
                       * @param {number} name
                       * @return {undefined}
                       */
                      function swap(o, i, name) {
                          var type = o[i];
                          o[i] = o[name];
                          o[name] = type;
                      }
                      /**
                       * @param {number} item
                       * @param {number} val
                       * @param {number} value
                       * @param {number} options
                       * @param {boolean} isArray
                       * @return {?}
                       */
                      function bidirectionalIndexOf(item, val, value, options, isArray) {
                          if (0 === item.length) {
                              return -1;
                          }
                          if ("string" == typeof value ? (options = value, value = 0) : 2147483647 < value ? value = 2147483647 : value < -2147483648 && (value = -2147483648), value = +value, isNaN(value) && (value = isArray ? 0 : item.length - 1), value < 0 && (value = item.length + value), value >= item.length) {
                              if (isArray) {
                                  return -1;
                              }
                              /** @type {number} */
                              value = item.length - 1;
                          } else {
                              if (value < 0) {
                                  if (!isArray) {
                                      return -1;
                                  }
                                  /** @type {number} */
                                  value = 0;
                              }
                          }
                          if ("string" == typeof val && (val = Buffer.from(val, options)), Buffer.isBuffer(val)) {
                              return 0 === val.length ? -1 : next(item, val, value, options, isArray);
                          }
                          if ("number" == typeof val) {
                              return val = val & 255, Buffer[_0x2c7b("0x186")] && "function" == typeof Uint8Array.prototype.indexOf ? isArray ? Uint8Array[_0x2c7b("0x41")].indexOf.call(item, val, value) : Uint8Array.prototype.lastIndexOf.call(item, val, value) : next(item, [val], value, options, isArray);
                          }
                          throw new TypeError("val must be string, number or Buffer");
                      }
                      /**
                       * @param {number} arr
                       * @param {number} val
                       * @param {number} n
                       * @param {?} data
                       * @param {boolean} fn
                       * @return {?}
                       */
                      function next(arr, val, n, data, fn) {
                          /**
                           * @param {number} buf
                           * @param {number} i
                           * @return {?}
                           */
                          function read(buf, i) {
                              return 1 === indexSize ? buf[i] : buf.readUInt16BE(i * indexSize);
                          }
                          var i;
                          /** @type {number} */
                          var indexSize = 1;
                          var x = arr.length;
                          var l = val.length;
                          if (void 0 !== data && ("ucs2" === (data = String(data).toLowerCase()) || "ucs-2" === data || _0x2c7b("0x193") === data || "utf-16le" === data)) {
                              if (arr.length < 2 || val[_0x2c7b("0x23")] < 2) {
                                  return -1;
                              }
                              /** @type {number} */
                              x = x / (indexSize = 2);
                              /** @type {number} */
                              l = l / 2;
                              /** @type {number} */
                              n = n / 2;
                          }
                          if (fn) {
                              /** @type {number} */
                              var foundIndex = -1;
                              /** @type {number} */
                              i = n;
                              for (; i < x; i++) {
                                  if (read(arr, i) === read(val, -1 === foundIndex ? 0 : i - foundIndex)) {
                                      if (-1 === foundIndex && (foundIndex = i), i - foundIndex + 1 === l) {
                                          return foundIndex * indexSize;
                                      }
                                  } else {
                                      if (-1 !== foundIndex) {
                                          /** @type {number} */
                                          i = i - (i - foundIndex);
                                      }
                                      /** @type {number} */
                                      foundIndex = -1;
                                  }
                              }
                          } else {
                              if (x < n + l) {
                                  /** @type {number} */
                                  n = x - l;
                              }
                              /** @type {number} */
                              i = n;
                              for (; 0 <= i; i--) {
                                  /** @type {boolean} */
                                  var b = true;
                                  /** @type {number} */
                                  var j = 0;
                                  for (; j < l; j++) {
                                      if (read(arr, i + j) !== read(val, j)) {
                                          /** @type {boolean} */
                                          b = false;
                                          break;
                                      }
                                  }
                                  if (b) {
                                      return i;
                                  }
                              }
                          }
                          return -1;
                      }
                      /**
                       * @param {!Object} data
                       * @param {string} a
                       * @param {number} offset
                       * @param {number} len
                       * @return {?}
                       */
                      function parse(data, a, offset, len) {
                          /** @type {number} */
                          offset = Number(offset) || 0;
                          /** @type {number} */
                          var i = data[_0x2c7b("0x23")] - offset;
                          if (len) {
                              if (i < (len = Number(len))) {
                                  /** @type {number} */
                                  len = i;
                              }
                          } else {
                              /** @type {number} */
                              len = i;
                          }
                          var b1 = a[_0x2c7b("0x23")];
                          if (b1 % 2 != 0) {
                              throw new TypeError(_0x2c7b("0x194"));
                          }
                          if (b1 / 2 < len) {
                              /** @type {number} */
                              len = b1 / 2;
                          }
                          /** @type {number} */
                          var n = 0;
                          for (; n < len; ++n) {
                              /** @type {number} */
                              var bottom1 = parseInt(a.substr(2 * n, 2), 16);
                              if (isNaN(bottom1)) {
                                  return n;
                              }
                              /** @type {number} */
                              data[offset + n] = bottom1;
                          }
                          return n;
                      }
                      /**
                       * @param {?} type
                       * @param {string} value
                       * @param {number} name
                       * @param {number} tag
                       * @return {?}
                       */
                      function append(type, value, name, tag) {
                          return callback(function (array) {
                              /** @type {!Array} */
                              var results = [];
                              /** @type {number} */
                              var i = 0;
                              for (; i < array.length; ++i) {
                                  results.push(255 & array[_0x2c7b("0x17b")](i));
                              }
                              return results;
                          }(value), type, name, tag);
                      }
                      /**
                       * @param {!Array} keys
                       * @param {number} count
                       * @param {number} end
                       * @return {?}
                       */
                      function f(keys, count, end) {
                          /** @type {number} */
                          end = Math.min(keys.length, end);
                          /** @type {!Array} */
                          var g = [];
                          /** @type {number} */
                          var i = count;
                          for (; i < end;) {
                              var eventKey;
                              var __key__;
                              var glContext;
                              var x;
                              var v = keys[i];
                              /** @type {null} */
                              var u = null;
                              /** @type {number} */
                              var bytesPerSequence = 239 < v ? 4 : 223 < v ? 3 : 191 < v ? 2 : 1;
                              if (i + bytesPerSequence <= end) {
                                  switch (bytesPerSequence) {
                                      case 1:
                                          if (v < 128) {
                                              u = v;
                                          }
                                          break;
                                      case 2:
                                          if (128 == (192 & (eventKey = keys[i + 1])) && 127 < (x = (31 & v) << 6 | 63 & eventKey)) {
                                              /** @type {number} */
                                              u = x;
                                          }
                                          break;
                                      case 3:
                                          eventKey = keys[i + 1];
                                          __key__ = keys[i + 2];
                                          if (128 == (192 & eventKey) && 128 == (192 & __key__) && 2047 < (x = (15 & v) << 12 | (63 & eventKey) << 6 | 63 & __key__) && (x < 55296 || 57343 < x)) {
                                              /** @type {number} */
                                              u = x;
                                          }
                                          break;
                                      case 4:
                                          eventKey = keys[i + 1];
                                          __key__ = keys[i + 2];
                                          glContext = keys[i + 3];
                                          if (128 == (192 & eventKey) && 128 == (192 & __key__) && 128 == (192 & glContext) && 65535 < (x = (15 & v) << 18 | (63 & eventKey) << 12 | (63 & __key__) << 6 | 63 & glContext) && x < 1114112) {
                                              /** @type {number} */
                                              u = x;
                                          }
                                  }
                              }
                              if (null === u) {
                                  /** @type {number} */
                                  u = 65533;
                                  /** @type {number} */
                                  bytesPerSequence = 1;
                              } else {
                                  if (65535 < u) {
                                      /** @type {number} */
                                      u = u - 65536;
                                      g[_0x2c7b("0x9")](u >>> 10 & 1023 | 55296);
                                      /** @type {number} */
                                      u = 56320 | 1023 & u;
                                  }
                              }
                              g[_0x2c7b("0x9")](u);
                              i = i + bytesPerSequence;
                          }
                          return function (array) {
                              var length = array[_0x2c7b("0x23")];
                              if (length <= limit) {
                                  return String.fromCharCode[_0x2c7b("0x49")](String, array);
                              }
                              /** @type {string} */
                              var res = "";
                              /** @type {number} */
                              var i = 0;
                              for (; i < length;) {
                                  res = res + String.fromCharCode[_0x2c7b("0x49")](String, array.slice(i, i = i + limit));
                              }
                              return res;
                          }(g);
                      }
                      /**
                       * @param {!Array} array
                       * @param {number} i
                       * @param {number} v
                       * @return {?}
                       */
                      function p(array, i, v) {
                          /** @type {string} */
                          var s = "";
                          /** @type {number} */
                          v = Math.min(array.length, v);
                          /** @type {number} */
                          var j = i;
                          for (; j < v; ++j) {
                              /** @type {string} */
                              s = s + String.fromCharCode(127 & array[j]);
                          }
                          return s;
                      }
                      /**
                       * @param {!Array} p
                       * @param {number} n
                       * @param {number} s
                       * @return {?}
                       */
                      function v(p, n, s) {
                          /** @type {string} */
                          var key = "";
                          s = Math[_0x2c7b("0x195")](p.length, s);
                          /** @type {number} */
                          var j = n;
                          for (; j < s; ++j) {
                              /** @type {string} */
                              key = key + String.fromCharCode(p[j]);
                          }
                          return key;
                      }
                      /**
                       * @param {!Array} m
                       * @param {number} n
                       * @param {number} i
                       * @return {?}
                       */
                      function g(m, n, i) {
                          var newWidth;
                          var pi = m.length;
                          if (!n || n < 0) {
                              /** @type {number} */
                              n = 0;
                          }
                          if (!i || i < 0 || pi < i) {
                              i = pi;
                          }
                          /** @type {string} */
                          var b = "";
                          /** @type {number} */
                          var j = n;
                          for (; j < i; ++j) {
                              b = b + ((newWidth = m[j]) < 16 ? "0" + newWidth.toString(16) : newWidth.toString(16));
                          }
                          return b;
                      }
                      /**
                       * @param {?} fn
                       * @param {number} data
                       * @param {number} end
                       * @return {?}
                       */
                      function inflateStore(fn, data, end) {
                          var bytes = fn[_0x2c7b("0x2f")](data, end);
                          /** @type {string} */
                          var storeBuffer = "";
                          /** @type {number} */
                          var i = 0;
                          for (; i < bytes[_0x2c7b("0x23")]; i = i + 2) {
                              /** @type {string} */
                              storeBuffer = storeBuffer + String.fromCharCode(bytes[i] + 256 * bytes[i + 1]);
                          }
                          return storeBuffer;
                      }
                      /**
                       * @param {number} offset
                       * @param {number} ext
                       * @param {?} length
                       * @return {undefined}
                       */
                      function checkOffset(offset, ext, length) {
                          if (offset % 1 != 0 || offset < 0) {
                              throw new RangeError(_0x2c7b("0x196"));
                          }
                          if (length < offset + ext) {
                              throw new RangeError("Trying to access beyond buffer length");
                          }
                      }
                      /**
                       * @param {!NodeList} buf
                       * @param {number} n
                       * @param {number} offset
                       * @param {number} ext
                       * @param {number} m
                       * @param {number} value
                       * @return {undefined}
                       */
                      function checkInt(buf, n, offset, ext, m, value) {
                          if (!Buffer[_0x2c7b("0x197")](buf)) {
                              throw new TypeError('"buffer" argument must be a Buffer instance');
                          }
                          if (m < n || n < value) {
                              throw new RangeError(_0x2c7b("0x198"));
                          }
                          if (offset + ext > buf.length) {
                              throw new RangeError(_0x2c7b("0x199"));
                          }
                      }
                      /**
                       * @param {?} value
                       * @param {number} buf
                       * @param {number} offset
                       * @param {boolean} littleEndian
                       * @return {undefined}
                       */
                      function objectWriteUInt16(value, buf, offset, littleEndian) {
                          if (buf < 0) {
                              buf = 65535 + buf + 1;
                          }
                          /** @type {number} */
                          var i = 0;
                          /** @type {number} */
                          var cell_amount = Math.min(value[_0x2c7b("0x23")] - offset, 2);
                          for (; i < cell_amount; ++i) {
                              /** @type {number} */
                              value[offset + i] = (buf & 255 << 8 * (littleEndian ? i : 1 - i)) >>> 8 * (littleEndian ? i : 1 - i);
                          }
                      }
                      /**
                       * @param {!NodeList} buf
                       * @param {number} value
                       * @param {number} offset
                       * @param {boolean} littleEndian
                       * @return {undefined}
                       */
                      function objectWriteUInt32(buf, value, offset, littleEndian) {
                          if (value < 0) {
                              value = 4294967295 + value + 1;
                          }
                          /** @type {number} */
                          var i = 0;
                          /** @type {number} */
                          var cell_amount = Math.min(buf.length - offset, 4);
                          for (; i < cell_amount; ++i) {
                              /** @type {number} */
                              buf[offset + i] = value >>> 8 * (littleEndian ? i : 3 - i) & 255;
                          }
                      }
                      /**
                       * @param {!NodeList} contents
                       * @param {number} module
                       * @param {number} index
                       * @param {number} n
                       * @param {?} messageId
                       * @param {?} validated
                       * @return {undefined}
                       */
                      function cb(contents, module, index, n, messageId, validated) {
                          if (index + n > contents.length) {
                              throw new RangeError(_0x2c7b("0x199"));
                          }
                          if (index < 0) {
                              throw new RangeError(_0x2c7b("0x199"));
                          }
                      }
                      /**
                       * @param {(Node|NodeList|string)} node
                       * @param {?} offset
                       * @param {number} item
                       * @param {boolean} that
                       * @param {string} name
                       * @return {?}
                       */
                      function join(node, offset, item, that, name) {
                          return name || cb(node, 0, item, 4), rng[_0x2c7b("0x19a")](node, offset, item, that, 23, 4), item + 4;
                      }
                      /**
                       * @param {(Node|NodeList|string)} buf
                       * @param {?} n
                       * @param {number} val
                       * @param {boolean} littleEndian
                       * @param {string} noAssert
                       * @return {?}
                       */
                      function writeDouble(buf, n, val, littleEndian, noAssert) {
                          return noAssert || cb(buf, 0, val, 8), rng[_0x2c7b("0x19a")](buf, n, val, littleEndian, 52, 8), val + 8;
                      }
                      /**
                       * @param {string} str
                       * @param {number} units
                       * @return {?}
                       */
                      function utf8ToBytes(str, units) {
                          units = units || 1 / 0;
                          var d;
                          var l = str.length;
                          /** @type {null} */
                          var f4 = null;
                          /** @type {!Array} */
                          var bytes = [];
                          /** @type {number} */
                          var i = 0;
                          for (; i < l; ++i) {
                              if (55295 < (d = str[_0x2c7b("0x17b")](i)) && d < 57344) {
                                  if (!f4) {
                                      if (56319 < d) {
                                          if (-1 < (units = units - 3)) {
                                              bytes.push(239, 191, 189);
                                          }
                                          continue;
                                      }
                                      if (i + 1 === l) {
                                          if (-1 < (units = units - 3)) {
                                              bytes[_0x2c7b("0x9")](239, 191, 189);
                                          }
                                          continue;
                                      }
                                      f4 = d;
                                      continue;
                                  }
                                  if (d < 56320) {
                                      if (-1 < (units = units - 3)) {
                                          bytes.push(239, 191, 189);
                                      }
                                      f4 = d;
                                      continue;
                                  }
                                  /** @type {number} */
                                  d = 65536 + (f4 - 55296 << 10 | d - 56320);
                              } else {
                                  if (f4 && -1 < (units = units - 3)) {
                                      bytes[_0x2c7b("0x9")](239, 191, 189);
                                  }
                              }
                              if (f4 = null, d < 128) {
                                  if ((units = units - 1) < 0) {
                                      break;
                                  }
                                  bytes.push(d);
                              } else {
                                  if (d < 2048) {
                                      if ((units = units - 2) < 0) {
                                          break;
                                      }
                                      bytes[_0x2c7b("0x9")](d >> 6 | 192, 63 & d | 128);
                                  } else {
                                      if (d < 65536) {
                                          if ((units = units - 3) < 0) {
                                              break;
                                          }
                                          bytes.push(d >> 12 | 224, d >> 6 & 63 | 128, 63 & d | 128);
                                      } else {
                                          if (!(d < 1114112)) {
                                              throw new Error(_0x2c7b("0x19b"));
                                          }
                                          if ((units = units - 4) < 0) {
                                              break;
                                          }
                                          bytes.push(d >> 18 | 240, d >> 12 & 63 | 128, d >> 6 & 63 | 128, 63 & d | 128);
                                      }
                                  }
                              }
                          }
                          return bytes;
                      }
                      /**
                       * @param {string} type
                       * @return {?}
                       */
                      function put(type) {
                          return base64[_0x2c7b("0x19c")](function (res) {
                              if ((res = (str = res, str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, "")).replace(tokensRegExp, "")).length < 2) {
                                  return "";
                              }
                              var str;
                              for (; res.length % 4 != 0;) {
                                  /** @type {string} */
                                  res = res + "=";
                              }
                              return res;
                          }(type));
                      }
                      /**
                       * @param {!NodeList} result
                       * @param {?} r
                       * @param {number} s
                       * @param {number} key
                       * @return {?}
                       */
                      function callback(result, r, s, key) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < key && !(i + s >= r[_0x2c7b("0x23")] || i >= result.length); ++i) {
                              r[i + s] = result[i];
                          }
                          return i;
                      }
                      var base64 = require(20);
                      var rng = require(21);
                      var format = require(22);
                      /** @type {function(undefined, boolean, boolean): ?} */
                      exports[_0x2c7b("0x18c")] = Buffer;
                      /**
                       * @param {number} length
                       * @return {?}
                       */
                      exports.SlowBuffer = function (length) {
                          return +length != length && (length = 0), Buffer[_0x2c7b("0x19d")](+length);
                      };
                      /** @type {number} */
                      exports.INSPECT_MAX_BYTES = 50;
                      Buffer[_0x2c7b("0x186")] = void 0 !== global[_0x2c7b("0x186")] ? global.TYPED_ARRAY_SUPPORT : function () {
                          try {
                              /** @type {!Uint8Array} */
                              var arr = new Uint8Array(1);
                              return arr.__proto__ = {
                                  __proto__: Uint8Array.prototype,
                                  foo: function () {
                                      return 42;
                                  }
                              }, 42 === arr.foo() && _0x2c7b("0x69") == typeof arr[_0x2c7b("0x19e")] && 0 === arr.subarray(1, 1).byteLength;
                          } catch (t) {
                              return false;
                          }
                      }();
                      exports[_0x2c7b("0x19f")] = kMaxLength();
                      /** @type {number} */
                      Buffer[_0x2c7b("0x1a0")] = 8192;
                      /**
                       * @param {!Object} js_dict
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x1a1")] = function (js_dict) {
                          return js_dict.__proto__ = Buffer[_0x2c7b("0x41")], js_dict;
                      };
                      /**
                       * @param {(Object|string)} endpoints
                       * @param {boolean} modifier
                       * @param {boolean} type
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x17d")] = function (endpoints, modifier, type) {
                          return fn(null, endpoints, modifier, type);
                      };
                      if (Buffer[_0x2c7b("0x186")]) {
                          Buffer.prototype.__proto__ = Uint8Array.prototype;
                          /** @type {function(new:Uint8Array, (Array<number>|ArrayBuffer|ArrayBufferView|SharedArrayBuffer|null|number), number=, number=): ?} */
                          Buffer[_0x2c7b("0x13b")] = Uint8Array;
                          if ("undefined" != typeof Symbol && Symbol.species && Buffer[Symbol[_0x2c7b("0x1a2")]] === Buffer) {
                              Object[_0x2c7b("0x51")](Buffer, Symbol[_0x2c7b("0x1a2")], {
                                  value: null,
                                  configurable: true
                              });
                          }
                      }
                      /**
                       * @param {number} height
                       * @param {string} length
                       * @param {?} index
                       * @return {?}
                       */
                      Buffer.alloc = function (height, length, index) {
                          return null, i = length, start = index, assertSize(size = height), size <= 0 ? createBuffer(null, size) : void 0 !== i ? _0x2c7b("0x187") == typeof start ? createBuffer(null, size).fill(i, start) : createBuffer(null, size).fill(i) : createBuffer(null, size);
                          var size;
                          var i;
                          var start;
                      };
                      /**
                       * @param {undefined} size
                       * @return {?}
                       */
                      Buffer.allocUnsafe = function (size) {
                          return allocUnsafe(null, size);
                      };
                      /**
                       * @param {undefined} size
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x1a3")] = function (size) {
                          return allocUnsafe(null, size);
                      };
                      /**
                       * @param {!Object} obj
                       * @return {?}
                       */
                      Buffer.isBuffer = function (obj) {
                          return !(null == obj || !obj[_0x2c7b("0x1a4")]);
                      };
                      /**
                       * @param {!Array} e
                       * @param {!Array} text
                       * @return {?}
                       */
                      Buffer.compare = function (e, text) {
                          if (!Buffer.isBuffer(e) || !Buffer[_0x2c7b("0x197")](text)) {
                              throw new TypeError("Arguments must be Buffers");
                          }
                          if (e === text) {
                              return 0;
                          }
                          var p = e[_0x2c7b("0x23")];
                          var n = text.length;
                          /** @type {number} */
                          var k = 0;
                          var m = Math[_0x2c7b("0x195")](p, n);
                          for (; k < m; ++k) {
                              if (e[k] !== text[k]) {
                                  p = e[k];
                                  n = text[k];
                                  break;
                              }
                          }
                          return p < n ? -1 : n < p ? 1 : 0;
                      };
                      /**
                       * @param {number} encoding
                       * @return {?}
                       */
                      Buffer.isEncoding = function (encoding) {
                          switch (String(encoding).toLowerCase()) {
                              case _0x2c7b("0x1a5"):
                              case "utf8":
                              case "utf-8":
                              case "ascii":
                              case "latin1":
                              case _0x2c7b("0x192"):
                              case _0x2c7b("0x17e"):
                              case "ucs2":
                              case "ucs-2":
                              case "utf16le":
                              case "utf-16le":
                                  return true;
                              default:
                                  return false;
                          }
                      };
                      /**
                       * @param {!Array} e
                       * @param {number} t
                       * @return {?}
                       */
                      Buffer.concat = function (e, t) {
                          if (!format(e)) {
                              throw new TypeError('"list" argument must be an Array of Buffers');
                          }
                          if (0 === e.length) {
                              return Buffer.alloc(0);
                          }
                          var f;
                          if (void 0 === t) {
                              /** @type {number} */
                              f = t = 0;
                              for (; f < e.length; ++f) {
                                  t = t + e[f].length;
                              }
                          }
                          var a = Buffer[_0x2c7b("0x1a6")](t);
                          /** @type {number} */
                          var i = 0;
                          /** @type {number} */
                          f = 0;
                          for (; f < e.length; ++f) {
                              var r = e[f];
                              if (!Buffer[_0x2c7b("0x197")](r)) {
                                  throw new TypeError('"list" argument must be an Array of Buffers');
                              }
                              r.copy(a, i);
                              i = i + r.length;
                          }
                          return a;
                      };
                      /** @type {function(string, string): ?} */
                      Buffer[_0x2c7b("0x190")] = byteLength;
                      /** @type {boolean} */
                      Buffer.prototype[_0x2c7b("0x1a4")] = true;
                      /**
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1a7")] = function () {
                          var cell_amount = this[_0x2c7b("0x23")];
                          if (cell_amount % 2 != 0) {
                              throw new RangeError("Buffer size must be a multiple of 16-bits");
                          }
                          /** @type {number} */
                          var i = 0;
                          for (; i < cell_amount; i = i + 2) {
                              swap(this, i, i + 1);
                          }
                          return this;
                      };
                      /**
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].swap32 = function () {
                          var l = this.length;
                          if (l % 4 != 0) {
                              throw new RangeError("Buffer size must be a multiple of 32-bits");
                          }
                          /** @type {number} */
                          var i = 0;
                          for (; i < l; i = i + 4) {
                              swap(this, i, i + 3);
                              swap(this, i + 1, i + 2);
                          }
                          return this;
                      };
                      /**
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1a8")] = function () {
                          var cell_amount = this[_0x2c7b("0x23")];
                          if (cell_amount % 8 != 0) {
                              throw new RangeError("Buffer size must be a multiple of 64-bits");
                          }
                          /** @type {number} */
                          var i = 0;
                          for (; i < cell_amount; i = i + 8) {
                              swap(this, i, i + 7);
                              swap(this, i + 1, i + 6);
                              swap(this, i + 2, i + 5);
                              swap(this, i + 3, i + 4);
                          }
                          return this;
                      };
                      /**
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x11f")] = function () {
                          /** @type {number} */
                          var max = 0 | this[_0x2c7b("0x23")];
                          return 0 === max ? "" : 0 === arguments[_0x2c7b("0x23")] ? f(this, 0, max) : function (encoding, n, i) {
                              var pos;
                              var end;
                              /** @type {boolean} */
                              var c = false;
                              if ((void 0 === n || n < 0) && (n = 0), n > this.length) {
                                  return "";
                              }
                              if ((void 0 === i || i > this.length) && (i = this.length), i <= 0) {
                                  return "";
                              }
                              if ((i = i >>> 0) <= (n = n >>> 0)) {
                                  return "";
                              }
                              if (!encoding) {
                                  /** @type {string} */
                                  encoding = "utf8";
                              }
                              for (;;) {
                                  switch (encoding) {
                                      case _0x2c7b("0x1a5"):
                                          return g(this, n, i);
                                      case "utf8":
                                      case _0x2c7b("0x1a9"):
                                          return f(this, n, i);
                                      case _0x2c7b("0x191"):
                                          return p(this, n, i);
                                      case "latin1":
                                      case "binary":
                                          return v(this, n, i);
                                      case "base64":
                                          return this, end = i, 0 === (pos = n) && end === this.length ? base64.fromByteArray(this) : base64[_0x2c7b("0x1aa")](this.slice(pos, end));
                                      case _0x2c7b("0x1ab"):
                                      case "ucs-2":
                                      case _0x2c7b("0x193"):
                                      case _0x2c7b("0x1ac"):
                                          return inflateStore(this, n, i);
                                      default:
                                          if (c) {
                                              throw new TypeError("Unknown encoding: " + encoding);
                                          }
                                          encoding = (encoding + "")[_0x2c7b("0xa1")]();
                                          /** @type {boolean} */
                                          c = true;
                                  }
                              }
                          }.apply(this, arguments);
                      };
                      /**
                       * @param {!Object} a
                       * @return {?}
                       */
                      Buffer.prototype.equals = function (a) {
                          if (!Buffer.isBuffer(a)) {
                              throw new TypeError("Argument must be a Buffer");
                          }
                          return this === a || 0 === Buffer[_0x2c7b("0x1ad")](this, a);
                      };
                      /**
                       * @return {?}
                       */
                      Buffer.prototype.inspect = function () {
                          /** @type {string} */
                          var pix_color = "";
                          var max = exports.INSPECT_MAX_BYTES;
                          return 0 < this.length && (pix_color = this[_0x2c7b("0x11f")]("hex", 0, max).match(/.{2}/g).join(" "), this[_0x2c7b("0x23")] > max && (pix_color = pix_color + _0x2c7b("0x1ae"))), _0x2c7b("0x1af") + pix_color + ">";
                      };
                      /**
                       * @param {number} node
                       * @param {number} end
                       * @param {number} offset
                       * @param {number} n
                       * @param {number} start
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1ad")] = function (node, end, offset, n, start) {
                          if (!Buffer[_0x2c7b("0x197")](node)) {
                              throw new TypeError(_0x2c7b("0x1b0"));
                          }
                          if (void 0 === end && (end = 0), void 0 === offset && (offset = node ? node.length : 0), void 0 === n && (n = 0), void 0 === start && (start = this.length), end < 0 || offset > node.length || n < 0 || start > this[_0x2c7b("0x23")]) {
                              throw new RangeError("out of range index");
                          }
                          if (start <= n && offset <= end) {
                              return 0;
                          }
                          if (start <= n) {
                              return -1;
                          }
                          if (offset <= end) {
                              return 1;
                          }
                          if (this === node) {
                              return 0;
                          }
                          /** @type {number} */
                          var t = (start = start >>> 0) - (n = n >>> 0);
                          /** @type {number} */
                          var r = (offset = offset >>> 0) - (end = end >>> 0);
                          var right = Math[_0x2c7b("0x195")](t, r);
                          var a = this[_0x2c7b("0x2f")](n, start);
                          var b = node[_0x2c7b("0x2f")](end, offset);
                          /** @type {number} */
                          var i = 0;
                          for (; i < right; ++i) {
                              if (a[i] !== b[i]) {
                                  t = a[i];
                                  r = b[i];
                                  break;
                              }
                          }
                          return t < r ? -1 : r < t ? 1 : 0;
                      };
                      /**
                       * @param {?} val
                       * @param {undefined} byteOffset
                       * @param {undefined} encoding
                       * @return {?}
                       */
                      Buffer.prototype.includes = function (val, byteOffset, encoding) {
                          return -1 !== this.indexOf(val, byteOffset, encoding);
                      };
                      /**
                       * @param {?} val
                       * @param {number} byteOffset
                       * @param {number} encoding
                       * @return {?}
                       */
                      Buffer.prototype.indexOf = function (val, byteOffset, encoding) {
                          return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
                      };
                      /**
                       * @param {undefined} val
                       * @param {undefined} byteOffset
                       * @param {undefined} encoding
                       * @return {?}
                       */
                      Buffer.prototype.lastIndexOf = function (val, byteOffset, encoding) {
                          return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
                      };
                      /**
                       * @param {string} data
                       * @param {number} start
                       * @param {number} end
                       * @param {number} encoding
                       * @return {?}
                       */
                      Buffer.prototype.write = function (data, start, end, encoding) {
                          if (void 0 === start) {
                              /** @type {string} */
                              encoding = "utf8";
                              end = this.length;
                              /** @type {number} */
                              start = 0;
                          } else {
                              if (void 0 === end && "string" == typeof start) {
                                  /** @type {number} */
                                  encoding = start;
                                  end = this.length;
                                  /** @type {number} */
                                  start = 0;
                              } else {
                                  if (!isFinite(start)) {
                                      throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
                                  }
                                  /** @type {number} */
                                  start = start | 0;
                                  if (isFinite(end)) {
                                      /** @type {number} */
                                      end = end | 0;
                                      if (void 0 === encoding) {
                                          /** @type {string} */
                                          encoding = "utf8";
                                      }
                                  } else {
                                      /** @type {number} */
                                      encoding = end;
                                      end = void 0;
                                  }
                              }
                          }
                          var k;
                          var i;
                          var cmd;
                          var next;
                          var j;
                          var x;
                          /** @type {number} */
                          var offset = this.length - start;
                          if ((void 0 === end || offset < end) && (end = offset), 0 < data.length && (end < 0 || start < 0) || start > this[_0x2c7b("0x23")]) {
                              throw new RangeError("Attempt to write outside buffer bounds");
                          }
                          if (!encoding) {
                              /** @type {string} */
                              encoding = "utf8";
                          }
                          /** @type {boolean} */
                          var b = false;
                          for (;;) {
                              switch (encoding) {
                                  case "hex":
                                      return parse(this, data, start, end);
                                  case _0x2c7b("0x1b1"):
                                  case "utf-8":
                                      return j = start, x = end, callback(utf8ToBytes(data, this.length - j), this, j, x);
                                  case _0x2c7b("0x191"):
                                      return append(this, data, start, end);
                                  case _0x2c7b("0x1b2"):
                                  case _0x2c7b("0x192"):
                                      return append(this, data, start, end);
                                  case "base64":
                                      return this, cmd = start, next = end, callback(put(data), this, cmd, next);
                                  case "ucs2":
                                  case _0x2c7b("0x1b3"):
                                  case "utf16le":
                                  case "utf-16le":
                                      return k = start, i = end, callback(function (e, linksCount) {
                                          var slater;
                                          var radixToPower;
                                          var embedResult;
                                          /** @type {!Array} */
                                          var result = [];
                                          /** @type {number} */
                                          var i = 0;
                                          for (; i < e.length && !((linksCount = linksCount - 2) < 0); ++i) {
                                              /** @type {number} */
                                              radixToPower = (slater = e.charCodeAt(i)) >> 8;
                                              /** @type {number} */
                                              embedResult = slater % 256;
                                              result.push(embedResult);
                                              result[_0x2c7b("0x9")](radixToPower);
                                          }
                                          return result;
                                      }(data, this.length - k), this, k, i);
                                  default:
                                      if (b) {
                                          throw new TypeError("Unknown encoding: " + encoding);
                                      }
                                      /** @type {string} */
                                      encoding = ("" + encoding).toLowerCase();
                                      /** @type {boolean} */
                                      b = true;
                              }
                          }
                      };
                      /**
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x178")] = function () {
                          return {
                              type: _0x2c7b("0x18c"),
                              data: Array.prototype[_0x2c7b("0x2f")].call(this._arr || this, 0)
                          };
                      };
                      /** @type {number} */
                      var limit = 4096;
                      /**
                       * @param {number} start
                       * @param {number} value
                       * @return {?}
                       */
                      Buffer.prototype.slice = function (start, value) {
                          var data;
                          var i = this[_0x2c7b("0x23")];
                          if ((start = ~~start) < 0 ? (start = start + i) < 0 && (start = 0) : i < start && (start = i), (value = void 0 === value ? i : ~~value) < 0 ? (value = value + i) < 0 && (value = 0) : i < value && (value = i), value < start && (value = start), Buffer.TYPED_ARRAY_SUPPORT) {
                              (data = this[_0x2c7b("0x19e")](start, value)).__proto__ = Buffer[_0x2c7b("0x41")];
                          } else {
                              /** @type {number} */
                              var len = value - start;
                              data = new Buffer(len, void 0);
                              /** @type {number} */
                              var i = 0;
                              for (; i < len; ++i) {
                                  data[i] = this[i + start];
                              }
                          }
                          return data;
                      };
                      /**
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} canCreateDiscussions
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1b4")] = function (offset, byteLength, canCreateDiscussions) {
                          /** @type {number} */
                          offset = offset | 0;
                          /** @type {number} */
                          byteLength = byteLength | 0;
                          if (!canCreateDiscussions) {
                              checkOffset(offset, byteLength, this.length);
                          }
                          var val = this[offset];
                          /** @type {number} */
                          var mul = 1;
                          /** @type {number} */
                          var i = 0;
                          for (; ++i < byteLength && (mul = mul * 256);) {
                              val = val + this[offset + i] * mul;
                          }
                          return val;
                      };
                      /**
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.readUIntBE = function (offset, byteLength, noAssert) {
                          /** @type {number} */
                          offset = offset | 0;
                          /** @type {number} */
                          byteLength = byteLength | 0;
                          if (!noAssert) {
                              checkOffset(offset, byteLength, this.length);
                          }
                          var val = this[offset + --byteLength];
                          /** @type {number} */
                          var mul = 1;
                          for (; 0 < byteLength && (mul = mul * 256);) {
                              val = val + this[offset + --byteLength] * mul;
                          }
                          return val;
                      };
                      /**
                       * @param {undefined} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x1b5")] = function (offset, limit) {
                          return limit || checkOffset(offset, 1, this.length), this[offset];
                      };
                      /**
                       * @param {number} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].readUInt16LE = function (offset, limit) {
                          return limit || checkOffset(offset, 2, this[_0x2c7b("0x23")]), this[offset] | this[offset + 1] << 8;
                      };
                      /**
                       * @param {number} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].readUInt16BE = function (offset, limit) {
                          return limit || checkOffset(offset, 2, this[_0x2c7b("0x23")]), this[offset] << 8 | this[offset + 1];
                      };
                      /**
                       * @param {number} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer.prototype.readUInt32LE = function (offset, limit) {
                          return limit || checkOffset(offset, 4, this.length), (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + 16777216 * this[offset + 3];
                      };
                      /**
                       * @param {number} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].readUInt32BE = function (offset, limit) {
                          return limit || checkOffset(offset, 4, this.length), 16777216 * this[offset] + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);
                      };
                      /**
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.readIntLE = function (offset, byteLength, noAssert) {
                          /** @type {number} */
                          offset = offset | 0;
                          /** @type {number} */
                          byteLength = byteLength | 0;
                          if (!noAssert) {
                              checkOffset(offset, byteLength, this.length);
                          }
                          var val = this[offset];
                          /** @type {number} */
                          var mul = 1;
                          /** @type {number} */
                          var i = 0;
                          for (; ++i < byteLength && (mul = mul * 256);) {
                              val = val + this[offset + i] * mul;
                          }
                          return (mul = mul * 128) <= val && (val = val - Math[_0x2c7b("0x1b6")](2, 8 * byteLength)), val;
                      };
                      /**
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.readIntBE = function (offset, byteLength, noAssert) {
                          /** @type {number} */
                          offset = offset | 0;
                          /** @type {number} */
                          byteLength = byteLength | 0;
                          if (!noAssert) {
                              checkOffset(offset, byteLength, this[_0x2c7b("0x23")]);
                          }
                          /** @type {number} */
                          var i = byteLength;
                          /** @type {number} */
                          var rx = 1;
                          var accX = this[offset + --i];
                          for (; 0 < i && (rx = rx * 256);) {
                              accX = accX + this[offset + --i] * rx;
                          }
                          return (rx = rx * 128) <= accX && (accX = accX - Math.pow(2, 8 * byteLength)), accX;
                      };
                      /**
                       * @param {undefined} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].readInt8 = function (offset, limit) {
                          return limit || checkOffset(offset, 1, this.length), 128 & this[offset] ? -1 * (255 - this[offset] + 1) : this[offset];
                      };
                      /**
                       * @param {number} offset
                       * @param {?} noAssert
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].readInt16LE = function (offset, noAssert) {
                          if (!noAssert) {
                              checkOffset(offset, 2, this.length);
                          }
                          /** @type {number} */
                          var r = this[offset] | this[offset + 1] << 8;
                          return 32768 & r ? 4294901760 | r : r;
                      };
                      /**
                       * @param {number} offset
                       * @param {?} canCreateDiscussions
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1b7")] = function (offset, canCreateDiscussions) {
                          if (!canCreateDiscussions) {
                              checkOffset(offset, 2, this.length);
                          }
                          /** @type {number} */
                          var r = this[offset + 1] | this[offset] << 8;
                          return 32768 & r ? 4294901760 | r : r;
                      };
                      /**
                       * @param {number} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].readInt32LE = function (offset, limit) {
                          return limit || checkOffset(offset, 4, this[_0x2c7b("0x23")]), this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;
                      };
                      /**
                       * @param {number} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer.prototype.readInt32BE = function (offset, limit) {
                          return limit || checkOffset(offset, 4, this.length), this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];
                      };
                      /**
                       * @param {undefined} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x1b8")] = function (offset, limit) {
                          return limit || checkOffset(offset, 4, this.length), rng.read(this, offset, true, 23, 4);
                      };
                      /**
                       * @param {undefined} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1b9")] = function (offset, limit) {
                          return limit || checkOffset(offset, 4, this[_0x2c7b("0x23")]), rng[_0x2c7b("0x1ba")](this, offset, false, 23, 4);
                      };
                      /**
                       * @param {undefined} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].readDoubleLE = function (offset, limit) {
                          return limit || checkOffset(offset, 8, this.length), rng.read(this, offset, true, 52, 8);
                      };
                      /**
                       * @param {undefined} offset
                       * @param {string} limit
                       * @return {?}
                       */
                      Buffer.prototype.readDoubleBE = function (offset, limit) {
                          return limit || checkOffset(offset, 8, this.length), rng.read(this, offset, false, 52, 8);
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} n
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1bb")] = function (value, offset, byteLength, n) {
                          /** @type {number} */
                          value = +value;
                          /** @type {number} */
                          offset = offset | 0;
                          /** @type {number} */
                          byteLength = byteLength | 0;
                          if (!n) {
                              checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength) - 1, 0);
                          }
                          /** @type {number} */
                          var mul = 1;
                          /** @type {number} */
                          var i = 0;
                          /** @type {number} */
                          this[offset] = 255 & value;
                          for (; ++i < byteLength && (mul = mul * 256);) {
                              /** @type {number} */
                              this[offset + i] = value / mul & 255;
                          }
                          return offset + byteLength;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} n
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1bc")] = function (value, offset, byteLength, n) {
                          /** @type {number} */
                          value = +value;
                          /** @type {number} */
                          offset = offset | 0;
                          /** @type {number} */
                          byteLength = byteLength | 0;
                          if (!n) {
                              checkInt(this, value, offset, byteLength, Math[_0x2c7b("0x1b6")](2, 8 * byteLength) - 1, 0);
                          }
                          /** @type {number} */
                          var i = byteLength - 1;
                          /** @type {number} */
                          var mul = 1;
                          /** @type {number} */
                          this[offset + i] = 255 & value;
                          for (; 0 <= --i && (mul = mul * 256);) {
                              /** @type {number} */
                              this[offset + i] = value / mul & 255;
                          }
                          return offset + byteLength;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} a
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x1bd")] = function (value, offset, a) {
                          return value = +value, offset = offset | 0, a || checkInt(this, value, offset, 1, 255, 0), Buffer.TYPED_ARRAY_SUPPORT || (value = Math.floor(value)), this[offset] = 255 & value, offset + 1;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].writeUInt16LE = function (value, offset, noAssert) {
                          return value = +value, offset = offset | 0, noAssert || checkInt(this, value, offset, 2, 65535, 0), Buffer[_0x2c7b("0x186")] ? (this[offset] = 255 & value, this[offset + 1] = value >>> 8) : objectWriteUInt16(this, value, offset, true), offset + 2;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].writeUInt16BE = function (value, offset, noAssert) {
                          return value = +value, offset = offset | 0, noAssert || checkInt(this, value, offset, 2, 65535, 0), Buffer[_0x2c7b("0x186")] ? (this[offset] = value >>> 8, this[offset + 1] = 255 & value) : objectWriteUInt16(this, value, offset, false), offset + 2;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} a
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x1be")] = function (value, offset, a) {
                          return value = +value, offset = offset | 0, a || checkInt(this, value, offset, 4, 4294967295, 0), Buffer[_0x2c7b("0x186")] ? (this[offset + 3] = value >>> 24, this[offset + 2] = value >>> 16, this[offset + 1] = value >>> 8, this[offset] = 255 & value) : objectWriteUInt32(this, value, offset, true), offset + 4;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.writeUInt32BE = function (value, offset, noAssert) {
                          return value = +value, offset = offset | 0, noAssert || checkInt(this, value, offset, 4, 4294967295, 0), Buffer[_0x2c7b("0x186")] ? (this[offset] = value >>> 24, this[offset + 1] = value >>> 16, this[offset + 2] = value >>> 8, this[offset + 3] = 255 & value) : objectWriteUInt32(this, value, offset, false), offset + 4;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} noAssert
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].writeIntLE = function (value, offset, byteLength, noAssert) {
                          if (value = +value, offset = offset | 0, !noAssert) {
                              /** @type {number} */
                              var limit = Math.pow(2, 8 * byteLength - 1);
                              checkInt(this, value, offset, byteLength, limit - 1, -limit);
                          }
                          /** @type {number} */
                          var i = 0;
                          /** @type {number} */
                          var mul = 1;
                          /** @type {number} */
                          var x = 0;
                          /** @type {number} */
                          this[offset] = 255 & value;
                          for (; ++i < byteLength && (mul = mul * 256);) {
                              if (value < 0 && 0 === x && 0 !== this[offset + i - 1]) {
                                  /** @type {number} */
                                  x = 1;
                              }
                              /** @type {number} */
                              this[offset + i] = (value / mul >> 0) - x & 255;
                          }
                          return offset + byteLength;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {number} byteLength
                       * @param {?} n
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x1bf")] = function (value, offset, byteLength, n) {
                          if (value = +value, offset = offset | 0, !n) {
                              /** @type {number} */
                              var limit = Math.pow(2, 8 * byteLength - 1);
                              checkInt(this, value, offset, byteLength, limit - 1, -limit);
                          }
                          /** @type {number} */
                          var i = byteLength - 1;
                          /** @type {number} */
                          var mul = 1;
                          /** @type {number} */
                          var loweryear = 0;
                          /** @type {number} */
                          this[offset + i] = 255 & value;
                          for (; 0 <= --i && (mul = mul * 256);) {
                              if (value < 0 && 0 === loweryear && 0 !== this[offset + i + 1]) {
                                  /** @type {number} */
                                  loweryear = 1;
                              }
                              /** @type {number} */
                              this[offset + i] = (value / mul >> 0) - loweryear & 255;
                          }
                          return offset + byteLength;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.writeInt8 = function (value, offset, noAssert) {
                          return value = +value, offset = offset | 0, noAssert || checkInt(this, value, offset, 1, 127, -128), Buffer.TYPED_ARRAY_SUPPORT || (value = Math[_0x2c7b("0x1c0")](value)), value < 0 && (value = 255 + value + 1), this[offset] = 255 & value, offset + 1;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} a
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1c1")] = function (value, offset, a) {
                          return value = +value, offset = offset | 0, a || checkInt(this, value, offset, 2, 32767, -32768), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = 255 & value, this[offset + 1] = value >>> 8) : objectWriteUInt16(this, value, offset, true), offset + 2;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.writeInt16BE = function (value, offset, noAssert) {
                          return value = +value, offset = offset | 0, noAssert || checkInt(this, value, offset, 2, 32767, -32768), Buffer[_0x2c7b("0x186")] ? (this[offset] = value >>> 8, this[offset + 1] = 255 & value) : objectWriteUInt16(this, value, offset, false), offset + 2;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].writeInt32LE = function (value, offset, noAssert) {
                          return value = +value, offset = offset | 0, noAssert || checkInt(this, value, offset, 4, 2147483647, -2147483648), Buffer[_0x2c7b("0x186")] ? (this[offset] = 255 & value, this[offset + 1] = value >>> 8, this[offset + 2] = value >>> 16, this[offset + 3] = value >>> 24) : objectWriteUInt32(this, value, offset, true), offset + 4;
                      };
                      /**
                       * @param {number} value
                       * @param {number} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.writeInt32BE = function (value, offset, noAssert) {
                          return value = +value, offset = offset | 0, noAssert || checkInt(this, value, offset, 4, 2147483647, -2147483648), value < 0 && (value = 4294967295 + value + 1), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = value >>> 24, this[offset + 1] = value >>> 16, this[offset + 2] = value >>> 8, this[offset + 3] = 255 & value) : objectWriteUInt32(this, value, offset, false), offset + 4;
                      };
                      /**
                       * @param {?} dir
                       * @param {undefined} i
                       * @param {string} name
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1c2")] = function (dir, i, name) {
                          return join(this, dir, i, true, name);
                      };
                      /**
                       * @param {?} dir
                       * @param {undefined} i
                       * @param {string} name
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x1c3")] = function (dir, i, name) {
                          return join(this, dir, i, false, name);
                      };
                      /**
                       * @param {?} value
                       * @param {undefined} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer.prototype.writeDoubleLE = function (value, offset, noAssert) {
                          return writeDouble(this, value, offset, true, noAssert);
                      };
                      /**
                       * @param {?} n
                       * @param {undefined} offset
                       * @param {string} noAssert
                       * @return {?}
                       */
                      Buffer.prototype[_0x2c7b("0x1c4")] = function (n, offset, noAssert) {
                          return writeDouble(this, n, offset, false, noAssert);
                      };
                      /**
                       * @param {!NodeList} target
                       * @param {number} targetStart
                       * @param {number} start
                       * @param {number} end
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")][_0x2c7b("0x18a")] = function (target, targetStart, start, end) {
                          if (start || (start = 0), end || 0 === end || (end = this.length), targetStart >= target.length && (targetStart = target[_0x2c7b("0x23")]), targetStart || (targetStart = 0), 0 < end && end < start && (end = start), end === start) {
                              return 0;
                          }
                          if (0 === target[_0x2c7b("0x23")] || 0 === this.length) {
                              return 0;
                          }
                          if (targetStart < 0) {
                              throw new RangeError(_0x2c7b("0x1c5"));
                          }
                          if (start < 0 || start >= this.length) {
                              throw new RangeError("sourceStart out of bounds");
                          }
                          if (end < 0) {
                              throw new RangeError("sourceEnd out of bounds");
                          }
                          if (end > this.length) {
                              end = this[_0x2c7b("0x23")];
                          }
                          if (target.length - targetStart < end - start) {
                              end = target[_0x2c7b("0x23")] - targetStart + start;
                          }
                          var i;
                          /** @type {number} */
                          var len = end - start;
                          if (this === target && start < targetStart && targetStart < end) {
                              /** @type {number} */
                              i = len - 1;
                              for (; 0 <= i; --i) {
                                  target[i + targetStart] = this[i + start];
                              }
                          } else {
                              if (len < 1E3 || !Buffer.TYPED_ARRAY_SUPPORT) {
                                  /** @type {number} */
                                  i = 0;
                                  for (; i < len; ++i) {
                                      target[i + targetStart] = this[i + start];
                                  }
                              } else {
                                  Uint8Array[_0x2c7b("0x41")].set.call(target, this.subarray(start, start + len), targetStart);
                              }
                          }
                          return len;
                      };
                      /**
                       * @param {number} val
                       * @param {number} start
                       * @param {number} end
                       * @param {number} encoding
                       * @return {?}
                       */
                      Buffer[_0x2c7b("0x41")].fill = function (val, start, end, encoding) {
                          if (_0x2c7b("0x187") == typeof val) {
                              if (_0x2c7b("0x187") == typeof start ? (encoding = start, start = 0, end = this.length) : _0x2c7b("0x187") == typeof end && (encoding = end, end = this[_0x2c7b("0x23")]), 1 === val[_0x2c7b("0x23")]) {
                                  var ui_eav = val[_0x2c7b("0x17b")](0);
                                  if (ui_eav < 256) {
                                      val = ui_eav;
                                  }
                              }
                              if (void 0 !== encoding && "string" != typeof encoding) {
                                  throw new TypeError(_0x2c7b("0x1c6"));
                              }
                              if (_0x2c7b("0x187") == typeof encoding && !Buffer.isEncoding(encoding)) {
                                  throw new TypeError("Unknown encoding: " + encoding);
                              }
                          } else {
                              if ("number" == typeof val) {
                                  /** @type {number} */
                                  val = val & 255;
                              }
                          }
                          if (start < 0 || this.length < start || this[_0x2c7b("0x23")] < end) {
                              throw new RangeError("Out of range index");
                          }
                          if (end <= start) {
                              return this;
                          }
                          var i;
                          if (start = start >>> 0, end = void 0 === end ? this[_0x2c7b("0x23")] : end >>> 0, val || (val = 0), "number" == typeof val) {
                              /** @type {number} */
                              i = start;
                              for (; i < end; ++i) {
                                  /** @type {number} */
                                  this[i] = val;
                              }
                          } else {
                              var colorPool = Buffer.isBuffer(val) ? val : utf8ToBytes((new Buffer(val, encoding))[_0x2c7b("0x11f")]());
                              var colorPoolSize = colorPool.length;
                              /** @type {number} */
                              i = 0;
                              for (; i < end - start; ++i) {
                                  this[i + start] = colorPool[i % colorPoolSize];
                              }
                          }
                          return this;
                      };
                      /** @type {!RegExp} */
                      var tokensRegExp = /[^+\/0-9A-Za-z-_]/g;
                  }).call(exports, function () {
                      return this;
                  }());
              }, function (isSlidingUp, canCreateDiscussions) {
                  /**
                   * @param {string} event
                   * @return {?}
                   */
                  function adjust(event) {
                      var to = event[_0x2c7b("0x23")];
                      if (0 < to % 4) {
                          throw new Error("Invalid string. Length must be a multiple of 4");
                      }
                      var lastTo = event.indexOf("=");
                      return -1 === lastTo && (lastTo = to), [lastTo, lastTo === to ? 0 : 4 - lastTo % 4];
                  }
                  /**
                   * @param {!Function} m
                   * @param {number} prop
                   * @param {number} z
                   * @return {?}
                   */
                  function error(m, prop, z) {
                      var tObj;
                      /** @type {!Array} */
                      var $this = [];
                      /** @type {number} */
                      var name = prop;
                      for (; name < z; name = name + 3) {
                          /** @type {number} */
                          tObj = (m[name] << 16 & 16711680) + (m[name + 1] << 8 & 65280) + (255 & m[name + 2]);
                          $this[_0x2c7b("0x9")](c[(o = tObj) >> 18 & 63] + c[o >> 12 & 63] + c[o >> 6 & 63] + c[63 & o]);
                      }
                      var o;
                      return $this[_0x2c7b("0xa")]("");
                  }
                  /**
                   * @param {string} data
                   * @return {?}
                   */
                  canCreateDiscussions[_0x2c7b("0x190")] = function (data) {
                      var properties = adjust(data);
                      var _sort_ = properties[0];
                      var property = properties[1];
                      return 3 * (_sort_ + property) / 4 - property;
                  };
                  /**
                   * @param {string} data
                   * @return {?}
                   */
                  canCreateDiscussions[_0x2c7b("0x19c")] = function (data) {
                      var mask;
                      var secondBusy = adjust(data);
                      var nextCaret = secondBusy[0];
                      var previousCaret = secondBusy[1];
                      var buffer = new ArrayType(3 * (nextCaret + (placeHolders = previousCaret)) / 4 - placeHolders);
                      /** @type {number} */
                      var start = 0;
                      var viewSourceWithCount = 0 < previousCaret ? nextCaret - 4 : nextCaret;
                      /** @type {number} */
                      var i = 0;
                      for (; i < viewSourceWithCount; i = i + 4) {
                          /** @type {number} */
                          mask = args[data.charCodeAt(i)] << 18 | args[data.charCodeAt(i + 1)] << 12 | args[data[_0x2c7b("0x17b")](i + 2)] << 6 | args[data[_0x2c7b("0x17b")](i + 3)];
                          /** @type {number} */
                          buffer[start++] = mask >> 16 & 255;
                          /** @type {number} */
                          buffer[start++] = mask >> 8 & 255;
                          /** @type {number} */
                          buffer[start++] = 255 & mask;
                      }
                      var placeHolders;
                      return 2 === previousCaret && (mask = args[data[_0x2c7b("0x17b")](i)] << 2 | args[data.charCodeAt(i + 1)] >> 4, buffer[start++] = 255 & mask), 1 === previousCaret && (mask = args[data[_0x2c7b("0x17b")](i)] << 10 | args[data.charCodeAt(i + 1)] << 4 | args[data.charCodeAt(i + 2)] >> 2, buffer[start++] = mask >> 8 & 255, buffer[start++] = 255 & mask), buffer;
                  };
                  /**
                   * @param {!Object} B
                   * @return {?}
                   */
                  canCreateDiscussions[_0x2c7b("0x1aa")] = function (B) {
                      var b;
                      var i = B.length;
                      /** @type {number} */
                      var offset = i % 3;
                      /** @type {!Array} */
                      var promise = [];
                      /** @type {number} */
                      var length = 0;
                      /** @type {number} */
                      var distance = i - offset;
                      for (; length < distance; length = length + 16383) {
                          promise[_0x2c7b("0x9")](error(B, length, distance < length + 16383 ? distance : length + 16383));
                      }
                      return 1 === offset ? (b = B[i - 1], promise[_0x2c7b("0x9")](c[b >> 2] + c[b << 4 & 63] + "==")) : 2 === offset && (b = (B[i - 2] << 8) + B[i - 1], promise.push(c[b >> 10] + c[b >> 4 & 63] + c[b << 2 & 63] + "=")), promise.join("");
                  };
                  /** @type {!Array} */
                  var c = [];
                  /** @type {!Array} */
                  var args = [];
                  /** @type {!Function} */
                  var ArrayType = "undefined" != typeof Uint8Array ? Uint8Array : Array;
                  var s = _0x2c7b("0x1c7");
                  /** @type {number} */
                  var n = 0;
                  var i = s.length;
                  for (; n < i; ++n) {
                      c[n] = s[n];
                      /** @type {number} */
                      args[s[_0x2c7b("0x17b")](n)] = n;
                  }
                  /** @type {number} */
                  args["-" [_0x2c7b("0x17b")](0)] = 62;
                  /** @type {number} */
                  args["_".charCodeAt(0)] = 63;
              }, function (canCreateDiscussions, myPDFDocument) {
                  /**
                   * @param {?} array
                   * @param {number} originX
                   * @param {boolean} isAll
                   * @param {number} delta
                   * @param {number} i
                   * @return {?}
                   */
                  myPDFDocument[_0x2c7b("0x1ba")] = function (array, originX, isAll, delta, i) {
                      var n;
                      var crossMassSum;
                      /** @type {number} */
                      var deltaKnot = 8 * i - delta - 1;
                      /** @type {number} */
                      var currentDistName = (1 << deltaKnot) - 1;
                      /** @type {number} */
                      var initialncb = currentDistName >> 1;
                      /** @type {number} */
                      var v = -7;
                      /** @type {number} */
                      var destIndex = isAll ? i - 1 : 0;
                      /** @type {number} */
                      var scan = isAll ? -1 : 1;
                      var h = array[originX + destIndex];
                      /** @type {number} */
                      destIndex = destIndex + scan;
                      /** @type {number} */
                      n = h & (1 << -v) - 1;
                      /** @type {number} */
                      h = h >> -v;
                      /** @type {number} */
                      v = v + deltaKnot;
                      for (; 0 < v; n = 256 * n + array[originX + destIndex], destIndex = destIndex + scan, v = v - 8) {}
                      /** @type {number} */
                      crossMassSum = n & (1 << -v) - 1;
                      /** @type {number} */
                      n = n >> -v;
                      v = v + delta;
                      for (; 0 < v; crossMassSum = 256 * crossMassSum + array[originX + destIndex], destIndex = destIndex + scan, v = v - 8) {}
                      if (0 === n) {
                          /** @type {number} */
                          n = 1 - initialncb;
                      } else {
                          if (n === currentDistName) {
                              return crossMassSum ? NaN : 1 / 0 * (h ? -1 : 1);
                          }
                          crossMassSum = crossMassSum + Math.pow(2, delta);
                          /** @type {number} */
                          n = n - initialncb;
                      }
                      return (h ? -1 : 1) * crossMassSum * Math[_0x2c7b("0x1b6")](2, n - delta);
                  };
                  /**
                   * @param {string} buffer
                   * @param {number} value
                   * @param {number} offset
                   * @param {boolean} isLE
                   * @param {number} mLen
                   * @param {number} nBytes
                   * @return {undefined}
                   */
                  myPDFDocument.write = function (buffer, value, offset, isLE, mLen, nBytes) {
                      var e;
                      var m;
                      var c;
                      /** @type {number} */
                      var eLen = 8 * nBytes - mLen - 1;
                      /** @type {number} */
                      var t = (1 << eLen) - 1;
                      /** @type {number} */
                      var step = t >> 1;
                      /** @type {number} */
                      var rt = 23 === mLen ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
                      /** @type {number} */
                      var i = isLE ? 0 : nBytes - 1;
                      /** @type {number} */
                      var d = isLE ? 1 : -1;
                      /** @type {number} */
                      var _ = value < 0 || 0 === value && 1 / value < 0 ? 1 : 0;
                      value = Math[_0x2c7b("0x1c8")](value);
                      if (isNaN(value) || value === 1 / 0) {
                          /** @type {number} */
                          m = isNaN(value) ? 1 : 0;
                          /** @type {number} */
                          e = t;
                      } else {
                          /** @type {number} */
                          e = Math.floor(Math[_0x2c7b("0x1c9")](value) / Math[_0x2c7b("0x1ca")]);
                          if (value * (c = Math[_0x2c7b("0x1b6")](2, -e)) < 1) {
                              e--;
                              /** @type {number} */
                              c = c * 2;
                          }
                          if (2 <= (value = value + (1 <= e + step ? rt / c : rt * Math[_0x2c7b("0x1b6")](2, 1 - step))) * c) {
                              e++;
                              /** @type {number} */
                              c = c / 2;
                          }
                          if (t <= e + step) {
                              /** @type {number} */
                              m = 0;
                              /** @type {number} */
                              e = t;
                          } else {
                              if (1 <= e + step) {
                                  /** @type {number} */
                                  m = (value * c - 1) * Math.pow(2, mLen);
                                  /** @type {number} */
                                  e = e + step;
                              } else {
                                  /** @type {number} */
                                  m = value * Math[_0x2c7b("0x1b6")](2, step - 1) * Math[_0x2c7b("0x1b6")](2, mLen);
                                  /** @type {number} */
                                  e = 0;
                              }
                          }
                      }
                      for (; 8 <= mLen; buffer[offset + i] = 255 & m, i = i + d, m = m / 256, mLen = mLen - 8) {}
                      /** @type {number} */
                      e = e << mLen | m;
                      eLen = eLen + mLen;
                      for (; 0 < eLen; buffer[offset + i] = 255 & e, i = i + d, e = e / 256, eLen = eLen - 8) {}
                      buffer[offset + i - d] |= 128 * _;
                  };
              }, function (mixin, canCreateDiscussions) {
                  var accountsCallbacks = {} [_0x2c7b("0x11f")];
                  /** @type {function(*): boolean} */
                  mixin.exports = Array.isArray || function (e) {
                      return _0x2c7b("0x1cb") == accountsCallbacks[_0x2c7b("0x2")](e);
                  };
              }, function (canCreateDiscussions, __webpack_exports__) {
                  Object.defineProperty(__webpack_exports__, "__esModule", {
                      value: true
                  });
                  var import$ = function () {
                      /**
                       * @param {!Function} d
                       * @param {string} options
                       * @return {undefined}
                       */
                      function n(d, options) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < options[_0x2c7b("0x23")]; i++) {
                              var prop = options[i];
                              prop.enumerable = prop[_0x2c7b("0x131")] || false;
                              /** @type {boolean} */
                              prop.configurable = true;
                              if ("value" in prop) {
                                  /** @type {boolean} */
                                  prop.writable = true;
                              }
                              Object.defineProperty(d, prop.key, prop);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var addLifecycleMethods = function () {
                      /**
                       * @return {undefined}
                       */
                      function S() {
                          (function (s, canCreateDiscussions) {
                              if (!(s instanceof S)) {
                                  throw new TypeError(_0x2c7b("0x120"));
                              }
                          })(this);
                          this[_0x2c7b("0x1cc")] = {};
                      }
                      return import$(S, [{
                          key: "clearCache",
                          value: function () {
                              this[_0x2c7b("0x1cc")] = {};
                          }
                      }, {
                          key: _0x2c7b("0x1cd"),
                          value: function (observable) {
                              return null != this[_0x2c7b("0x1cc")][observable];
                          }
                      }, {
                          key: _0x2c7b("0x127"),
                          value: function (observable) {
                              return this[_0x2c7b("0x1cc")][observable];
                          }
                      }, {
                          key: _0x2c7b("0x9"),
                          value: function (val, data) {
                              /** @type {!Object} */
                              this.cache[val] = data;
                          }
                      }]), S;
                  }();
                  __webpack_exports__["default"] = addLifecycleMethods;
              }, function (canCreateDiscussions, obj) {
                  Object[_0x2c7b("0x51")](obj, "__esModule", {
                      value: true
                  });
                  var installNativeEvent$2 = function () {
                      /**
                       * @param {!Function} y
                       * @param {string} value
                       * @return {undefined}
                       */
                      function n(y, value) {
                          /** @type {number} */
                          var i = 0;
                          for (; i < value.length; i++) {
                              var property = value[i];
                              property.enumerable = property.enumerable || false;
                              /** @type {boolean} */
                              property.configurable = true;
                              if ("value" in property) {
                                  /** @type {boolean} */
                                  property[_0x2c7b("0x132")] = true;
                              }
                              Object.defineProperty(y, property[_0x2c7b("0x79")], property);
                          }
                      }
                      return function (e, t, o) {
                          return t && n(e.prototype, t), o && n(e, o), e;
                      };
                  }();
                  var ContainerDebugAdapter = function () {
                      /**
                       * @param {string} a
                       * @param {?} fn
                       * @param {?} n
                       * @return {undefined}
                       */
                      function n(a, fn, n) {
                          (function (EMSarray, canCreateDiscussions) {
                              if (!(EMSarray instanceof n)) {
                                  throw new TypeError("Cannot call a class as a function");
                              }
                          })(this);
                          /** @type {string} */
                          this.type = a;
                          this[_0x2c7b("0x98")] = fn;
                          this[_0x2c7b("0x99")] = n;
                      }
                      return installNativeEvent$2(n, [{
                          key: "getType",
                          value: function () {
                              return this.type;
                          }
                      }, {
                          key: "getVedio",
                          value: function () {
                              return this.vedio;
                          }
                      }, {
                          key: "getVedioFrameLength",
                          value: function () {
                              return this.vedio ? this.vedio.getFramesLength() : 0;
                          }
                      }, {
                          key: "getActions",
                          value: function () {
                              return this[_0x2c7b("0x99")];
                          }
                      }, {
                          key: _0x2c7b("0x1ce"),
                          value: function () {
                              return this.actions.length;
                          }
                      }]), n;
                  }();
                  obj["default"] = ContainerDebugAdapter;
              }, function (self, canCreateDiscussions) {
                  /**
                   * @param {?} self
                   * @param {?} data
                   * @return {undefined}
                   */
                  self.exports.sendToServer = function (self, data) {
                      /** @type {!XMLHttpRequest} */
                      var req = new XMLHttpRequest;
                      req.open("POST", self);
                      req[_0x2c7b("0x1cf")](_0x2c7b("0x1d0"), _0x2c7b("0x1d"));
                      /**
                       * @return {undefined}
                       */
                      req.onreadystatechange = function () {
                          if (req.readyState == XMLHttpRequest.DONE) {
                              req[_0x2c7b("0x3f")];
                          }
                      };
                      req.send(data);
                  };
              }, function (a, d, singleUseComparator) {
                  var b;
                  var i = function () {
                      /**
                       * @param {string} alphabet
                       * @param {?} character
                       * @return {?}
                       */
                      function getBaseValue(alphabet, character) {
                          if (!baseReverseDic[alphabet]) {
                              baseReverseDic[alphabet] = {};
                              /** @type {number} */
                              var i = 0;
                              for (; i < alphabet[_0x2c7b("0x23")]; i++) {
                                  /** @type {number} */
                                  baseReverseDic[alphabet][alphabet.charAt(i)] = i;
                              }
                          }
                          return baseReverseDic[alphabet][character];
                      }
                      /** @type {function(...number): string} */
                      var f = String.fromCharCode;
                      /** @type {string} */
                      var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
                      /** @type {string} */
                      var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$";
                      var baseReverseDic = {};
                      var LZString = {
                          compressToBase64: function (input) {
                              if (null == input) {
                                  return "";
                              }
                              var output = LZString._compress(input, 6, function (a) {
                                  return keyStrBase64.charAt(a);
                              });
                              switch (output[_0x2c7b("0x23")] % 4) {
                                  default:
                                  case 0:
                                      return output;
                                  case 1:
                                      return output + "===";
                                  case 2:
                                      return output + "==";
                                  case 3:
                                      return output + "=";
                              }
                          },
                          decompressFromBase64: function (text) {
                              return null == text ? "" : "" == text ? null : LZString[_0x2c7b("0x1d1")](text[_0x2c7b("0x23")], 32, function (index) {
                                  return getBaseValue(keyStrBase64, text.charAt(index));
                              });
                          },
                          compressToUTF16: function (value) {
                              return null == value ? "" : LZString[_0x2c7b("0x1d2")](value, 15, function (i) {
                                  return f(i + 32);
                              }) + " ";
                          },
                          decompressFromUTF16: function (input) {
                              return null == input ? "" : "" == input ? null : LZString._decompress(input.length, 16384, function (i) {
                                  return input.charCodeAt(i) - 32;
                              });
                          },
                          compressToUint8Array: function (uncompressed) {
                              var compressed = LZString.compress(uncompressed);
                              /** @type {!Uint8Array} */
                              var buf = new Uint8Array(2 * compressed.length);
                              /** @type {number} */
                              var index = 0;
                              var length = compressed.length;
                              for (; index < length; index++) {
                                  var i = compressed[_0x2c7b("0x17b")](index);
                                  /** @type {number} */
                                  buf[2 * index] = i >>> 8;
                                  /** @type {number} */
                                  buf[2 * index + 1] = i % 256;
                              }
                              return buf;
                          },
                          decompressFromUint8Array: function (fxprime) {
                              if (null == fxprime) {
                                  return LZString[_0x2c7b("0x1d3")](fxprime);
                              }
                              /** @type {!Array} */
                              var t = new Array(fxprime.length / 2);
                              /** @type {number} */
                              var j = 0;
                              /** @type {number} */
                              var n = t.length;
                              for (; j < n; j++) {
                                  t[j] = 256 * fxprime[2 * j] + fxprime[2 * j + 1];
                              }
                              /** @type {!Array} */
                              var output = [];
                              return t.forEach(function (value) {
                                  output[_0x2c7b("0x9")](f(value));
                              }), LZString.decompress(output.join(""));
                          },
                          compressToEncodedURIComponent: function (value) {
                              return null == value ? "" : LZString._compress(value, 6, function (leftFence) {
                                  return keyStrUriSafe[_0x2c7b("0x17c")](leftFence);
                              });
                          },
                          decompressFromEncodedURIComponent: function (input) {
                              return null == input ? "" : "" == input ? null : (input = input.replace(/ /g, "+"), LZString._decompress(input.length, 32, function (index) {
                                  return getBaseValue(keyStrUriSafe, input.charAt(index));
                              }));
                          },
                          compress: function (type) {
                              return LZString[_0x2c7b("0x1d2")](type, 16, function (aTarget) {
                                  return f(aTarget);
                              });
                          },
                          _compress: function (data, bitsPerChar, getCharFromInt) {
                              if (null == data) {
                                  return "";
                              }
                              var x;
                              var value;
                              var i;
                              var row = {};
                              var o = {};
                              /** @type {string} */
                              var k = "";
                              /** @type {string} */
                              var id = "";
                              /** @type {string} */
                              var p = "";
                              /** @type {number} */
                              var hostlabel = 2;
                              /** @type {number} */
                              var counter = 3;
                              /** @type {number} */
                              var r = 2;
                              /** @type {!Array} */
                              var context_data = [];
                              /** @type {number} */
                              var context_data_val = 0;
                              /** @type {number} */
                              var context_data_position = 0;
                              /** @type {number} */
                              i = 0;
                              for (; i < data[_0x2c7b("0x23")]; i = i + 1) {
                                  if (k = data.charAt(i), Object.prototype.hasOwnProperty[_0x2c7b("0x2")](row, k) || (row[k] = counter++, o[k] = true), id = p + k, Object[_0x2c7b("0x41")].hasOwnProperty[_0x2c7b("0x2")](row, id)) {
                                      /** @type {string} */
                                      p = id;
                                  } else {
                                      if (Object.prototype.hasOwnProperty.call(o, p)) {
                                          if (p[_0x2c7b("0x17b")](0) < 256) {
                                              /** @type {number} */
                                              x = 0;
                                              for (; x < r; x++) {
                                                  /** @type {number} */
                                                  context_data_val = context_data_val << 1;
                                                  if (context_data_position == bitsPerChar - 1) {
                                                      /** @type {number} */
                                                      context_data_position = 0;
                                                      context_data.push(getCharFromInt(context_data_val));
                                                      /** @type {number} */
                                                      context_data_val = 0;
                                                  } else {
                                                      context_data_position++;
                                                  }
                                              }
                                              /** @type {number} */
                                              value = p.charCodeAt(0);
                                              /** @type {number} */
                                              x = 0;
                                              for (; x < 8; x++) {
                                                  /** @type {number} */
                                                  context_data_val = context_data_val << 1 | 1 & value;
                                                  if (context_data_position == bitsPerChar - 1) {
                                                      /** @type {number} */
                                                      context_data_position = 0;
                                                      context_data.push(getCharFromInt(context_data_val));
                                                      /** @type {number} */
                                                      context_data_val = 0;
                                                  } else {
                                                      context_data_position++;
                                                  }
                                                  /** @type {number} */
                                                  value = value >> 1;
                                              }
                                          } else {
                                              /** @type {number} */
                                              value = 1;
                                              /** @type {number} */
                                              x = 0;
                                              for (; x < r; x++) {
                                                  /** @type {number} */
                                                  context_data_val = context_data_val << 1 | value;
                                                  if (context_data_position == bitsPerChar - 1) {
                                                      /** @type {number} */
                                                      context_data_position = 0;
                                                      context_data[_0x2c7b("0x9")](getCharFromInt(context_data_val));
                                                      /** @type {number} */
                                                      context_data_val = 0;
                                                  } else {
                                                      context_data_position++;
                                                  }
                                                  /** @type {number} */
                                                  value = 0;
                                              }
                                              value = p[_0x2c7b("0x17b")](0);
                                              /** @type {number} */
                                              x = 0;
                                              for (; x < 16; x++) {
                                                  /** @type {number} */
                                                  context_data_val = context_data_val << 1 | 1 & value;
                                                  if (context_data_position == bitsPerChar - 1) {
                                                      /** @type {number} */
                                                      context_data_position = 0;
                                                      context_data[_0x2c7b("0x9")](getCharFromInt(context_data_val));
                                                      /** @type {number} */
                                                      context_data_val = 0;
                                                  } else {
                                                      context_data_position++;
                                                  }
                                                  /** @type {number} */
                                                  value = value >> 1;
                                              }
                                          }
                                          if (0 == --hostlabel) {
                                              /** @type {number} */
                                              hostlabel = Math.pow(2, r);
                                              r++;
                                          }
                                          delete o[p];
                                      } else {
                                          value = row[p];
                                          /** @type {number} */
                                          x = 0;
                                          for (; x < r; x++) {
                                              /** @type {number} */
                                              context_data_val = context_data_val << 1 | 1 & value;
                                              if (context_data_position == bitsPerChar - 1) {
                                                  /** @type {number} */
                                                  context_data_position = 0;
                                                  context_data[_0x2c7b("0x9")](getCharFromInt(context_data_val));
                                                  /** @type {number} */
                                                  context_data_val = 0;
                                              } else {
                                                  context_data_position++;
                                              }
                                              /** @type {number} */
                                              value = value >> 1;
                                          }
                                      }
                                      if (0 == --hostlabel) {
                                          hostlabel = Math[_0x2c7b("0x1b6")](2, r);
                                          r++;
                                      }
                                      /** @type {number} */
                                      row[id] = counter++;
                                      /** @type {string} */
                                      p = String(k);
                                  }
                              }
                              if ("" !== p) {
                                  if (Object[_0x2c7b("0x41")][_0x2c7b("0xb")].call(o, p)) {
                                      if (p.charCodeAt(0) < 256) {
                                          /** @type {number} */
                                          x = 0;
                                          for (; x < r; x++) {
                                              /** @type {number} */
                                              context_data_val = context_data_val << 1;
                                              if (context_data_position == bitsPerChar - 1) {
                                                  /** @type {number} */
                                                  context_data_position = 0;
                                                  context_data.push(getCharFromInt(context_data_val));
                                                  /** @type {number} */
                                                  context_data_val = 0;
                                              } else {
                                                  context_data_position++;
                                              }
                                          }
                                          value = p[_0x2c7b("0x17b")](0);
                                          /** @type {number} */
                                          x = 0;
                                          for (; x < 8; x++) {
                                              /** @type {number} */
                                              context_data_val = context_data_val << 1 | 1 & value;
                                              if (context_data_position == bitsPerChar - 1) {
                                                  /** @type {number} */
                                                  context_data_position = 0;
                                                  context_data.push(getCharFromInt(context_data_val));
                                                  /** @type {number} */
                                                  context_data_val = 0;
                                              } else {
                                                  context_data_position++;
                                              }
                                              /** @type {number} */
                                              value = value >> 1;
                                          }
                                      } else {
                                          /** @type {number} */
                                          value = 1;
                                          /** @type {number} */
                                          x = 0;
                                          for (; x < r; x++) {
                                              /** @type {number} */
                                              context_data_val = context_data_val << 1 | value;
                                              if (context_data_position == bitsPerChar - 1) {
                                                  /** @type {number} */
                                                  context_data_position = 0;
                                                  context_data.push(getCharFromInt(context_data_val));
                                                  /** @type {number} */
                                                  context_data_val = 0;
                                              } else {
                                                  context_data_position++;
                                              }
                                              /** @type {number} */
                                              value = 0;
                                          }
                                          /** @type {number} */
                                          value = p.charCodeAt(0);
                                          /** @type {number} */
                                          x = 0;
                                          for (; x < 16; x++) {
                                              /** @type {number} */
                                              context_data_val = context_data_val << 1 | 1 & value;
                                              if (context_data_position == bitsPerChar - 1) {
                                                  /** @type {number} */
                                                  context_data_position = 0;
                                                  context_data.push(getCharFromInt(context_data_val));
                                                  /** @type {number} */
                                                  context_data_val = 0;
                                              } else {
                                                  context_data_position++;
                                              }
                                              /** @type {number} */
                                              value = value >> 1;
                                          }
                                      }
                                      if (0 == --hostlabel) {
                                          /** @type {number} */
                                          hostlabel = Math.pow(2, r);
                                          r++;
                                      }
                                      delete o[p];
                                  } else {
                                      value = row[p];
                                      /** @type {number} */
                                      x = 0;
                                      for (; x < r; x++) {
                                          /** @type {number} */
                                          context_data_val = context_data_val << 1 | 1 & value;
                                          if (context_data_position == bitsPerChar - 1) {
                                              /** @type {number} */
                                              context_data_position = 0;
                                              context_data.push(getCharFromInt(context_data_val));
                                              /** @type {number} */
                                              context_data_val = 0;
                                          } else {
                                              context_data_position++;
                                          }
                                          /** @type {number} */
                                          value = value >> 1;
                                      }
                                  }
                                  if (0 == --hostlabel) {
                                      /** @type {number} */
                                      hostlabel = Math.pow(2, r);
                                      r++;
                                  }
                              }
                              /** @type {number} */
                              value = 2;
                              /** @type {number} */
                              x = 0;
                              for (; x < r; x++) {
                                  /** @type {number} */
                                  context_data_val = context_data_val << 1 | 1 & value;
                                  if (context_data_position == bitsPerChar - 1) {
                                      /** @type {number} */
                                      context_data_position = 0;
                                      context_data[_0x2c7b("0x9")](getCharFromInt(context_data_val));
                                      /** @type {number} */
                                      context_data_val = 0;
                                  } else {
                                      context_data_position++;
                                  }
                                  /** @type {number} */
                                  value = value >> 1;
                              }
                              for (;;) {
                                  if (context_data_val = context_data_val << 1, context_data_position == bitsPerChar - 1) {
                                      context_data[_0x2c7b("0x9")](getCharFromInt(context_data_val));
                                      break;
                                  }
                                  context_data_position++;
                              }
                              return context_data.join("");
                          },
                          decompress: function (value) {
                              return null == value ? "" : "" == value ? null : LZString[_0x2c7b("0x1d1")](value.length, 32768, function (data) {
                                  return value[_0x2c7b("0x17b")](data);
                              });
                          },
                          _decompress: function (length, resetValue, getNextValue) {
                              var description;
                              var ret;
                              var value;
                              var o;
                              var hit;
                              var _SELECTED_AXIS;
                              var name;
                              /** @type {!Array} */
                              var attributes = [];
                              /** @type {number} */
                              var el = 4;
                              /** @type {number} */
                              var _comment = 4;
                              /** @type {number} */
                              var y = 3;
                              /** @type {string} */
                              var result = "";
                              /** @type {!Array} */
                              var d = [];
                              var data = {
                                  val: getNextValue(0),
                                  position: resetValue,
                                  index: 1
                              };
                              /** @type {number} */
                              description = 0;
                              for (; description < 3; description = description + 1) {
                                  /** @type {number} */
                                  attributes[description] = description;
                              }
                              /** @type {number} */
                              value = 0;
                              /** @type {number} */
                              hit = Math.pow(2, 2);
                              /** @type {number} */
                              _SELECTED_AXIS = 1;
                              for (; _SELECTED_AXIS != hit;) {
                                  /** @type {number} */
                                  o = data[_0x2c7b("0x1d4")] & data.position;
                                  data[_0x2c7b("0x1d5")] >>= 1;
                                  if (0 == data[_0x2c7b("0x1d5")]) {
                                      /** @type {number} */
                                      data[_0x2c7b("0x1d5")] = resetValue;
                                      data[_0x2c7b("0x1d4")] = getNextValue(data[_0x2c7b("0x1d6")]++);
                                  }
                                  /** @type {number} */
                                  value = value | (0 < o ? 1 : 0) * _SELECTED_AXIS;
                                  /** @type {number} */
                                  _SELECTED_AXIS = _SELECTED_AXIS << 1;
                              }
                              switch (value) {
                                  case 0:
                                      /** @type {number} */
                                      value = 0;
                                      hit = Math[_0x2c7b("0x1b6")](2, 8);
                                      /** @type {number} */
                                      _SELECTED_AXIS = 1;
                                      for (; _SELECTED_AXIS != hit;) {
                                          /** @type {number} */
                                          o = data.val & data.position;
                                          data.position >>= 1;
                                          if (0 == data.position) {
                                              /** @type {number} */
                                              data.position = resetValue;
                                              data.val = getNextValue(data[_0x2c7b("0x1d6")]++);
                                          }
                                          /** @type {number} */
                                          value = value | (0 < o ? 1 : 0) * _SELECTED_AXIS;
                                          /** @type {number} */
                                          _SELECTED_AXIS = _SELECTED_AXIS << 1;
                                      }
                                      /** @type {string} */
                                      name = f(value);
                                      break;
                                  case 1:
                                      /** @type {number} */
                                      value = 0;
                                      /** @type {number} */
                                      hit = Math.pow(2, 16);
                                      /** @type {number} */
                                      _SELECTED_AXIS = 1;
                                      for (; _SELECTED_AXIS != hit;) {
                                          /** @type {number} */
                                          o = data[_0x2c7b("0x1d4")] & data[_0x2c7b("0x1d5")];
                                          data.position >>= 1;
                                          if (0 == data[_0x2c7b("0x1d5")]) {
                                              /** @type {number} */
                                              data.position = resetValue;
                                              data.val = getNextValue(data.index++);
                                          }
                                          /** @type {number} */
                                          value = value | (0 < o ? 1 : 0) * _SELECTED_AXIS;
                                          /** @type {number} */
                                          _SELECTED_AXIS = _SELECTED_AXIS << 1;
                                      }
                                      /** @type {string} */
                                      name = f(value);
                                      break;
                                  case 2:
                                      return "";
                              }
                              /** @type {(string|undefined)} */
                              ret = attributes[3] = name;
                              d.push(name);
                              for (;;) {
                                  if (data[_0x2c7b("0x1d6")] > length) {
                                      return "";
                                  }
                                  /** @type {number} */
                                  value = 0;
                                  hit = Math[_0x2c7b("0x1b6")](2, y);
                                  /** @type {number} */
                                  _SELECTED_AXIS = 1;
                                  for (; _SELECTED_AXIS != hit;) {
                                      /** @type {number} */
                                      o = data.val & data.position;
                                      data.position >>= 1;
                                      if (0 == data.position) {
                                          /** @type {number} */
                                          data.position = resetValue;
                                          data.val = getNextValue(data[_0x2c7b("0x1d6")]++);
                                      }
                                      /** @type {number} */
                                      value = value | (0 < o ? 1 : 0) * _SELECTED_AXIS;
                                      /** @type {number} */
                                      _SELECTED_AXIS = _SELECTED_AXIS << 1;
                                  }
                                  switch (name = value) {
                                      case 0:
                                          /** @type {number} */
                                          value = 0;
                                          /** @type {number} */
                                          hit = Math.pow(2, 8);
                                          /** @type {number} */
                                          _SELECTED_AXIS = 1;
                                          for (; _SELECTED_AXIS != hit;) {
                                              /** @type {number} */
                                              o = data[_0x2c7b("0x1d4")] & data[_0x2c7b("0x1d5")];
                                              data[_0x2c7b("0x1d5")] >>= 1;
                                              if (0 == data.position) {
                                                  /** @type {number} */
                                                  data[_0x2c7b("0x1d5")] = resetValue;
                                                  data.val = getNextValue(data.index++);
                                              }
                                              /** @type {number} */
                                              value = value | (0 < o ? 1 : 0) * _SELECTED_AXIS;
                                              /** @type {number} */
                                              _SELECTED_AXIS = _SELECTED_AXIS << 1;
                                          }
                                          /** @type {string} */
                                          attributes[_comment++] = f(value);
                                          /** @type {number} */
                                          name = _comment - 1;
                                          el--;
                                          break;
                                      case 1:
                                          /** @type {number} */
                                          value = 0;
                                          /** @type {number} */
                                          hit = Math.pow(2, 16);
                                          /** @type {number} */
                                          _SELECTED_AXIS = 1;
                                          for (; _SELECTED_AXIS != hit;) {
                                              /** @type {number} */
                                              o = data.val & data.position;
                                              data.position >>= 1;
                                              if (0 == data[_0x2c7b("0x1d5")]) {
                                                  /** @type {number} */
                                                  data.position = resetValue;
                                                  data[_0x2c7b("0x1d4")] = getNextValue(data.index++);
                                              }
                                              /** @type {number} */
                                              value = value | (0 < o ? 1 : 0) * _SELECTED_AXIS;
                                              /** @type {number} */
                                              _SELECTED_AXIS = _SELECTED_AXIS << 1;
                                          }
                                          /** @type {string} */
                                          attributes[_comment++] = f(value);
                                          /** @type {number} */
                                          name = _comment - 1;
                                          el--;
                                          break;
                                      case 2:
                                          return d[_0x2c7b("0xa")]("");
                                  }
                                  if (0 == el && (el = Math.pow(2, y), y++), attributes[name]) {
                                      result = attributes[name];
                                  } else {
                                      if (name !== _comment) {
                                          return null;
                                      }
                                      /** @type {string} */
                                      result = ret + ret.charAt(0);
                                  }
                                  d.push(result);
                                  attributes[_comment++] = ret + result[_0x2c7b("0x17c")](0);
                                  ret = result;
                                  if (0 == --el) {
                                      /** @type {number} */
                                      el = Math.pow(2, y);
                                      y++;
                                  }
                              }
                          }
                      };
                      return LZString;
                  }();
                  if (!(void 0 === (b = function () {
                          return i;
                      } [_0x2c7b("0x2")](d, singleUseComparator, d, a)))) {
                      a[_0x2c7b("0x0")] = b;
                  }
              }]);
          };
          object[_0x2c7b("0x0")] = wrapper();
      }]);
  });
  