Guest User

youtube 2.1.3

a guest
Mar 1st, 2018
1,016
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*! magcore-app-youtube: v2.1.3 (webpack: v1.13.1) */
  2. !function (e) {
  3.     function t(i) {
  4.         if (n[i])
  5.             return n[i].exports;
  6.         var r = n[i] = {
  7.             exports: {},
  8.             id: i,
  9.             loaded: !1
  10.         };
  11.         return e[i].call(r.exports, r, r.exports, t),
  12.         r.loaded = !0,
  13.         r.exports
  14.     }
  15.     var n = {};
  16.     return t.m = e,
  17.     t.c = n,
  18.     t.p = "",
  19.     t(0)
  20. }
  21. ([function (e, t, n) {
  22.             "use strict";
  23.             function i() {
  24.                 var e,
  25.                 t = -1 !== ["AuraHD2", "AuraHD3", "AuraHD8", "MAG254", "MAG275", "MAG276", "WR320"].indexOf(h.deviceModel());
  26.                 d.init([n(59), n(62), n(61), n(63), n(60)]),
  27.                 c.emit("ready"),
  28.                 d.pages.forEach(function (e) {
  29.                     e.emit("load")
  30.                 }),
  31.                 a = n(47),
  32.                 o = new(n(35))({
  33.                         $node: document.getElementById("exitMessage"),
  34.                         events: {
  35.                             keydown: function (e) {
  36.                                 e.code === u.ok ? c.quit() : e.code !== u.back && e.code !== u.exit || (e.stop = !0, o.$node.style.visibility = "hidden", s.focus())
  37.                             }
  38.                         }
  39.                     }),
  40.                 o.$body.classList.add("modalExit"),
  41.                 o.$node.style.visibility = "hidden",
  42.                 o.$header.innerHTML = gettext("Exit from app?"),
  43.                 o.$content.innerHTML = "",
  44.                 o.$footer.innerHTML = "",
  45.                 o.$content.appendChild(e = document.createElement("div")),
  46.                 e.innerText = gettext("Ok"),
  47.                 e.className = "btn confirm" + (t ? "" : " old"),
  48.                 o.$content.appendChild(e = document.createElement("div")),
  49.                 e.className = "btn back" + (t ? "" : " old"),
  50.                 e.innerText = gettext("Cancel"),
  51.                 o.$footer.innerHTML = "",
  52.                 d.navigate("pm"),
  53.                 window.volumeWidget.classList.add("ready"),
  54.                 l = n(8)
  55.             }
  56.             function r() {
  57.                 var e,
  58.                 t = !gSTB.GetStandByStatus(),
  59.                 n = gSTB.GetEnv(JSON.stringify({
  60.                             varList: ["standByMode"]
  61.                         }));
  62.                 try {
  63.                     n = JSON.parse(n).result
  64.                 } catch (i) {
  65.                     n = {
  66.                         standByMode: null
  67.                     }
  68.                 }
  69.                 return e = parseInt(n.standByMode, 10),
  70.                 gSTB.StandByMode !== e && (gSTB.StandByMode = e),
  71.                 3 === e ? (gSTB.SetLedIndicatorMode(2), gSTB.StandBy(t), void gSTB.SetLedIndicatorMode(1)) : void(t ? (document.body.style.display = "none", gSTB.StandBy(t), gSTB.SetLedIndicatorMode(2), window.location = "") : (gSTB.StandBy(t), gSTB.SetLedIndicatorMode(1)))
  72.             }
  73.             var o,
  74.             a,
  75.             s,
  76.             l,
  77.             c = n(3),
  78.             u = n(1),
  79.             d = n(2),
  80.             h = n(22),
  81.             p = (n(7), n(19));
  82.             c.quit = function () {
  83.                 h.saveUserData(p.settingsFile, JSON.stringify(c.settings)),
  84.                 c.player && c.player.stop(),
  85.                 window.parent !== window ? ("pp" === d.current.id && d.back(), c.hide()) : window.location.href = n(39)() || "file:///home/web/services.html"
  86.             },
  87.             c.reload = function () {
  88.                 h.saveUserData(p.settingsFile, JSON.stringify(c.settings)),
  89.                 c.player.stop(),
  90.                 location.reload()
  91.             },
  92.             c.addListeners({
  93.                 load: function () {
  94.                     var e,
  95.                     t = n(10),
  96.                     r = n(7);
  97.                     h.setVKButtonState(!1),
  98.                     h.setAppButtonState(!0),
  99.                     h.setServiceButtonState(!0);
  100.                     try {
  101.                         c.settings = JSON.parse(h.loadUserData(p.settingsFile))
  102.                     } catch (o) {
  103.                         c.settings = !1
  104.                     }
  105.                     c.settings || (c.settings = p.defaultSettings, h.saveUserData(p.settingsFile, JSON.stringify(c.settings)));
  106.                     for (e in p.defaultSettings)
  107.                         void 0 === c.settings[e] && (c.settings[e] = p.defaultSettings[e]);
  108.                     if (-1 === r.languages.indexOf(c.settings.keyboardLanguage) && (c.settings.keyboardLanguage = 0), c.params = n(67)(location.search.substring(1)), c.params.language && (c.settings.languageOverwrite = 1, c.settings.language = c.params.language), n(33).load({
  109.                             name: c.settings.language
  110.                         }, function () {
  111.                             c.languageIndex = t.languageIndex,
  112.                             c.settings.language = r.languages[c.languageIndex],
  113.                             document.documentElement.dir = r.directions[c.languageIndex],
  114.                             "rtl" === document.documentElement.dir && (u.left = 39, u.right = 37),
  115.                             i()
  116.                         }), c.settings.languageOverwrite)
  117.                         t.setLang(c.settings.language);
  118.                     else
  119.                         try {
  120.                             c.settings.language = JSON.parse(h.getEnv('{"varList":["language"]}')).result.language
  121.                         }
  122.                     finally {
  123.                         t.setLang(c.settings.language)
  124.                     }
  125.                     gSTB.SetInputLang(c.settings.language)
  126.                 },
  127.                 unload: function () {
  128.                     h.saveUserData(p.settingsFile, JSON.stringify(c.settings)),
  129.                     c.player && c.player.stop()
  130.                 },
  131.                 keydown: function (e) {
  132.                     if (e.code === u.exit)
  133.                         l && !l.visible ? (s = d.current.activeComponent, o.$node.style.visibility = "visible", o.focus()) : c.quit();
  134.                     else if (e.code === u.power)
  135.                         r();
  136.                     else if (a)
  137.                         switch (e.code) {
  138.                         case u.volumeUp:
  139.                         case u.volumeDown:
  140.                         case u.mute:
  141.                             a.changeVolume(e.code)
  142.                         }
  143.                 },
  144.                 message: function (e) {
  145.                     "show" === e.message && c.show(),
  146.                     "exit" === e.message && stbWebWindow.close()
  147.                 }
  148.             }),
  149.             h.setNativeStringMode(!0)
  150.         }, function (e, t, n) {
  151.             "use strict";
  152.             e.exports = {
  153.                 back: 8,
  154.                 "delete": 46,
  155.                 channelPrev: 1009,
  156.                 channelNext: 9,
  157.                 ok: 13,
  158.                 exit: 27,
  159.                 up: 38,
  160.                 down: 40,
  161.                 left: 37,
  162.                 right: 39,
  163.                 pageUp: 33,
  164.                 pageDown: 34,
  165.                 end: 35,
  166.                 home: 36,
  167.                 volumeUp: 107,
  168.                 volumeDown: 109,
  169.                 f1: 112,
  170.                 f2: 113,
  171.                 f3: 114,
  172.                 f4: 115,
  173.                 refresh: 116,
  174.                 frame: 117,
  175.                 phone: 119,
  176.                 set: 120,
  177.                 tv: 121,
  178.                 menu: 122,
  179.                 web: 123,
  180.                 mic: 2032,
  181.                 rewind: 2066,
  182.                 forward: 2070,
  183.                 app: 2076,
  184.                 usbMounted: 2080,
  185.                 usbUnmounted: 2081,
  186.                 playPause: 2082,
  187.                 stop: 2083,
  188.                 power: 2085,
  189.                 record: 2087,
  190.                 info: 2089,
  191.                 mute: 2192,
  192.                 clock: 2032,
  193.                 audio: 2071,
  194.                 keyboard: 2076,
  195.                 space: 32
  196.             }
  197.         }, function (e, t, n) {
  198.             "use strict";
  199.             var i,
  200.             r = n(5);
  201.             i = new r,
  202.             i.current = null,
  203.             i.history = [],
  204.             i.pages = [],
  205.             i.ids = {},
  206.             i.init = function (e) {
  207.                 var t,
  208.                 n,
  209.                 i;
  210.                 if (e) {
  211.                     for (this.pages = [], this.pages = e, t = 0, n = e.length; n > t; t++)
  212.                         i = e[t], this.ids[i.id] = i, i.active && (this.current = i);
  213.                     return this.events.init && this.emit("init", {
  214.                         pages: e
  215.                     }),
  216.                     !0
  217.                 }
  218.                 return !1
  219.             },
  220.             i.parse = function (e) {
  221.                 var t = {
  222.                     name: "",
  223.                     data: []
  224.                 };
  225.                 return t.data = e.split("/").map(decodeURIComponent),
  226.                 t.name = t.data.shift().slice(1),
  227.                 t
  228.             },
  229.             i.stringify = function (e, t) {
  230.                 return t = Array.isArray(t) ? t : [],
  231.                 e = encodeURIComponent(e),
  232.                 t = t.map(encodeURIComponent),
  233.                 t.unshift(e),
  234.                 t.join("/")
  235.             },
  236.             i.show = function (e, t) {
  237.                 return e && !e.active ? (e.$node.classList.add("active"), e.active = !0, this.current = e, e.events.show && e.emit("show", {
  238.                         page: e,
  239.                         data: t
  240.                     }), !0) : !1
  241.             },
  242.             i.hide = function (e) {
  243.                 return e && e.active ? (e.$node.classList.remove("active"), e.active = !1, this.current = null, e.events.hide && e.emit("hide", {
  244.                         page: e
  245.                     }), !0) : !1
  246.             },
  247.             i.navigate = function (e, t) {
  248.                 var n = this.current,
  249.                 i = this.ids[e];
  250.                 return i && !i.active ? (location.hash = this.stringify(e, t), this.hide(this.current), this.show(i, t), this.events.navigate && this.emit("navigate", {
  251.                         from: n,
  252.                         to: i
  253.                     }), this.history.push(i), !0) : !1
  254.             },
  255.             i.back = function () {
  256.                 var e,
  257.                 t;
  258.                 return this.history.length > 1 && (e = this.history.pop(), t = this.history[this.history.length - 1], t && !t.active) ? (location.hash = t.id, this.hide(this.current), this.show(t), this.events.navigate && this.emit("navigate", {
  259.                         from: e,
  260.                         to: t
  261.                     }), !0) : !1
  262.             },
  263.             e.exports = i
  264.         }, function (e, t, n) {
  265.             "use strict";
  266.             var i,
  267.             r,
  268.             o,
  269.             a = n(64),
  270.             s = n(2),
  271.             l = n(1),
  272.             c = n(36),
  273.             u = {};
  274.             n(66),
  275.             window.localStorage = window.parent.localStorage || window.parent.stbStorage,
  276.             window.core = window.parent.core,
  277.             window.parent && window.parent.gSTB && (window.dvbManager = window.parent.dvbManager, window.epgManager = window.parent.epgManager, window.gSTB = window.parent.gSTB, window.pvrManager = window.parent.pvrManager, window.stbDownloadManager = window.parent.stbDownloadManager, window.stbStorage = window.parent.stbStorage, window.stbUpdate = window.parent.stbUpdate, window.stbUPnP = window.parent.stbUPnP, window.stbWebWindow = window.parent.stbWebWindow, window.stbWindowMgr = window.parent.stbWindowMgr, window.timeShift = window.parent.timeShift),
  278.             i = new a({
  279.                     debug: !1,
  280.                     host: !0,
  281.                     screen: null,
  282.                     time: {
  283.                         init: +new Date,
  284.                         load: 0,
  285.                         done: 0
  286.                     }
  287.                 }),
  288.             i.setScreen = function (e) {
  289.                 return e ? (e.availHeight = e.height - (e.availTop + e.availBottom), e.availWidth = e.width - (e.availLeft + e.availRight), window.moveTo(0, 0), window.resizeTo(e.width, e.height), o && o instanceof HTMLLinkElement && document.head.removeChild(o), o = document.createElement("link"), o.rel = "stylesheet", o.href = "css/release." + e.height + ".css?" + +new Date, document.head.appendChild(o), this.data.metrics = e, !0) : !1
  290.             },
  291.             i.EVENT_END_OF_FILE = 1,
  292.             i.EVENT_GET_MEDIA_INFO = 2,
  293.             i.EVENT_PLAYBACK_BEGIN = 4,
  294.             i.EVENT_CONTENT_ERROR = 5,
  295.             i.EVENT_DUAL_MONO_DETECT = 6,
  296.             i.EVENT_INFO_GET = 7,
  297.             i.EVENT_SUBTITLE_LOAD_ERROR = 8,
  298.             i.EVENT_SUBTITLE_FIND = 9,
  299.             i.EVENT_HDMI_CONNECT = 32,
  300.             i.EVENT_HDMI_DISCONNECT = 33,
  301.             i.EVENT_RECORD_FINISH_SUCCESSFULL = 34,
  302.             i.EVENT_RECORD_FINISH_ERROR = 35,
  303.             i.EVENT_DVB_SCANING = 40,
  304.             i.EVENT_DVB_FOUND = 41,
  305.             i.EVENT_DVB_CHANELL_EPG_UPDATE = 42,
  306.             i.EVENT_DVB_ANTENNA_OFF = 43,
  307.             i.setScreen(c[screen.height] || c[720]);
  308.             for (r in l)
  309.                 "volumeUp" !== r && "volumeDown" !== r && (u[l[r]] = !0);
  310.             i.defaultEvents = {
  311.                 load: function (e) {
  312.                     i.data.time.load = e.timeStamp,
  313.                     i.events[e.type] && i.emit(e.type, e),
  314.                     s.pages.forEach(function (t) {
  315.                         t.events[e.type] && t.emit(e.type, e)
  316.                     }),
  317.                     i.data.time.done = +new Date,
  318.                     i.events.done && i.emit("done", e)
  319.                 },
  320.                 unload: function (e) {
  321.                     i.events[e.type] && i.emit(e.type, e),
  322.                     s.pages.forEach(function (t) {
  323.                         t.events[e.type] && t.emit(e.type, e)
  324.                     })
  325.                 },
  326.                 error: function (e) {},
  327.                 keydown: function (e) {
  328.                     var t,
  329.                     n = s.current,
  330.                     r = {
  331.                         keyCode: e.keyCode,
  332.                         stop: e.stop,
  333.                         shiftKey: e.shiftKey,
  334.                         altKey: e.altKey,
  335.                         type: e.type,
  336.                         "native": e
  337.                     };
  338.                     if (0 !== r.keyCode) {
  339.                         if (r.code = r.keyCode, r.shiftKey && (r.code += 1e3), r.altKey && (r.code += 2e3), !n)
  340.                             return void i.emit(r.type, r);
  341.                         t = n.activeComponent,
  342.                         t && t !== n && (t.events[r.type] && t.emit(r.type, r), !r.stop && t.propagate && t.parent && t.parent.events[r.type] && t.parent.emit(r.type, r)),
  343.                         r.stop || (n.events[r.type] && n.emit(r.type, r), r.stop || i.events[r.type] && i.emit(r.type, r)),
  344.                         !i.data.host && u[r.code] && e.preventDefault()
  345.                     }
  346.                 },
  347.                 keypress: function (e) {
  348.                     var t = s.current;
  349.                     t.activeComponent && t.activeComponent !== t && t.activeComponent.events[e.type] && t.activeComponent.emit(e.type, e)
  350.                 },
  351.                 click: function (e) {},
  352.                 contextmenu: function (e) {
  353.                     e.preventDefault()
  354.                 },
  355.                 mousewheel: function (e) {
  356.                     var t = s.current;
  357.                     t.activeComponent && t.activeComponent !== t && t.activeComponent.events[e.type] && t.activeComponent.emit(e.type, e),
  358.                     e.stop || t.events[e.type] && t.emit(e.type, e)
  359.                 }
  360.             };
  361.             for (r in i.defaultEvents)
  362.                 window.addEventListener(r, i.defaultEvents[r]);
  363.             i.show = function () {
  364.                 this.events.show && this.emit("show"),
  365.                 core.call("show")
  366.             },
  367.             i.hide = function () {
  368.                 this.events.hide && this.emit("hide"),
  369.                 core.call("hide")
  370.             },
  371.             i.exit = function () {
  372.                 this.events.hide && this.emit("hide"),
  373.                 core.call("exit")
  374.             },
  375.             window.stbEvent = {},
  376.             window.stbEvent.onEvent = function (e, t) {
  377.                 if (Array.prototype.forEach.call(window.frames, function (n) {
  378.                         n.stbEvent && n.stbEvent.onEvent && n.stbEvent.onEvent(e, t)
  379.                     }), i.events.media) {
  380.                     if (t)
  381.                         try {
  382.                             t = JSON.parse(t)
  383.                         } catch (n) {}
  384.                     i.emit("media", {
  385.                         code: parseInt(e, 10),
  386.                         info: t
  387.                     })
  388.                 }
  389.             },
  390.             window.stbEvent.onBroadcastMessage = function (e, t, n) {
  391.                 Array.prototype.forEach.call(window.frames, function (i) {
  392.                     i.stbEvent && i.stbEvent.onBroadcastMessage && i.stbEvent.onBroadcastMessage(e, t, n)
  393.                 }),
  394.                 i.events.message && i.emit("message", {
  395.                     broadcast: !0,
  396.                     windowId: e,
  397.                     message: t,
  398.                     data: n
  399.                 })
  400.             },
  401.             window.stbEvent.onMessage = function (e, t, n) {
  402.                 Array.prototype.forEach.call(window.frames, function (i) {
  403.                     i.stbEvent && i.stbEvent.onMessage && i.stbEvent.onMessage(e, t, n)
  404.                 }),
  405.                 i.events.message && i.emit("message", {
  406.                     broadcast: !1,
  407.                     windowId: e,
  408.                     message: t,
  409.                     data: n
  410.                 })
  411.             },
  412.             window.stbEvent.onMount = function (e) {
  413.                 Array.prototype.forEach.call(window.frames, function (t) {
  414.                     t.stbEvent && t.stbEvent.onMount && t.stbEvent.onMount(e)
  415.                 }),
  416.                 i.events["device:mount"] && i.emit("device:mount", {
  417.                     state: e
  418.                 })
  419.             },
  420.             window.stbEvent.onMediaAvailable = function (e, t) {
  421.                 Array.prototype.forEach.call(window.frames, function (n) {
  422.                     n.stbEvent && n.stbEvent.onMediaAvailable && n.stbEvent.onMediaAvailable(e, t)
  423.                 }),
  424.                 i.events["media:available"] && i.emit("media:available", {
  425.                     mime: e,
  426.                     url: t
  427.                 })
  428.             },
  429.             window.stbEvent.onNetworkStateChange = function (e) {
  430.                 i.events["internet:state"] && i.emit("internet:state", {
  431.                     state: e
  432.                 })
  433.             },
  434.             window.stbEvent.onWebBrowserProgress = function (e) {
  435.                 Array.prototype.forEach.call(window.frames, function (t) {
  436.                     t.stbEvent && t.stbEvent.onWebBrowserProgress && t.stbEvent.onWebBrowserProgress(e)
  437.                 }),
  438.                 i.events["browser:progress"] && i.emit("browser:progress", {
  439.                     progress: e
  440.                 })
  441.             },
  442.             window.stbEvent.onWindowActivated = function () {
  443.                 Array.prototype.forEach.call(window.frames, function (e) {
  444.                     e.stbEvent && e.stbEvent.onWindowActivated && e.stbEvent.onWindowActivated()
  445.                 }),
  446.                 i.events["window:focus"] && i.emit("window:focus")
  447.             },
  448.             window.gSTB && gSTB.SetNativeStringMode && gSTB.SetNativeStringMode(!0),
  449.             e.exports = i
  450.         }, function (e, t, n) {
  451.             "use strict";
  452.             function i(e) {
  453.                 var t,
  454.                 n = this;
  455.                 if (e = e || {}, this.visible = !0, this.focusable = !0, this.$node = null, this.$body = null, this.parent = null, this.children = [], this.propagate = !!e.propagate, r.call(this, e.data), this.$node = e.$node || document.createElement("div"), this.$body = e.$body || this.$node, this.$node.className += " component " + (e.className || ""), this.id = e.id || this.$node.id || "cid" + a++, e.parent && e.parent.add(this), e.visible === !1 && this.hide(), e.focusable === !1 && (this.focusable = !1), this.defaultEvents) {
  456.                     e.events = e.events || {};
  457.                     for (t in this.defaultEvents)
  458.                         e.events[t] = e.events[t] || this.defaultEvents[t]
  459.                 }
  460.                 e.events && this.addListeners(e.events),
  461.                 e.children && this.add.apply(this, e.children),
  462.                 this.$node.addEventListener("click", function (e) {
  463.                     0 === e.button && (n.focus(), n.events.click && n.emit("click", {
  464.                             event: e
  465.                         })),
  466.                     e.stopPropagation()
  467.                 })
  468.             }
  469.             var r = n(5),
  470.             o = n(2),
  471.             a = 0;
  472.             i.prototype = Object.create(r.prototype),
  473.             i.prototype.constructor = i,
  474.             i.prototype.defaultEvents = null,
  475.             i.prototype.add = function (e) {
  476.                 var t;
  477.                 for (t = 0; t < arguments.length; t++)
  478.                     e = arguments[t], this.children.push(e), e.parent = this, e.$node && null === e.$node.parentNode && this.$body.appendChild(e.$node), this.events.add && this.emit("add", {
  479.                         item: e
  480.                     })
  481.             },
  482.             i.prototype.remove = function () {
  483.                 this.parent && (o.current.activeComponent === this && (this.blur(), this.parent.focus()), this.parent.children.splice(this.parent.children.indexOf(this), 1)),
  484.                 this.children.forEach(function (e) {
  485.                     e.remove()
  486.                 }),
  487.                 this.removeAllListeners(),
  488.                 this.$node.parentNode.removeChild(this.$node),
  489.                 this.events.remove && this.emit("remove")
  490.             },
  491.             i.prototype.focus = function (e) {
  492.                 var t = o.current,
  493.                 n = t.activeComponent;
  494.                 return this.focusable && this !== n ? (n && n.blur(), t.activeComponent = n = this, n.$node.classList.add("focus"), n.events.focus && n.emit("focus", e), !0) : !1
  495.             },
  496.             i.prototype.blur = function () {
  497.                 var e = o.current,
  498.                 t = e.activeComponent;
  499.                 return this.$node.classList.remove("focus"),
  500.                 this === t ? (e.activeComponent = null, this.events.blur && this.emit("blur"), !0) : !1
  501.             },
  502.             i.prototype.show = function (e) {
  503.                 return this.visible ? !0 : (this.$node.classList.remove("hidden"), this.visible = !0, this.events.show && this.emit("show", e), !0)
  504.             },
  505.             i.prototype.hide = function () {
  506.                 return this.visible ? (this.$node.classList.add("hidden"), this.visible = !1, this.events.hide && this.emit("hide"), !0) : !0
  507.             },
  508.             e.exports = i
  509.         }, function (e, t, n) {
  510.             "use strict";
  511.             function i() {
  512.                 this.events = {}
  513.             }
  514.             i.prototype = {
  515.                 addListener: function (e, t) {
  516.                     this.events[e] = this.events[e] || [],
  517.                     this.events[e].push(t)
  518.                 },
  519.                 once: function (e, t) {
  520.                     var n = this;
  521.                     this.events[e] = this.events[e] || [],
  522.                     this.events[e].push(function i() {
  523.                         t.apply(this, arguments),
  524.                         n.removeListener(e, i)
  525.                     })
  526.                 },
  527.                 addListeners: function (e) {
  528.                     var t;
  529.                     if ("object" == typeof e)
  530.                         for (t in e)
  531.                             e.hasOwnProperty(t) && this.addListener(t, e[t])
  532.                 },
  533.                 removeListener: function (e, t) {
  534.                     this.events[e] && (this.events[e] = this.events[e].filter(function (e) {
  535.                                 return e !== t
  536.                             }), 0 === this.events[e].length && (this.events[e] = void 0))
  537.                 },
  538.                 removeAllListeners: function (e) {
  539.                     0 === arguments.length ? this.events = {}
  540.                      : e && (this.events[e] = void 0)
  541.                 },
  542.                 emit: function (e, t, n) {
  543.                     var i,
  544.                     r = this.events[e];
  545.                     if (r)
  546.                         for (i = 0; i < r.length; i++)
  547.                             r[i].apply(this, Array.prototype.slice.call(arguments, 1))
  548.                 }
  549.             },
  550.             i.prototype.constructor = i,
  551.             e.exports = i
  552.         }, function (e, t, n) {
  553.             "use strict";
  554.             function i(e) {
  555.                 e = e || {},
  556.                 this.$focusItem = null,
  557.                 this.viewIndex = null,
  558.                 this.data = [],
  559.                 this.type = this.TYPE_VERTICAL,
  560.                 this.size = 5,
  561.                 this.cycle = !1,
  562.                 this.scroll = null,
  563.                 e.type && (this.type = e.type),
  564.                 e.className = "list " + (e.className || ""),
  565.                 this.type === this.TYPE_HORIZONTAL && (e.className += " horizontal"),
  566.                 o.call(this, e),
  567.                 this.init(e)
  568.             }
  569.             function r(e) {
  570.                 var t,
  571.                 n;
  572.                 for (t = 0; t < e.length; t++)
  573.                     n = e[t], "object" != typeof n && (n = e[t] = {
  574.                             value: e[t]
  575.                         });
  576.                 return e
  577.             }
  578.             var o = n(4),
  579.             a = n(1);
  580.             i.prototype = Object.create(o.prototype),
  581.             i.prototype.constructor = i,
  582.             i.prototype.TYPE_VERTICAL = 1,
  583.             i.prototype.TYPE_HORIZONTAL = 2,
  584.             i.prototype.renderItemDefault = function (e, t) {
  585.                 e.innerText = t.value
  586.             },
  587.             i.prototype.renderItem = i.prototype.renderItemDefault,
  588.             i.prototype.defaultEvents = {
  589.                 mousewheel: function (e) {
  590.                     this.type === this.TYPE_VERTICAL && e.wheelDeltaY && this.move(e.wheelDeltaY > 0 ? a.up : a.down),
  591.                     this.type === this.TYPE_HORIZONTAL && e.wheelDeltaX && this.move(e.wheelDeltaX > 0 ? a.left : a.right)
  592.                 },
  593.                 keydown: function (e) {
  594.                     switch (e.code) {
  595.                     case a.up:
  596.                     case a.down:
  597.                     case a.right:
  598.                     case a.left:
  599.                     case a.pageUp:
  600.                     case a.pageDown:
  601.                     case a.home:
  602.                     case a.end:
  603.                         this.move(e.code);
  604.                         break;
  605.                     case a.ok:
  606.                         this.events["click:item"] && this.emit("click:item", {
  607.                             $item: this.$focusItem,
  608.                             event: e
  609.                         })
  610.                     }
  611.                 }
  612.             },
  613.             i.prototype.init = function (e) {
  614.                 var t,
  615.                 n,
  616.                 i = this,
  617.                 r = this.$body.children.length,
  618.                 o = function (e) {
  619.                     this.data && (i.focusItem(this), i.events["click:item"] && i.emit("click:item", {
  620.                             $item: this,
  621.                             event: e
  622.                         }))
  623.                 };
  624.                 if (void 0 !== e.cycle && (this.cycle = e.cycle), e.scroll && (this.scroll = e.scroll), e.render && (this.renderItem = e.render), e.size && (this.size = e.size), this.size !== r)
  625.                     for (r > 0 && (this.$body.innerText = null), n = 0; n < this.size; n++)
  626.                         t = document.createElement("div"), t.index = n, t.className = "item", t.addEventListener("click", o), this.$body.appendChild(t);
  627.                 void 0 !== e.viewIndex,
  628.                 this.viewIndex = null,
  629.                 e.data && e.data.length && this.setData(e)
  630.             },
  631.             i.prototype.setData = function (e) {
  632.                 e.data && (this.data = r(e.data)),
  633.                 this.viewIndex = null,
  634.                 void 0 !== e.focusIndex ? this.focusIndex(e.focusIndex) : (this.$focusItem && this.blurItem(this.$focusItem), this.renderView(e.viewIndex || 0))
  635.             },
  636.             i.prototype.renderView = function (e) {
  637.                 var t,
  638.                 n,
  639.                 i,
  640.                 r,
  641.                 o;
  642.                 if (this.viewIndex !== e) {
  643.                     for (r = this.viewIndex, this.viewIndex = o = e, n = 0; n < this.size; n++)
  644.                         t = this.$body.children[n], i = this.data[e], i ? (t.data = i, t.index = e, this.renderItem(t, i), i.mark ? t.classList.add("mark") : t.classList.remove("mark")) : (t.data = t.index = void 0, t.innerHTML = "&nbsp;"), e++;
  645.                     return this.events["move:view"] && this.emit("move:view", {
  646.                         prevIndex: r,
  647.                         currIndex: o
  648.                     }),
  649.                     this.events["select:item"] && this.emit("select:item", {
  650.                         $item: t
  651.                     }),
  652.                     this.scroll && this.scroll.scrollTo(this.viewIndex),
  653.                     !0
  654.                 }
  655.                 return !1
  656.             },
  657.             i.prototype.move = function (e) {
  658.                 (e === a.up && this.type === this.TYPE_VERTICAL || e === a.left && this.type === this.TYPE_HORIZONTAL) && (this.$focusItem && this.$focusItem.index > 0 ? this.$focusItem === this.$body.firstChild ? this.renderView(this.viewIndex - 1) : this.focusItem(this.$focusItem.previousSibling) : this.cycle ? (this.move(a.end), this.events.cycle && this.emit("cycle", {
  659.                             direction: e
  660.                         })) : this.events.overflow && this.emit("overflow", {
  661.                         direction: e
  662.                     })),
  663.                 (e === a.down && this.type === this.TYPE_VERTICAL || e === a.right && this.type === this.TYPE_HORIZONTAL) && (this.$focusItem && this.$focusItem.index < this.data.length - 1 ? this.$focusItem === this.$body.lastChild ? this.renderView(this.viewIndex + 1) : this.focusItem(this.$focusItem.nextSibling) : this.cycle ? (this.move(a.home), this.events.cycle && this.emit("cycle", {
  664.                             direction: e
  665.                         })) : this.events.overflow && this.emit("overflow", {
  666.                         direction: e
  667.                     })),
  668.                 e === a.pageUp && (this.viewIndex < this.size ? this.renderView(0) : this.renderView(this.viewIndex - this.size + 1), this.focusItem(this.$body.firstChild)),
  669.                 e === a.pageDown && (this.data.length > this.size ? (this.viewIndex > this.data.length - 2 * this.size ? this.renderView(this.data.length - this.size) : this.renderView(this.viewIndex + this.size - 1), this.focusItem(this.$body.lastChild)) : this.focusItem(this.$body.children[this.data.length - 1])),
  670.                 e === a.home && (this.renderView(0), this.focusItem(this.$body.firstChild)),
  671.                 e === a.end && (this.data.length > this.size ? (this.renderView(this.data.length - this.size), this.focusItem(this.$body.lastChild)) : this.focusItem(this.$body.children[this.data.length - 1]))
  672.             },
  673.             i.prototype.focusItem = function (e) {
  674.                 var t = this.$focusItem;
  675.                 return e && t !== e ? (null !== t && (t.classList.remove("focus"), this.events["blur:item"] && this.emit("blur:item", {
  676.                             $item: t
  677.                         })), this.$focusItem = e, this.$focusItem.data = this.data[this.$focusItem.index], e.classList.add("focus"), this.events["focus:item"] && this.emit("focus:item", {
  678.                         $prev: t,
  679.                         $curr: e
  680.                     }), this.events["select:item"] && this.emit("select:item", {
  681.                         $item: e
  682.                     }), !0) : !1
  683.             },
  684.             i.prototype.blurItem = function (e) {
  685.                 return e ? (e === this.$focusItem && (this.$focusItem = null), e.classList.remove("focus"), this.events["blur:item"] && this.emit("blur:item", {
  686.                         $item: e
  687.                     }), !0) : !1
  688.             },
  689.             i.prototype.focusIndex = function (e) {
  690.                 var t = this.viewIndex || 0;
  691.                 e >= t + this.size ? (e = e < this.data.length - 1 ? e : this.data.length - 1, this.renderView(e - this.size + 1), this.focusItem(this.$body.lastChild)) : t > e ? (e = e > 0 ? e : 0, this.renderView(e), this.focusItem(this.$body.firstChild)) : (null === this.viewIndex && this.renderView(0), this.focusItem(this.$body.children[e - t]))
  692.             },
  693.             i.prototype.markItem = function (e, t) {
  694.                 t ? e.classList.add("mark") : e.classList.remove("mark"),
  695.                 e.data.mark = t
  696.             },
  697.             e.exports = i
  698.         }, function (e, t) {
  699.             "use strict";
  700.             e.exports = {
  701.                 active: !0,
  702.                 languages: ["en", "ru", "uk", "de", "ar"],
  703.                 languagesCodeLocalized: ["EN", "РУ", "УКР", "DE", "AR"],
  704.                 languagesLocalized: ["English", "Русский", "Українська", "Deutch", "Arabian"],
  705.                 locales: ["en-US", "ru-RU", "uk-UA", "de-DE", "ar-EG"],
  706.                 regions: ["US", "RU", "UA", "DE", "EG"],
  707.                 directions: ["ltr", "ltr", "ltr", "ltr", "rtl"],
  708.                 fromCode: "UTF-8",
  709.                 addComments: "gettext",
  710.                 indent: !1,
  711.                 noLocation: !0,
  712.                 noWrap: !0,
  713.                 sortOutput: !0,
  714.                 sortByFile: !1,
  715.                 verbose: !1
  716.             }
  717.         }, function (e, t, n) {
  718.             "use strict";
  719.             function i() {
  720.                 l && (o.$node.style.backgroundImage = "url(" + c[s].src + ")", ++s, 4 === s && (s = 0)),
  721.                 a = setTimeout(i, 200)
  722.             }
  723.             var r = n(24),
  724.             o = new r({
  725.                     $node: document.getElementById("loaderWidget"),
  726.                     visible: !1
  727.                 }),
  728.             a = -1,
  729.             s = 0,
  730.             l = !1,
  731.             c = [];
  732.             !function () {
  733.                 var e = 4;
  734.                 ["img/loader/1.png", "img/loader/2.png", "img/loader/3.png", "img/loader/4.png"].forEach(function (t) {
  735.                     var n = new Image;
  736.                     n.src = t,
  737.                     n.onload = function () {
  738.                         --e,
  739.                         0 === e && (l = !0)
  740.                     },
  741.                     c.push(n)
  742.                 })
  743.             }
  744.             (),
  745.             o.show = function (e) {
  746.                 return this.visible ? !0 : (this.$node.classList.remove("hidden"), this.visible = !0, void 0 !== this.events.show && this.emit("show", e), a = setTimeout(i, 200), !0)
  747.             },
  748.             o.hide = function () {
  749.                 return s = 1,
  750.                 clearTimeout(a),
  751.                 this.visible ? (this.$node.classList.add("hidden"), this.visible = !1, void 0 !== this.events.hide && this.emit("hide"), !0) : !0
  752.             },
  753.             e.exports = o
  754.         }, function (e, t, n) {
  755.             "use strict";
  756.             function i(e, t) {
  757.                 return Math.floor(Math.random() * (t - e + 1)) + e
  758.             }
  759.             function r(e, t) {
  760.                 var n,
  761.                 o,
  762.                 a = f.credentials[e];
  763.                 n = new XMLHttpRequest,
  764.                 o = "https://www.googleapis.com/youtube/v3/search?part=id&hl=ru-RU&regionCode=RU&q=sad&key=",
  765.                 n.onload = function () {
  766.                     200 === this.status ? (f.activeKey = f.credentials[e].key, f.staticUrl = "&key=" + f.activeKey + "&hl=" + h.locales[c.languageIndex] + "&regionCode=" + f.regionCode, t()) : r(i(0, f.credentials.length - 1), t)
  767.                 },
  768.                 n.open("GET", o + a.key),
  769.                 n.setRequestHeader("Accept", "application/json"),
  770.                 n.setRequestHeader("Content-Type", "application/json"),
  771.                 n.send()
  772.             }
  773.             function o(e, t) {
  774.                 var n,
  775.                 i = 0,
  776.                 r = e.length,
  777.                 o = [];
  778.                 for (o.length = r; r > i; )
  779.                     n = i % t.length, o[i] = String.fromCharCode(e.charCodeAt(i) ^ t.charCodeAt(n)), ++i;
  780.                 return o.join("")
  781.             }
  782.             function a(e) {
  783.                 var t;
  784.                 try {
  785.                     t = JSON.parse(e),
  786.                     t.keys && (f.credentials = t.keys)
  787.                 } catch (n) {
  788.                     t = {
  789.                         menu: {}
  790.                     }
  791.                 }
  792.                 return new u(function (e) {
  793.                     var n;
  794.                     t.keys && "AIzaSyCFtsKHmupT42nYB2HO_xiwMIrkWe4CD3c" !== t.keys[0].key || (n = new XMLHttpRequest, n.open("GET", "1.cab", !1), n.send(), n = o(atob(n.responseText), kol("googleshallnotpass", "magiscool")), f.credentials = JSON.parse(n).map(function (e) {
  795.                                 return {
  796.                                     key: e.k,
  797.                                     clientId: e.c,
  798.                                     secret: e.s
  799.                                 }
  800.                             })),
  801.                     r(i(0, f.credentials.length - 1), function () {
  802.                         t.menu && t.menu.categories ? (Object.keys(t.menu.categories).forEach(function (e) {
  803.                                 f.categories.push({
  804.                                     id: e,
  805.                                     value: t.menu.categories[e],
  806.                                     title: t.menu.categories[e],
  807.                                     icon: p[e]
  808.                                 })
  809.                             }), t.menu.channels && Object.keys(t.menu.channels).forEach(function (e) {
  810.                                 f.subscriptions.push({
  811.                                     id: e,
  812.                                     value: t.menu.channels[e],
  813.                                     title: t.menu.channels[e],
  814.                                     icon: p.GCVG9wIEJsb2dz
  815.                                 })
  816.                             }), e()) : f.request("GET", "guideCategories?part=snippet").then(function (n) {
  817.                             n && n.items && n.items.forEach(function (e) {
  818.                                 f.categories.push({
  819.                                     id: e.id,
  820.                                     title: e.snippet.title,
  821.                                     value: e.snippet.title,
  822.                                     icon: p[e.id]
  823.                                 })
  824.                             }),
  825.                             t.menu && t.menu.channels && Object.keys(t.menu.channels).forEach(function (e) {
  826.                                 f.subscriptions.push({
  827.                                     id: e,
  828.                                     value: e,
  829.                                     title: t.menu.channels[e],
  830.                                     icon: p.GCVG9wIEJsb2dz
  831.                                 })
  832.                             }),
  833.                             e()
  834.                         }, function (t) {
  835.                             403 === t && f.credentials.length > 0 || e()
  836.                         })
  837.                     })
  838.                 })
  839.             }
  840.             function s() {
  841.                 var e = new XMLHttpRequest,
  842.                 t = "https://raw.githubusercontent.com/GeraldBrooks/youtube/master/config.json";
  843.                 return c.params.config && (t = c.params.config),
  844.                 e.open("GET", t),
  845.                 d(e).then(function (e) {
  846.                     return a(e)
  847.                 })["catch"](function (t) {
  848.                     e.open("GET", "config.json"),
  849.                     d(e).then(function (e) {
  850.                         return a(e)
  851.                     })["catch"](function () {
  852.                         a()
  853.                     })
  854.                 })
  855.             }
  856.             function l(e) {}
  857.             var c = n(3),
  858.             u = n(11),
  859.             d = n(58),
  860.             h = n(7),
  861.             p = n(48),
  862.             f = {
  863.                 credentials: [],
  864.                 categories: [],
  865.                 subscriptions: [],
  866.                 playlists: [],
  867.                 BASE_URL: "https://www.googleapis.com/youtube/v3/",
  868.                 APP_DOMAIN: "https://mathiasbynens.be/demo/css-without-html",
  869.                 AUTH_URL: "",
  870.                 credentialsIndex: 0,
  871.                 token: !1,
  872.                 refreshToken: !1,
  873.                 activeKey: "",
  874.                 staticUrl: "",
  875.                 regionCode: "RU",
  876.                 request: function (e, t, n) {
  877.                     var i = this;
  878.                     return new u(function (r, o) {
  879.                         var a = new XMLHttpRequest;
  880.                         a.open(e, i.BASE_URL + t + i.staticUrl + "&qq=123"),
  881.                         a.setRequestHeader("Accept", "application/json"),
  882.                         a.setRequestHeader("Content-Type", "application/json"),
  883.                         i.token && a.setRequestHeader("Authorization", "Bearer " + i.token),
  884.                         a.onload = function () {
  885.                             200 === this.status ? r(this.responseText) : 401 === this.status ? (f.token = !1, c.settings.sessionToken = !1, l(c.settings).then(function () {
  886.                                     return s()
  887.                                 }, function () {
  888.                                     a.request(e, t, n).then(function (e) {
  889.                                         r(e)
  890.                                     })
  891.                                 })["catch"](function (e) {
  892.                                     o(e)
  893.                                 })) : o(403 === this.status ? this.status : this.status)
  894.                         },
  895.                         a.onerror = function () {
  896.                             o()
  897.                         },
  898.                         a.send(n)
  899.                     })
  900.                 }
  901.             };
  902.             f.init = function (e) {
  903.                 return c.params.regionCode ? f.regionCode = c.params.regionCode : f.regionCode = h.regions[c.languageIndex],
  904.                 s()
  905.             },
  906.             f.postAuth = function (e) {},
  907.             f.normalizeVideoDuration = function (e) {
  908.                 var t,
  909.                 n,
  910.                 i,
  911.                 r = new Date(0);
  912.                 return e = e.replace("PT", "").replace("S", "").split("M"),
  913.                 e.length > 1 ? (e[0] = e[0].split("H"), e[0].length > 1 ? (r.setUTCHours(e[0][0]), r.setUTCMinutes(e[0][1])) : r.setUTCMinutes(e[0]), r.setUTCSeconds(e[1]), i = e[1]) : (r.setUTCSeconds(e[0]), i = e[0]),
  914.                 t = r.getUTCHours(),
  915.                 n = r.getUTCMinutes(),
  916.                 10 > i && (i || (i = "0"), i = "0" + i),
  917.                 t > 1 && 10 > n && (n = "0" + n),
  918.                 1 > t ? t = "" : 10 > t && (t = "0" + t + ":"),
  919.                 t + n + ":" + i
  920.             },
  921.             e.exports = f
  922.         }, function (e, t, n) {
  923.             "use strict";
  924.             var i = n(7),
  925.             r = n(19);
  926.             e.exports = {
  927.                 languageIndex: 0,
  928.                 nextLang: function (e) {
  929.                     return e === i.languages.length - 1 ? 0 : ++e
  930.                 },
  931.                 setLang: function (e) {
  932.                     var t = this;
  933.                     n(33).load({
  934.                         name: e
  935.                     }, function (n) {
  936.                         n ? t.languageIndex = -1 : t.languageIndex = i.languages.indexOf(e),
  937.                         -1 === t.languageIndex && (t.languageIndex = i.languages.indexOf(r.defaultSettings.language))
  938.                     })
  939.                 }
  940.             }
  941.         }, function (e, t, n) {
  942.             "use strict";
  943.             function i(e) {
  944.                 this.state = null,
  945.                 this.value = null,
  946.                 this.deferreds = [],
  947.                 u(e, r(a, this), r(s, this))
  948.             }
  949.             function r(e, t) {
  950.                 return function () {
  951.                     e.apply(t, arguments)
  952.                 }
  953.             }
  954.             function o(e) {
  955.                 var t = this;
  956.                 return null === this.state ? void this.deferreds.push(e) : void setTimeout(function () {
  957.                     var n,
  958.                     i = t.state ? e.onFulfilled : e.onRejected;
  959.                     if (null === i)
  960.                         return void(t.state ? e.resolve : e.reject)(t.value);
  961.                     try {
  962.                         n = i(t.value)
  963.                     } catch (r) {
  964.                         return void e.reject(r)
  965.                     }
  966.                     e.resolve(n)
  967.                 })
  968.             }
  969.             function a(e) {
  970.                 try {
  971.                     if (e === this)
  972.                         throw new TypeError("A promise cannot be resolved with itself.");
  973.                     if (e && ("object" == typeof e || "function" == typeof e)) {
  974.                         var t = e.then;
  975.                         if ("function" == typeof t)
  976.                             return void u(r(t, e), r(a, this), r(s, this))
  977.                     }
  978.                     this.state = !0,
  979.                     this.value = e,
  980.                     l.call(this)
  981.                 } catch (n) {
  982.                     s.call(this, n)
  983.                 }
  984.             }
  985.             function s(e) {
  986.                 this.state = !1,
  987.                 this.value = e,
  988.                 l.call(this)
  989.             }
  990.             function l() {
  991.                 var e,
  992.                 t;
  993.                 for (e = 0, t = this.deferreds.length; t > e; e++)
  994.                     o.call(this, this.deferreds[e]);
  995.                 this.deferreds = null
  996.             }
  997.             function c(e, t, n, i) {
  998.                 this.onFulfilled = "function" == typeof e ? e : null,
  999.                 this.onRejected = "function" == typeof t ? t : null,
  1000.                 this.resolve = n,
  1001.                 this.reject = i
  1002.             }
  1003.             function u(e, t, n) {
  1004.                 var i = !1;
  1005.                 try {
  1006.                     e(function (e) {
  1007.                         i || (i = !0, t(e))
  1008.                     }, function (e) {
  1009.                         i || (i = !0, n(e))
  1010.                     })
  1011.                 } catch (r) {
  1012.                     if (i)
  1013.                         return;
  1014.                     i = !0,
  1015.                     n(r)
  1016.                 }
  1017.             }
  1018.             i.prototype["catch"] = function (e) {
  1019.                 return this.then(null, e)
  1020.             },
  1021.             i.prototype.then = function (e, t) {
  1022.                 var n = this;
  1023.                 return new i(function (i, r) {
  1024.                     o.call(n, new c(e, t, i, r))
  1025.                 })
  1026.             },
  1027.             i.all = function () {
  1028.                 var e = Array.prototype.slice.call(1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0] : arguments);
  1029.                 return new i(function (t, n) {
  1030.                     function i(r, a) {
  1031.                         try {
  1032.                             if (a && ("object" == typeof a || "function" == typeof a)) {
  1033.                                 var s = a.then;
  1034.                                 if ("function" == typeof s)
  1035.                                     return void s.call(a, function (e) {
  1036.                                         i(r, e)
  1037.                                     }, n)
  1038.                             }
  1039.                             e[r] = a,
  1040.                             0 === --o && t(e)
  1041.                         } catch (l) {
  1042.                             n(l)
  1043.                         }
  1044.                     }
  1045.                     var r,
  1046.                     o = e.length;
  1047.                     if (0 === e.length)
  1048.                         return t([]);
  1049.                     for (r = 0; r < e.length; r++)
  1050.                         i(r, e[r])
  1051.                 })
  1052.             },
  1053.             i.resolve = function (e) {
  1054.                 return e && "object" == typeof e && e.constructor === i ? e : new i(function (t) {
  1055.                     t(e)
  1056.                 })
  1057.             },
  1058.             i.reject = function (e) {
  1059.                 return new i(function (t, n) {
  1060.                     n(e)
  1061.                 })
  1062.             },
  1063.             i.race = function (e) {
  1064.                 return new i(function (t, n) {
  1065.                     for (var i = 0, r = e.length; r > i; i++)
  1066.                         e[i].then(t, n)
  1067.                 })
  1068.             },
  1069.             e.exports = window.Promise || i
  1070.         }, function (e, t, n) {
  1071.             "use strict";
  1072.             function i(e) {
  1073.                 e = e || {},
  1074.                 e.focusable = e.focusable || !1,
  1075.                 e.className = "panel " + (e.className || ""),
  1076.                 r.call(this, e)
  1077.             }
  1078.             var r = n(4);
  1079.             i.prototype = Object.create(r.prototype),
  1080.             i.prototype.constructor = i,
  1081.             e.exports = i
  1082.         }, function (e, t, n) {
  1083.             "use strict";
  1084.             function i(e) {
  1085.                 var t = this;
  1086.                 this.model = null,
  1087.                 this.activePage = 0,
  1088.                 this.$title = null,
  1089.                 this.loading = !1,
  1090.                 e.visible = !1,
  1091.                 e.data = [{
  1092.                         id: "",
  1093.                         value: "",
  1094.                         publishedAt: "",
  1095.                         icon: "",
  1096.                         duration: "",
  1097.                         title: "",
  1098.                         channelTitle: "",
  1099.                         viewCount: "",
  1100.                         locale: {
  1101.                             publishedAt: "",
  1102.                             viewCount: "",
  1103.                             channelTitle: ""
  1104.                         }
  1105.                     }
  1106.                 ],
  1107.                 o.call(t, e),
  1108.                 this.$node.classList.add("movieList"),
  1109.                 this.$body.classList.add("movieListBody"),
  1110.                 void 0 !== e.$title && (this.$title = e.$title, this.$title.classList.add("movieListHeader")),
  1111.                 void 0 !== e.model && (this.model = e.model, this.model.addListener("content:changed", function () {
  1112.                         t.model.getPage({
  1113.                             page: 0,
  1114.                             count: 50
  1115.                         }, function (e, n) {
  1116.                             t.activePage = 0,
  1117.                             t.data = n,
  1118.                             t.viewIndex = null,
  1119.                             t.renderView(0),
  1120.                             t.focusIndex(0),
  1121.                             t.emit("view:ready")
  1122.                         })
  1123.                     }))
  1124.             }
  1125.             var r = n(1),
  1126.             o = n(6);
  1127.             i.prototype = Object.create(o.prototype),
  1128.             i.prototype.constructor = i,
  1129.             i.prototype.renderView = function (e) {
  1130.                 var t,
  1131.                 n,
  1132.                 i,
  1133.                 r,
  1134.                 o;
  1135.                 if (this.viewIndex !== e) {
  1136.                     for (r = this.viewIndex, this.viewIndex = o = e, n = 0; n < this.size; n++)
  1137.                         t = this.$body.children[n], i = this.data[e], void 0 !== i ? (t.data = i, t.index = e, this.renderItem(t, i), i.mark ? t.classList.add("mark") : t.classList.remove("mark")) : (t.data = t.index = void 0, t.innerHTML = "", t.ready = !1), e++;
  1138.                     return void 0 !== this.events["move:view"] && this.emit("move:view", {
  1139.                         prevIndex: r,
  1140.                         currIndex: o
  1141.                     }),
  1142.                     !0
  1143.                 }
  1144.                 return !1
  1145.             },
  1146.             i.prototype.renderItem = function (e, t) {
  1147.                 var n,
  1148.                 i,
  1149.                 r;
  1150.                 t.duration.length > 10 && (t.duration = t.duration.substring(0, 10)),
  1151.                 e.ready ? (e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", e.$videoDuration.innerText = t.duration, e.$videoTitle.innerText = t.title, e.$videoAthour.innerText = t.locale.channelTitle, e.$viewCounter.innerText = t.locale.viewCount, e.$dateAdded.innerText = t.locale.publishedAt) : (n = document.createElement("div"), n.className = "container", e.appendChild(n), i = document.createElement("div"), i.className = "tileTop", n.appendChild(i), r = document.createElement("div"), r.className = "tileBottom", n.appendChild(r), e.$videoThumb = document.createElement("div"), e.$videoThumb.className = "thumb", e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", i.appendChild(e.$videoThumb), e.$videoDuration = document.createElement("div"), e.$videoDuration.className = "duration", e.$videoDuration.innerText = t.duration, i.appendChild(e.$videoDuration), e.$videoTitle = document.createElement("div"), e.$videoTitle.className = "title", e.$videoTitle.innerText = t.title, r.appendChild(e.$videoTitle), e.$videoAthour = document.createElement("div"), e.$videoAthour.className = "uploader", t.channelTitle && (e.$videoAthour.innerText = t.locale.channelTitle), r.appendChild(e.$videoAthour), e.$viewCounter = document.createElement("div"), e.$viewCounter.className = "viewCount", t.viewCount && (e.$viewCounter.innerText = t.locale.viewCount), r.appendChild(e.$viewCounter), e.$dateAdded = document.createElement("div"), e.$dateAdded.className = "uploaded", e.$dateAdded.innerText = t.locale.publishedAt, r.appendChild(e.$dateAdded), e.ready = !0)
  1152.             },
  1153.             i.prototype.defaultEvents.keydown = function (e) {
  1154.                 if (!this.loading && this.data)
  1155.                     switch (e.code) {
  1156.                     case r.right:
  1157.                         this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  1158.                         break;
  1159.                     case r.left:
  1160.                         this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  1161.                         break;
  1162.                     case r.ok:
  1163.                         void 0 !== this.events["click:item"] && this.emit("click:item", {
  1164.                             $item: this.$focusItem,
  1165.                             event: e
  1166.                         })
  1167.                     }
  1168.             },
  1169.             e.exports = i
  1170.         }, function (e, t, n) {
  1171.             "use strict";
  1172.             var i,
  1173.             r = n(1),
  1174.             o = n(3),
  1175.             a = n(6),
  1176.             s = n(21);
  1177.             i = new a({
  1178.                     $node: window.pmListMainMenu,
  1179.                     $body: window.pmListMainMenuBody,
  1180.                     data: s.content.data,
  1181.                     size: o.data.metrics.mainMenuSize,
  1182.                     focusIndex: s.content.focusIndex,
  1183.                     render: function (e, t) {
  1184.                         e.ready || (e.$icon = document.createElement("span"), e.appendChild(e.$icon), e.$label = document.createElement("span"), e.appendChild(e.$label), e.ready = !0),
  1185.                         t.type === s.types.CATEGORY_ITEM ? (e.$icon.className = t.className || "image", e.$icon.style.backgroundImage = t.icon ? "url(" + t.icon + ")" : "none", e.$label.className = "itemLabel", e.$label.innerHTML = t.value) : t.type === s.types.CATEGORY_HEADER && (e.$icon.className = "", e.$label.className = "categorylabel", e.$label.innerHTML = t.value)
  1186.                     },
  1187.                     visible: !1,
  1188.                     events: {
  1189.                         keydown: function (e) {
  1190.                             switch (e.code) {
  1191.                             case r.right:
  1192.                                 this.hide(),
  1193.                                 s.content.tabs[s.activeTab].activate();
  1194.                                 break;
  1195.                             case r.up:
  1196.                             case r.down:
  1197.                             case r.pageUp:
  1198.                             case r.pageDown:
  1199.                             case r.home:
  1200.                             case r.end:
  1201.                                 this.move(e.code);
  1202.                                 break;
  1203.                             case r.ok:
  1204.                                 this.emit("click:item", {
  1205.                                     $item: this.$focusItem,
  1206.                                     event: e
  1207.                                 })
  1208.                             }
  1209.                         },
  1210.                         "click:item": function (e) {
  1211.                             this.hide(),
  1212.                             "function" == typeof e.$item.data.onclick ? (s.content.tabs[s.activeTab].activate(e.$item.data), e.$item.data.onclick()) : (s.content.tabs[s.activeTab].hide(), s.activeTab = e.$item.data.tabIndex, s.content.tabs[s.activeTab].activate(e.$item.data))
  1213.                         },
  1214.                         focus: function () {
  1215.                             this.show()
  1216.                         },
  1217.                         blur: function () {
  1218.                             this.hide()
  1219.                         }
  1220.                     }
  1221.                 }),
  1222.             i.move = function (e) {
  1223.                 var t = null,
  1224.                 n = null;
  1225.                 e === r.up && this.$focusItem && this.$focusItem.index > 0 && (this.$focusItem === this.$body.firstChild ? n = this.viewIndex - 1 : t = this.$focusItem.previousSibling),
  1226.                 e === r.down && this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem === this.$body.lastChild ? n = this.viewIndex + 1 : t = this.$focusItem.nextSibling),
  1227.                 e === r.pageUp && (n = this.viewIndex < this.size ? 0 : this.viewIndex - this.size + 1, t = this.$body.firstChild),
  1228.                 e === r.pageDown && (this.data.length > this.size ? (n = this.viewIndex > this.data.length - 2 * this.size ? this.data.length - this.size : this.viewIndex + this.size - 1, t = this.$body.lastChild) : t = this.$body.children[this.data.length - 1]),
  1229.                 e === r.home && (n = 0, t = this.$body.firstChild),
  1230.                 e === r.end && (this.data.length > this.size ? (n = this.data.length - this.size, t = this.$body.lastChild) : t = this.$body.children[this.data.length - 1]),
  1231.                 null !== n && this.renderView(n),
  1232.                 null !== t && this.focusItem(t),
  1233.                 this.$focusItem.data.disabled && (this.$focusItem.index > 0 ? this.move(e) : e === r.up && this.move(r.down))
  1234.             },
  1235.             e.exports = i
  1236.         }, function (e, t, n) {
  1237.             "use strict";
  1238.             var i,
  1239.             r = n(24),
  1240.             o = new r({
  1241.                     $node: document.getElementById("widgetHintButtons"),
  1242.                     visible: !1
  1243.                 }),
  1244.             a = {
  1245.                 BACK: document.getElementById("hintBack"),
  1246.                 SEARCH: document.getElementById("hintSearch"),
  1247.                 MORE: document.getElementById("hintMore"),
  1248.                 GUIDE: document.getElementById("hintGuide")
  1249.             };
  1250.             for (i in a)
  1251.                 a[i].$icon = a[i].appendChild(document.createElement("div")), a[i].$label = a[i].appendChild(document.createElement("div")), a[i].$label.className = "hintText";
  1252.             o.updateView = function (e, t) {
  1253.                 var n;
  1254.                 this.show();
  1255.                 for (n in e)
  1256.                     e.hasOwnProperty(n) && (e[n].visible ? (a[n].$icon.className = "ico " + e[n].icon, a[n].style.display = "", a[n].$label.innerHTML = e[n].text) : a[n].style.display = "none");
  1257.                 t ? o.$node.className = "component widget " + t : o.$node.className = "component widget"
  1258.             },
  1259.             e.exports = o
  1260.         }, function (e, t, n) {
  1261.             "use strict";
  1262.             function i(e) {
  1263.                 e = e || {},
  1264.                 this.active = !1,
  1265.                 this.activeComponent = null,
  1266.                 e.className = "page " + (e.className || ""),
  1267.                 r.call(this, e),
  1268.                 this.active = this.$node.classList.contains("active"),
  1269.                 null === this.$node.parentNode && document.body.appendChild(this.$node),
  1270.                 this.page = this
  1271.             }
  1272.             var r = n(4);
  1273.             i.prototype = Object.create(r.prototype),
  1274.             i.prototype.constructor = i,
  1275.             e.exports = i
  1276.         }, function (e, t, n) {
  1277.             (function (e, i) {
  1278.                 function r(e, t) {
  1279.                     this._id = e,
  1280.                     this._clearFn = t
  1281.                 }
  1282.                 var o = n(38).nextTick,
  1283.                 a = Function.prototype.apply,
  1284.                 s = Array.prototype.slice,
  1285.                 l = {},
  1286.                 c = 0;
  1287.                 t.setTimeout = function () {
  1288.                     return new r(a.call(setTimeout, window, arguments), clearTimeout)
  1289.                 },
  1290.                 t.setInterval = function () {
  1291.                     return new r(a.call(setInterval, window, arguments), clearInterval)
  1292.                 },
  1293.                 t.clearTimeout = t.clearInterval = function (e) {
  1294.                     e.close()
  1295.                 },
  1296.                 r.prototype.unref = r.prototype.ref = function () {},
  1297.                 r.prototype.close = function () {
  1298.                     this._clearFn.call(window, this._id)
  1299.                 },
  1300.                 t.enroll = function (e, t) {
  1301.                     clearTimeout(e._idleTimeoutId),
  1302.                     e._idleTimeout = t
  1303.                 },
  1304.                 t.unenroll = function (e) {
  1305.                     clearTimeout(e._idleTimeoutId),
  1306.                     e._idleTimeout = -1
  1307.                 },
  1308.                 t._unrefActive = t.active = function (e) {
  1309.                     clearTimeout(e._idleTimeoutId);
  1310.                     var t = e._idleTimeout;
  1311.                     t >= 0 && (e._idleTimeoutId = setTimeout(function () {
  1312.                                 e._onTimeout && e._onTimeout()
  1313.                             }, t))
  1314.                 },
  1315.                 t.setImmediate = "function" == typeof e ? e : function (e) {
  1316.                     var n = c++,
  1317.                     i = arguments.length < 2 ? !1 : s.call(arguments, 1);
  1318.                     return l[n] = !0,
  1319.                     o(function () {
  1320.                         l[n] && (i ? e.apply(null, i) : e.call(null), t.clearImmediate(n))
  1321.                     }),
  1322.                     n
  1323.                 },
  1324.                 t.clearImmediate = "function" == typeof i ? i : function (e) {
  1325.                     delete l[e]
  1326.                 }
  1327.             }).call(t, n(17).setImmediate, n(17).clearImmediate)
  1328.         }, function (e, t) {
  1329.             function n(e) {
  1330.                 for (var t = {
  1331.                         strictMode: !1,
  1332.                         key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
  1333.                         q: {
  1334.                             name: "queryKey",
  1335.                             parser: /(?:^|&)([^&=]*)=?([^&]*)/g
  1336.                         },
  1337.                         parser: {
  1338.                             strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
  1339.                             loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
  1340.                         }
  1341.                     }, n = t.parser[t.strictMode ? "strict" : "loose"].exec(e), i = {}, r = 14; r--; )
  1342.                     i[t.key[r]] = n[r] || "";
  1343.                 return i[t.q.name] = {},
  1344.                 i[t.key[12]].replace(t.q.parser, function (e, n, r) {
  1345.                     n && (i[t.q.name][n] = r)
  1346.                 }),
  1347.                 i
  1348.             }
  1349.             function i(e, t, n, i, r, o) {
  1350.                 var a,
  1351.                 s = null,
  1352.                 l = null,
  1353.                 c = new XMLHttpRequest;
  1354.                 "AJAX " + e.toUpperCase() + " " + t;
  1355.                 if (o = o !== !1, c.onreadystatechange = function () {
  1356.                     var e;
  1357.                     if (4 === c.readyState) {
  1358.                         if (clearTimeout(l), "json" === r && 200 === c.status)
  1359.                             try {
  1360.                                 s = JSON.parse(c.responseText)
  1361.                             } catch (t) {
  1362.                                 s = null
  1363.                             }
  1364.                         "function" == typeof n && (e = "xml" === r ? c.responseXML : "json" === r ? s : c.responseText, n(e, c.status, c))
  1365.                     }
  1366.                 }, c.open(e, t, o), i)
  1367.                     for (a in i)
  1368.                         i.hasOwnProperty(a) && c.setRequestHeader(a, i[a]);
  1369.                 return c.send(),
  1370.                 l = setTimeout(function () {
  1371.                         c.abort(),
  1372.                         "function" == typeof n && n(null, 0)
  1373.                     }, 6e4),
  1374.                 c
  1375.             }
  1376.             e.exports = {
  1377.                 ajax: i,
  1378.                 parseUri: n
  1379.             }
  1380.         }, function (e, t) {
  1381.             "use strict";
  1382.             e.exports = {
  1383.                 defaultSettings: {
  1384.                     safeSearch: 0,
  1385.                     quality: 0,
  1386.                     language: "ru",
  1387.                     languageOverwrite: 0,
  1388.                     keyboardLanguage: 1,
  1389.                     credentialsIndex: -1,
  1390.                     refreshToken: null,
  1391.                     sessionToken: null
  1392.                 },
  1393.                 settingsFile: "youtube.json",
  1394.                 logging: !1,
  1395.                 ajaxDebug: !1
  1396.             }
  1397.         }, function (e, t, n) {
  1398.             function i(e) {
  1399.                 return n(r(e))
  1400.             }
  1401.             function r(e) {
  1402.                 return o[e] || function () {
  1403.                     throw new Error("Cannot find module '" + e + "'.")
  1404.                 }
  1405.                 ()
  1406.             }
  1407.             var o = {
  1408.                 "./ar": 25,
  1409.                 "./ar.js": 25,
  1410.                 "./de": 26,
  1411.                 "./de.js": 26,
  1412.                 "./en": 27,
  1413.                 "./en.js": 27,
  1414.                 "./ru": 28,
  1415.                 "./ru.js": 28,
  1416.                 "./uk": 29,
  1417.                 "./uk.js": 29
  1418.             };
  1419.             i.keys = function () {
  1420.                 return Object.keys(o)
  1421.             },
  1422.             i.resolve = r,
  1423.             e.exports = i,
  1424.             i.id = 20
  1425.         }, function (e, t, n) {
  1426.             "use strict";
  1427.             var i = n(2),
  1428.             r = {
  1429.                 types: {
  1430.                     CATEGORY_HEADER: 1,
  1431.                     CATEGORY_ITEM: 2
  1432.                 },
  1433.                 content: {
  1434.                     data: [],
  1435.                     focusIndex: 1,
  1436.                     tabs: []
  1437.                 },
  1438.                 activeTab: 3
  1439.             };
  1440.             r.content.data.push({
  1441.                 disabled: !1,
  1442.                 onclick: function () {
  1443.                     i.navigate("ps")
  1444.                 },
  1445.                 type: r.types.CATEGORY_ITEM,
  1446.                 value: gettext("Search"),
  1447.                 id: -2,
  1448.                 className: "icon search"
  1449.             }),
  1450.             r.content.data.push({
  1451.                 disabled: !1,
  1452.                 tabIndex: 3,
  1453.                 type: r.types.CATEGORY_ITEM,
  1454.                 value: gettext("Main"),
  1455.                 id: -2,
  1456.                 className: "icon what-to-watch"
  1457.             }),
  1458.             r.content.data.push({
  1459.                 disabled: !1,
  1460.                 tabIndex: 2,
  1461.                 type: r.types.CATEGORY_ITEM,
  1462.                 value: gettext("Settings"),
  1463.                 id: -2,
  1464.                 className: "icon player-settings"
  1465.             }),
  1466.             e.exports = r
  1467.         }, function (e, t) {
  1468.             "use strict";
  1469.             e.exports = {
  1470.                 initPlayer: gSTB.InitPlayer,
  1471.                 saveUserData: gSTB.SaveUserData,
  1472.                 loadUserData: gSTB.LoadUserData,
  1473.                 setPosTime: gSTB.SetPosTime,
  1474.                 getPosTime: gSTB.GetPosTime,
  1475.                 play: gSTB.Play,
  1476.                 pause: gSTB.Pause,
  1477.                 continuePlay: gSTB.Continue,
  1478.                 getVolume: gSTB.GetVolume,
  1479.                 setVolume: gSTB.SetVolume,
  1480.                 setNativeStringMode: gSTB && gSTB.SetNativeStringMode ? gSTB.SetNativeStringMode : function () {},
  1481.                 setServiceButtonState: gSTB.EnableServiceButton,
  1482.                 setVKButtonState: gSTB.EnableVKButton,
  1483.                 setTvButtonState: gSTB.EnableTvButton,
  1484.                 setAppButtonState: gSTB.EnableAppButton,
  1485.                 hideVK: gSTB.HideVirtualKeyboard,
  1486.                 showVK: gSTB.ShowVirtualKeyboard,
  1487.                 getStandByStatus: gSTB.GetStandByStatus,
  1488.                 setStandByStatus: gSTB.StandBy,
  1489.                 getEnv: gSTB.GetEnv,
  1490.                 isMuted: gSTB.GetMute,
  1491.                 setMute: gSTB.SetMute,
  1492.                 deviceModel: gSTB.GetDeviceModelExt
  1493.             }
  1494.         }, function (e, t) {
  1495.             "use strict";
  1496.             e.exports = function (e, t) {
  1497.                 var n,
  1498.                 i,
  1499.                 r;
  1500.                 return e ? (i = e.match(/(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d).(\d\d\d)Z/), i.shift(), i.pop(), n = new Date(i[0], i[1] - 1, i[2], i[3], i[4], i[5]), n.setTime(t - n.getTime()), e = n.getTime(), n.getFullYear() > 1970 ? (r = n.getFullYear() - 1970, e = r + " " + ngettext("year", "years", +r) + " " + gettext("ago")) : n.getMonth() > 0 ? (r = n.getMonth() + 1, e = r + " " + ngettext("month", "months", +r) + " " + gettext("ago")) : n.getDate() > 1 ? (r = n.getDate(), e = r + " " + ngettext("day", "days", +r) + " " + gettext("ago")) : n.getHours() > 0 ? (r = n.getHours(), e = r + " " + ngettext("hour", "hours", +r) + " " + gettext("ago")) : n.getMinutes() > 0 ? (r = n.getMinutes(), e = r + " " + ngettext("minute", "minutes", +r) + " " + gettext("ago")) : (r = n.getSeconds(), e = r + " " + ngettext("second", "seconds", +r) + " " + gettext("ago")), e) : e
  1501.             }
  1502.         }, function (e, t, n) {
  1503.             "use strict";
  1504.             function i(e) {
  1505.                 e = e || {},
  1506.                 e.focusable = e.focusable || !1,
  1507.                 e.visible = e.visible || !1,
  1508.                 e.className = "widget " + (e.className || ""),
  1509.                 r.call(this, e)
  1510.             }
  1511.             var r = n(4);
  1512.             i.prototype = Object.create(r.prototype),
  1513.             i.prototype.constructor = i,
  1514.             e.exports = i
  1515.         }, function (e, t) {
  1516.             "use strict";
  1517.             e.exports = [[{
  1518.                         value: "ض",
  1519.                         className: "symbol"
  1520.                     }, {
  1521.                         value: "ص",
  1522.                         className: "symbol"
  1523.                     }, {
  1524.                         value: "ث",
  1525.                         className: "symbol"
  1526.                     }, {
  1527.                         value: "ق",
  1528.                         className: "symbol"
  1529.                     }, {
  1530.                         value: "ف",
  1531.                         className: "symbol"
  1532.                     }, {
  1533.                         value: "غ",
  1534.                         className: "symbol"
  1535.                     }, {
  1536.                         value: "ع",
  1537.                         className: "symbol"
  1538.                     }, {
  1539.                         value: "ه",
  1540.                         className: "symbol"
  1541.                     }, {
  1542.                         value: "خ",
  1543.                         className: "symbol"
  1544.                     }, {
  1545.                         value: "ح",
  1546.                         className: "symbol"
  1547.                     }, {
  1548.                         value: "ج",
  1549.                         className: "symbol"
  1550.                     }, {
  1551.                         value: "Delete",
  1552.                         className: "symbol delete wide",
  1553.                         colSpan: 2
  1554.                     }, {
  1555.                         value: "&nbsp;",
  1556.                         className: "icon keyDelete"
  1557.                     }
  1558.                 ], [{
  1559.                         value: "د",
  1560.                         className: "symbol"
  1561.                     }, {
  1562.                         value: "ش",
  1563.                         className: "symbol"
  1564.                     }, {
  1565.                         value: "س",
  1566.                         className: "symbol"
  1567.                     }, {
  1568.                         value: "ي",
  1569.                         className: "symbol"
  1570.                     }, {
  1571.                         value: "ب",
  1572.                         className: "symbol"
  1573.                     }, {
  1574.                         value: "ل",
  1575.                         className: "symbol"
  1576.                     }, {
  1577.                         value: "ا",
  1578.                         className: "symbol"
  1579.                     }, {
  1580.                         value: "ت",
  1581.                         className: "symbol"
  1582.                     }, {
  1583.                         value: "ن",
  1584.                         className: "symbol"
  1585.                     }, {
  1586.                         value: "ذ",
  1587.                         className: "symbol"
  1588.                     }, {
  1589.                         value: "م",
  1590.                         className: "symbol"
  1591.                     }, {
  1592.                         value: "ك",
  1593.                         className: "symbol"
  1594.                     }, {
  1595.                         value: "123",
  1596.                         className: "symbol nums wide"
  1597.                     }, {
  1598.                         value: "&nbsp;",
  1599.                         className: "keyGlobe"
  1600.                     }
  1601.                 ], [{
  1602.                         value: "ط",
  1603.                         className: "symbol"
  1604.                     }, {
  1605.                         value: "ئ",
  1606.                         className: "symbol"
  1607.                     }, {
  1608.                         value: "ء",
  1609.                         className: "symbol"
  1610.                     }, {
  1611.                         value: "ؤ",
  1612.                         className: "symbol"
  1613.                     }, {
  1614.                         value: "ر",
  1615.                         className: "symbol"
  1616.                     }, {
  1617.                         value: "لا",
  1618.                         className: "symbol"
  1619.                     }, {
  1620.                         value: "ى",
  1621.                         className: "symbol"
  1622.                     }, {
  1623.                         value: "ة",
  1624.                         className: "symbol"
  1625.                     }, {
  1626.                         value: "و",
  1627.                         className: "symbol"
  1628.                     }, {
  1629.                         value: "ز",
  1630.                         className: "symbol"
  1631.                     }, {
  1632.                         value: "ظ",
  1633.                         className: "symbol"
  1634.                     }, {
  1635.                         value: "&nbsp;",
  1636.                         className: "icon keySpace",
  1637.                         colSpan: 3
  1638.                     }
  1639.                 ]]
  1640.         }, function (e, t) {
  1641.             "use strict";
  1642.             e.exports = [[{
  1643.                         value: "q",
  1644.                         className: "symbol"
  1645.                     }, {
  1646.                         value: "w",
  1647.                         className: "symbol"
  1648.                     }, {
  1649.                         value: "e",
  1650.                         className: "symbol"
  1651.                     }, {
  1652.                         value: "r",
  1653.                         className: "symbol"
  1654.                     }, {
  1655.                         value: "t",
  1656.                         className: "symbol"
  1657.                     }, {
  1658.                         value: "z",
  1659.                         className: "symbol"
  1660.                     }, {
  1661.                         value: "u",
  1662.                         className: "symbol"
  1663.                     }, {
  1664.                         value: "i",
  1665.                         className: "symbol"
  1666.                     }, {
  1667.                         value: "o",
  1668.                         className: "symbol"
  1669.                     }, {
  1670.                         value: "p",
  1671.                         className: "symbol"
  1672.                     }, {
  1673.                         value: "ü",
  1674.                         className: "symbol"
  1675.                     }, {
  1676.                         value: "&nbsp;",
  1677.                         className: "icon keyDelete",
  1678.                         colSpan: 2
  1679.                     }
  1680.                 ], [{
  1681.                         value: "a",
  1682.                         className: "symbol"
  1683.                     }, {
  1684.                         value: "s",
  1685.                         className: "symbol"
  1686.                     }, {
  1687.                         value: "d",
  1688.                         className: "symbol"
  1689.                     }, {
  1690.                         value: "f",
  1691.                         className: "symbol"
  1692.                     }, {
  1693.                         value: "g",
  1694.                         className: "symbol"
  1695.                     }, {
  1696.                         value: "h",
  1697.                         className: "symbol"
  1698.                     }, {
  1699.                         value: "j",
  1700.                         className: "symbol"
  1701.                     }, {
  1702.                         value: "k",
  1703.                         className: "symbol"
  1704.                     }, {
  1705.                         value: "l",
  1706.                         className: "symbol"
  1707.                     }, {
  1708.                         value: "ö",
  1709.                         className: "symbol"
  1710.                     }, {
  1711.                         value: "ä",
  1712.                         className: "symbol"
  1713.                     }, {
  1714.                         value: "Delete",
  1715.                         className: "symbol delete",
  1716.                         colSpan: 2
  1717.                     }
  1718.                 ], [{
  1719.                         value: "y",
  1720.                         className: "symbol"
  1721.                     }, {
  1722.                         value: "x",
  1723.                         className: "symbol"
  1724.                     }, {
  1725.                         value: "c",
  1726.                         className: "symbol"
  1727.                     }, {
  1728.                         value: "v",
  1729.                         className: "symbol"
  1730.                     }, {
  1731.                         value: "b",
  1732.                         className: "symbol"
  1733.                     }, {
  1734.                         value: "n",
  1735.                         className: "symbol"
  1736.                     }, {
  1737.                         value: "m",
  1738.                         className: "symbol"
  1739.                     }, {
  1740.                         value: ".",
  1741.                         className: "symbol"
  1742.                     }, {
  1743.                         value: ",",
  1744.                         className: "symbol"
  1745.                     }, {
  1746.                         value: "/",
  1747.                         className: "symbol"
  1748.                     }, {
  1749.                         value: "@",
  1750.                         className: "symbol"
  1751.                     }, {
  1752.                         value: "123",
  1753.                         className: "symbol nums"
  1754.                     }, {
  1755.                         value: "&nbsp;",
  1756.                         className: "keyGlobe"
  1757.                     }
  1758.                 ], [{
  1759.                         value: "&nbsp;",
  1760.                         className: "icon keySpace",
  1761.                         colSpan: 13
  1762.                     }
  1763.                 ]]
  1764.         }, function (e, t) {
  1765.             "use strict";
  1766.             e.exports = [[{
  1767.                         value: "q",
  1768.                         className: "symbol"
  1769.                     }, {
  1770.                         value: "w",
  1771.                         className: "symbol"
  1772.                     }, {
  1773.                         value: "e",
  1774.                         className: "symbol"
  1775.                     }, {
  1776.                         value: "r",
  1777.                         className: "symbol"
  1778.                     }, {
  1779.                         value: "t",
  1780.                         className: "symbol"
  1781.                     }, {
  1782.                         value: "y",
  1783.                         className: "symbol"
  1784.                     }, {
  1785.                         value: "u",
  1786.                         className: "symbol"
  1787.                     }, {
  1788.                         value: "i",
  1789.                         className: "symbol"
  1790.                     }, {
  1791.                         value: "o",
  1792.                         className: "symbol"
  1793.                     }, {
  1794.                         value: "p",
  1795.                         className: "symbol"
  1796.                     }, {
  1797.                         value: "&nbsp;",
  1798.                         className: "icon keyDelete",
  1799.                         colSpan: 2
  1800.                     }
  1801.                 ], [{
  1802.                         value: "a",
  1803.                         className: "symbol"
  1804.                     }, {
  1805.                         value: "s",
  1806.                         className: "symbol"
  1807.                     }, {
  1808.                         value: "d",
  1809.                         className: "symbol"
  1810.                     }, {
  1811.                         value: "f",
  1812.                         className: "symbol"
  1813.                     }, {
  1814.                         value: "g",
  1815.                         className: "symbol"
  1816.                     }, {
  1817.                         value: "h",
  1818.                         className: "symbol"
  1819.                     }, {
  1820.                         value: "j",
  1821.                         className: "symbol"
  1822.                     }, {
  1823.                         value: "k",
  1824.                         className: "symbol"
  1825.                     }, {
  1826.                         value: "l",
  1827.                         className: "symbol"
  1828.                     }, {
  1829.                         value: "-",
  1830.                         className: "symbol"
  1831.                     }, {
  1832.                         value: "Delete",
  1833.                         className: "symbol delete",
  1834.                         colSpan: 2
  1835.                     }
  1836.                 ], [{
  1837.                         value: "z",
  1838.                         className: "symbol"
  1839.                     }, {
  1840.                         value: "x",
  1841.                         className: "symbol"
  1842.                     }, {
  1843.                         value: "c",
  1844.                         className: "symbol"
  1845.                     }, {
  1846.                         value: "v",
  1847.                         className: "symbol"
  1848.                     }, {
  1849.                         value: "b",
  1850.                         className: "symbol"
  1851.                     }, {
  1852.                         value: "n",
  1853.                         className: "symbol"
  1854.                     }, {
  1855.                         value: "m",
  1856.                         className: "symbol"
  1857.                     }, {
  1858.                         value: ",",
  1859.                         className: "symbol"
  1860.                     }, {
  1861.                         value: ".",
  1862.                         className: "symbol"
  1863.                     }, {
  1864.                         value: "/",
  1865.                         className: "symbol"
  1866.                     }, {
  1867.                         value: "123",
  1868.                         className: "symbol nums"
  1869.                     }, {
  1870.                         value: "&nbsp;",
  1871.                         className: "keyGlobe"
  1872.                     }
  1873.                 ], [{
  1874.                         value: "&nbsp;",
  1875.                         className: "icon keySpace",
  1876.                         colSpan: 12
  1877.                     }
  1878.                 ]]
  1879.         }, function (e, t) {
  1880.             "use strict";
  1881.             e.exports = [[{
  1882.                         value: "й",
  1883.                         className: "symbol"
  1884.                     }, {
  1885.                         value: "ц",
  1886.                         className: "symbol"
  1887.                     }, {
  1888.                         value: "у",
  1889.                         className: "symbol"
  1890.                     }, {
  1891.                         value: "к",
  1892.                         className: "symbol"
  1893.                     }, {
  1894.                         value: "е",
  1895.                         className: "symbol"
  1896.                     }, {
  1897.                         value: "н",
  1898.                         className: "symbol"
  1899.                     }, {
  1900.                         value: "г",
  1901.                         className: "symbol"
  1902.                     }, {
  1903.                         value: "ш",
  1904.                         className: "symbol"
  1905.                     }, {
  1906.                         value: "щ",
  1907.                         className: "symbol"
  1908.                     }, {
  1909.                         value: "з",
  1910.                         className: "symbol"
  1911.                     }, {
  1912.                         value: "х",
  1913.                         className: "symbol"
  1914.                     }, {
  1915.                         value: "ъ",
  1916.                         className: "symbol"
  1917.                     }, {
  1918.                         value: "&nbsp;",
  1919.                         className: "icon keyDelete",
  1920.                         colSpan: 2
  1921.                     }
  1922.                 ], [{
  1923.                         value: "ф",
  1924.                         className: "symbol"
  1925.                     }, {
  1926.                         value: "ы",
  1927.                         className: "symbol"
  1928.                     }, {
  1929.                         value: "в",
  1930.                         className: "symbol"
  1931.                     }, {
  1932.                         value: "а",
  1933.                         className: "symbol"
  1934.                     }, {
  1935.                         value: "п",
  1936.                         className: "symbol"
  1937.                     }, {
  1938.                         value: "р",
  1939.                         className: "symbol"
  1940.                     }, {
  1941.                         value: "о",
  1942.                         className: "symbol"
  1943.                     }, {
  1944.                         value: "л",
  1945.                         className: "symbol"
  1946.                     }, {
  1947.                         value: "д",
  1948.                         className: "symbol"
  1949.                     }, {
  1950.                         value: "ж",
  1951.                         className: "symbol"
  1952.                     }, {
  1953.                         value: "э",
  1954.                         className: "symbol"
  1955.                     }, {
  1956.                         value: "/",
  1957.                         className: "symbol"
  1958.                     }, {
  1959.                         value: "Удалить",
  1960.                         className: "symbol delete",
  1961.                         colSpan: 2
  1962.                     }
  1963.                 ], [{
  1964.                         value: "я",
  1965.                         className: "symbol"
  1966.                     }, {
  1967.                         value: "ч",
  1968.                         className: "symbol"
  1969.                     }, {
  1970.                         value: "с",
  1971.                         className: "symbol"
  1972.                     }, {
  1973.                         value: "м",
  1974.                         className: "symbol"
  1975.                     }, {
  1976.                         value: "и",
  1977.                         className: "symbol"
  1978.                     }, {
  1979.                         value: "т",
  1980.                         className: "symbol"
  1981.                     }, {
  1982.                         value: "ь",
  1983.                         className: "symbol"
  1984.                     }, {
  1985.                         value: "б",
  1986.                         className: "symbol"
  1987.                     }, {
  1988.                         value: "ю",
  1989.                         className: "symbol"
  1990.                     }, {
  1991.                         value: "ё",
  1992.                         className: "symbol"
  1993.                     }, {
  1994.                         value: ".",
  1995.                         className: "symbol"
  1996.                     }, {
  1997.                         value: ",",
  1998.                         className: "symbol"
  1999.                     }, {
  2000.                         value: "123",
  2001.                         className: "symbol nums"
  2002.                     }, {
  2003.                         value: "&nbsp;",
  2004.                         className: "keyGlobe"
  2005.                     }
  2006.                 ], [{
  2007.                         value: "&nbsp;",
  2008.                         className: "icon keySpace",
  2009.                         colSpan: 14
  2010.                     }
  2011.                 ]]
  2012.         }, function (e, t) {
  2013.             "use strict";
  2014.             e.exports = [[{
  2015.                         value: "й",
  2016.                         className: "symbol"
  2017.                     }, {
  2018.                         value: "ц",
  2019.                         className: "symbol"
  2020.                     }, {
  2021.                         value: "у",
  2022.                         className: "symbol"
  2023.                     }, {
  2024.                         value: "к",
  2025.                         className: "symbol"
  2026.                     }, {
  2027.                         value: "е",
  2028.                         className: "symbol"
  2029.                     }, {
  2030.                         value: "н",
  2031.                         className: "symbol"
  2032.                     }, {
  2033.                         value: "г",
  2034.                         className: "symbol"
  2035.                     }, {
  2036.                         value: "ш",
  2037.                         className: "symbol"
  2038.                     }, {
  2039.                         value: "щ",
  2040.                         className: "symbol"
  2041.                     }, {
  2042.                         value: "з",
  2043.                         className: "symbol"
  2044.                     }, {
  2045.                         value: "х",
  2046.                         className: "symbol"
  2047.                     }, {
  2048.                         value: "ї",
  2049.                         className: "symbol"
  2050.                     }, {
  2051.                         value: "&nbsp;",
  2052.                         className: "icon keyDelete",
  2053.                         colSpan: 2
  2054.                     }
  2055.                 ], [{
  2056.                         value: "ф",
  2057.                         className: "symbol"
  2058.                     }, {
  2059.                         value: "і",
  2060.                         className: "symbol"
  2061.                     }, {
  2062.                         value: "в",
  2063.                         className: "symbol"
  2064.                     }, {
  2065.                         value: "а",
  2066.                         className: "symbol"
  2067.                     }, {
  2068.                         value: "п",
  2069.                         className: "symbol"
  2070.                     }, {
  2071.                         value: "р",
  2072.                         className: "symbol"
  2073.                     }, {
  2074.                         value: "о",
  2075.                         className: "symbol"
  2076.                     }, {
  2077.                         value: "л",
  2078.                         className: "symbol"
  2079.                     }, {
  2080.                         value: "д",
  2081.                         className: "symbol"
  2082.                     }, {
  2083.                         value: "ж",
  2084.                         className: "symbol"
  2085.                     }, {
  2086.                         value: "є",
  2087.                         className: "symbol"
  2088.                     }, {
  2089.                         value: "/",
  2090.                         className: "symbol"
  2091.                     }, {
  2092.                         value: "Удалить",
  2093.                         className: "symbol delete",
  2094.                         colSpan: 2
  2095.                     }
  2096.                 ], [{
  2097.                         value: "ґ",
  2098.                         className: "symbol"
  2099.                     }, {
  2100.                         value: "я",
  2101.                         className: "symbol"
  2102.                     }, {
  2103.                         value: "ч",
  2104.                         className: "symbol"
  2105.                     }, {
  2106.                         value: "с",
  2107.                         className: "symbol"
  2108.                     }, {
  2109.                         value: "м",
  2110.                         className: "symbol"
  2111.                     }, {
  2112.                         value: "и",
  2113.                         className: "symbol"
  2114.                     }, {
  2115.                         value: "т",
  2116.                         className: "symbol"
  2117.                     }, {
  2118.                         value: "ь",
  2119.                         className: "symbol"
  2120.                     }, {
  2121.                         value: "б",
  2122.                         className: "symbol"
  2123.                     }, {
  2124.                         value: "ю",
  2125.                         className: "symbol"
  2126.                     }, {
  2127.                         value: ".",
  2128.                         className: "symbol"
  2129.                     }, {
  2130.                         value: ",",
  2131.                         className: "symbol"
  2132.                     }, {
  2133.                         value: "123",
  2134.                         className: "symbol nums"
  2135.                     }, {
  2136.                         value: "&nbsp;",
  2137.                         className: "keyGlobe"
  2138.                     }
  2139.                 ], [{
  2140.                         value: "&nbsp;",
  2141.                         className: "icon keySpace",
  2142.                         colSpan: 14
  2143.                     }
  2144.                 ]]
  2145.         }, function (e, t, n) {
  2146.             "use strict";
  2147.             var i = n(11),
  2148.             r = n(5),
  2149.             o = n(9),
  2150.             a = n(32),
  2151.             s = new r;
  2152.             s.activeCategory = {},
  2153.             s.pages = {},
  2154.             s.ownChannel = null,
  2155.             s.cacheKey = function (e) {
  2156.                 return "c:" + e.category.id + ";p:" + e.page
  2157.             },
  2158.             s.getPage = function (e) {
  2159.                 var t,
  2160.                 n,
  2161.                 r = this;
  2162.                 return e.page = +e.page || 0,
  2163.                 e.category = e.category || this.activeCategory,
  2164.                 new i(function (i, s) {
  2165.                     if (t = a.get(r.cacheKey(e)))
  2166.                         i(t);
  2167.                     else {
  2168.                         if (n = "channels?part=snippet&categoryId=" + e.category.id + "&maxResults=" + e.count, e.page) {
  2169.                             if (!r.pages[e.page])
  2170.                                 return r.activeCategory.totalResults === e.page ? void s("overflow") : void s("no page");
  2171.                             n += "&pageToken=" + r.pages[e.page]
  2172.                         }
  2173.                         o.request("GET", n).then(function (t) {
  2174.                             var n,
  2175.                             o,
  2176.                             s = [];
  2177.                             for (t = JSON.parse(t), t.pageInfo.totalResults && (r.activeCategory.totalResults = t.pageInfo.totalResults), t.nextPageToken && (r.pages[e.page + 1] = t.nextPageToken), t.prevPageToken && (r.pages[e.page - 1] = t.prevPageToken), t = t.items, o = t.length, n = 0; o > n; ++n)
  2178.                                 s.push({
  2179.                                     value: t[n].id,
  2180.                                     id: t[n].id,
  2181.                                     title: t[n].snippet.localized.title,
  2182.                                     icon: t[n].snippet.thumbnails.high.url
  2183.                                 });
  2184.                             a.set(r.cacheKey(e), s, 3e5),
  2185.                             i(s)
  2186.                         })["catch"](function (e) {})
  2187.                     }
  2188.                 })
  2189.             },
  2190.             s.getInfo = function (e) {
  2191.                 return new i(function (t, n) {
  2192.                     o.request("GET", "channels?part=snippet&id=" + e).then(function (e) {
  2193.                         t(JSON.parse(e).items)
  2194.                     }, n)
  2195.                 })
  2196.             },
  2197.             s.getMine = function () {
  2198.                 return new i(function (e, t) {
  2199.                     null !== s.ownChannel ? e(s.ownChannel) : o.request("GET", "channels?part=snippet&mine=true").then(function (t) {
  2200.                         s.ownChannel = JSON.parse(t).items[0],
  2201.                         s.ownChannel.title = s.ownChannel.snippet.title,
  2202.                         s.ownChannel.icon = s.ownChannel.snippet.thumbnails["default"].url,
  2203.                         o.ownChannel = s.ownChannel,
  2204.                         e(s.ownChannel)
  2205.                     }, t)
  2206.                 })
  2207.             },
  2208.             s.setActiveCategory = function (e) {
  2209.                 return e && this.activeCategory.id !== e.id ? (this.activeCategory = e, this.pages = {}, void 0 !== this.events["category:changed"] && this.emit("category:changed", e), !0) : !1
  2210.             },
  2211.             e.exports = s
  2212.         }, function (e, t, n) {
  2213.             "use strict";
  2214.             var i = n(5),
  2215.             r = new i;
  2216.             r.data = {
  2217.                 quality: [gettext("Best"), "720p", "480p", "360p", "240p"],
  2218.                 safeSearch: [gettext("Off"), gettext("On")]
  2219.             },
  2220.             r.getNext = function (e, t) {
  2221.                 return r.data[e] && r.data[e][t] ? (++t, r.data[e].length === t && (t = 0), this.emit("changed", {
  2222.                         key: e,
  2223.                         value: r.data[e][t],
  2224.                         index: t
  2225.                     }), {
  2226.                     value: r.data[e][t],
  2227.                     index: t
  2228.                 }) : void 0
  2229.             },
  2230.             e.exports = r
  2231.         }, function (e, t, n) {
  2232.             "use strict";
  2233.             var i = {
  2234.                 store: {},
  2235.                 size: 0,
  2236.                 set: function (e, t, n) {
  2237.                     var i,
  2238.                     r,
  2239.                     o = this;
  2240.                     r = this.store[e] ? this.store[e] : void 0,
  2241.                     r && r.timeout && clearTimeout(r.timeout),
  2242.                     i = {
  2243.                         value: t,
  2244.                         timeout: -1
  2245.                     },
  2246.                     "number" == typeof n && (i.timeout = setTimeout(function () {
  2247.                                 o.remove(e)
  2248.                             }, n)),
  2249.                     this.store[e] = i,
  2250.                     ++this.size
  2251.                 },
  2252.                 get: function (e, t) {
  2253.                     return this.store[e] ? "function" != typeof t ? this.store[e].value : void t(this.store[e].value) : !1
  2254.                 },
  2255.                 remove: function (e) {
  2256.                     --this.size,
  2257.                     this.store[e] = null
  2258.                 },
  2259.                 clear: function () {
  2260.                     var e = this.size;
  2261.                     return this.store = {},
  2262.                     e
  2263.                 }
  2264.             };
  2265.             e.exports = i
  2266.         }, function (module, exports, __webpack_require__) {
  2267.             "use strict";
  2268.             var Emitter = __webpack_require__(5),
  2269.             gettext = new Emitter,
  2270.             meta = null,
  2271.             data = null;
  2272.             gettext.load = function (e, t) {
  2273.                 var n = new XMLHttpRequest;
  2274.                 e.ext = e.ext || "json",
  2275.                 e.path = e.path || "lang",
  2276.                 n.responseType = "text",
  2277.                 n.onload = function () {
  2278.                     var e;
  2279.                     try {
  2280.                         e = JSON.parse(n.responseText),
  2281.                         meta = e.meta,
  2282.                         data = e.data,
  2283.                         t(null, data)
  2284.                     } catch (i) {
  2285.                         meta = null,
  2286.                         data = null,
  2287.                         n.onerror(i)
  2288.                     }
  2289.                     gettext.events.load && gettext.emit("load")
  2290.                 },
  2291.                 n.onerror = function (e) {
  2292.                     t(e),
  2293.                     gettext.events.error && gettext.emit("error")
  2294.                 },
  2295.                 n.open("GET", e.path + "/" + e.name + "." + e.ext, !0),
  2296.                 n.send(null)
  2297.             },
  2298.             window.gettext = function (e) {
  2299.                 return data && data[""][e] ? data[""][e] : e
  2300.             },
  2301.             window.pgettext = function (e, t) {
  2302.                 return data && data[e][t] ? data[e][t] : t
  2303.             },
  2304.             window.ngettext = function (msgId, plural, value) {
  2305.                 return data && meta ? data[""][msgId][eval("var n = " + value + "; " + meta.plural)] : 1 === value ? msgId : plural
  2306.             },
  2307.             module.exports = gettext
  2308.         }, function (e, t, n) {
  2309.             "use strict";
  2310.             function i(e) {
  2311.                 e = e || {},
  2312.                 this.value = "",
  2313.                 this.type = this.TYPE_TEXT,
  2314.                 e.className = "input " + (e.className || ""),
  2315.                 r.call(this, e),
  2316.                 this.$line = this.$body.appendChild(document.createElement("div")),
  2317.                 this.$line.className = "line",
  2318.                 this.$caret = this.$line.appendChild(document.createElement("div")),
  2319.                 this.$caret.className = "caret",
  2320.                 this.$placeholder = this.$line.appendChild(document.createElement("div")),
  2321.                 this.$placeholder.className = "placeholder",
  2322.                 this.$caret.index = 0,
  2323.                 this.init(e)
  2324.             }
  2325.             var r = n(4),
  2326.             o = n(1);
  2327.             i.prototype = Object.create(r.prototype),
  2328.             i.prototype.constructor = i,
  2329.             i.prototype.TYPE_TEXT = 0,
  2330.             i.prototype.TYPE_PASSWORD = 1,
  2331.             i.prototype.defaultEvents = {
  2332.                 keypress: function (e) {
  2333.                     this.addChar(String.fromCharCode(e.keyCode), this.$caret.index)
  2334.                 },
  2335.                 keydown: function (e) {
  2336.                     switch (e.code) {
  2337.                     case o["delete"]:
  2338.                         this.removeChar(this.$caret.index);
  2339.                         break;
  2340.                     case o.back:
  2341.                         this.removeChar(this.$caret.index - 1);
  2342.                         break;
  2343.                     case o.left:
  2344.                         this.setCaretPosition(this.$caret.index - 1);
  2345.                         break;
  2346.                     case o.right:
  2347.                         this.setCaretPosition(this.$caret.index + 1);
  2348.                         break;
  2349.                     case o.end:
  2350.                     case o.down:
  2351.                         this.setCaretPosition(this.value.length);
  2352.                         break;
  2353.                     case o.home:
  2354.                     case o.up:
  2355.                         this.setCaretPosition(0)
  2356.                     }
  2357.                 }
  2358.             },
  2359.             i.prototype.init = function (e) {
  2360.                 e.type && (this.type = e.type),
  2361.                 e.value && this.setValue(e.value),
  2362.                 e.placeholder && (this.$placeholder.innerText = e.placeholder),
  2363.                 this.$line.dir = e.direction || "ltr"
  2364.             },
  2365.             i.prototype.addChar = function (e, t) {
  2366.                 var n = document.createElement("div");
  2367.                 t = void 0 === t ? this.$caret.index : t,
  2368.                 0 === this.value.length && this.$line.removeChild(this.$placeholder),
  2369.                 n.className = "char",
  2370.                 this.value = this.value.substring(0, t) + e + this.value.substring(t, this.value.length),
  2371.                 ++this.$caret.index,
  2372.                 this.type === this.TYPE_PASSWORD ? n.innerText = "*" : " " === e ? n.innerHTML = "&nbsp;" : n.innerText = e,
  2373.                 t >= this.value.length ? (this.$line.appendChild(n), this.$line.appendChild(this.$caret)) : (this.$line.insertBefore(this.$caret, this.$line.children[t]), this.$line.insertBefore(n, this.$caret)),
  2374.                 this.events.input && this.emit("input", {
  2375.                     value: this.value
  2376.                 })
  2377.             },
  2378.             i.prototype.removeChar = function (e) {
  2379.                 var t = this.value;
  2380.                 e = void 0 === e ? this.$caret.index - 1 : e,
  2381.                 this.value.length > 0 && (this.$caret.index === e && e < this.value.length ? this.$line.removeChild(this.$line.children[e + 1]) : this.$caret.index > e && (--this.$caret.index, this.$line.removeChild(this.$line.children[e])), this.value = this.value.substring(0, e) + this.value.substring(e + 1, this.value.length), this.events.input && t !== this.value && this.emit("input", {
  2382.                         value: this.value
  2383.                     })),
  2384.                 0 === this.value.length && this.$line.appendChild(this.$placeholder)
  2385.             },
  2386.             i.prototype.setCaretPosition = function (e) {
  2387.                 e >= 0 && e <= this.value.length && this.$caret.index !== e && (this.$line.removeChild(this.$caret), e === this.value.length ? this.$line.appendChild(this.$caret) : this.$line.insertBefore(this.$caret, this.$line.children[e]), this.$caret.index = e)
  2388.             },
  2389.             i.prototype.setValue = function (e) {
  2390.                 var t,
  2391.                 n,
  2392.                 i = this.value.length,
  2393.                 r = e.length,
  2394.                 o = 0;
  2395.                 if (e !== this.value) {
  2396.                     if (r > 0) {
  2397.                         if (this.$placeholder.parentNode === this.$line && this.$line.removeChild(this.$placeholder), this.$line.removeChild(this.$caret), r !== i)
  2398.                             if (n = r - i, n > 0)
  2399.                                 for (o = 0; n > o; o++)
  2400.                                     t = this.$line.appendChild(document.createElement("div")), t.className = "char";
  2401.                             else
  2402.                                 for (o = 0; o > n; o--)
  2403.                                     this.$line.removeChild(this.$line.lastChild);
  2404.                         for (o = 0; r > o; o++)
  2405.                             t = this.$line.children[o], this.type === this.TYPE_PASSWORD ? t.innerHTML = "*" : " " === e[o] ? t.innerHTML = "&nbsp;" : t.innerText = e[o];
  2406.                         this.value = e,
  2407.                         this.$caret.index = r,
  2408.                         this.$line.appendChild(this.$caret)
  2409.                     } else
  2410.                         this.value = "", this.$line.innerText = "", this.$line.appendChild(this.$caret), this.$line.appendChild(this.$placeholder);
  2411.                     this.events.input && this.emit("input", {
  2412.                         value: this.value
  2413.                     })
  2414.                 }
  2415.             },
  2416.             e.exports = i
  2417.         }, function (e, t, n) {
  2418.             "use strict";
  2419.             function i(e) {
  2420.                 e = e || {},
  2421.                 e.className = "modalMessage " + (e.className || ""),
  2422.                 r.call(this, e),
  2423.                 this.$header = this.$body.appendChild(document.createElement("div")),
  2424.                 this.$content = this.$body.appendChild(document.createElement("div")),
  2425.                 this.$footer = this.$body.appendChild(document.createElement("div")),
  2426.                 this.$header.className = "header",
  2427.                 this.$content.className = "content",
  2428.                 this.$footer.className = "footer",
  2429.                 this.$header.innerText = "header",
  2430.                 this.$content.innerText = "content",
  2431.                 this.$footer.innerText = "footer"
  2432.             }
  2433.             var r = n(70);
  2434.             i.prototype = Object.create(r.prototype),
  2435.             i.prototype.constructor = i,
  2436.             e.exports = i
  2437.         }, function (e, t) {
  2438.             "use strict";
  2439.             e.exports = {
  2440.                 480: {
  2441.                     height: 480,
  2442.                     width: 720,
  2443.                     availTop: 24,
  2444.                     availBottom: 24,
  2445.                     availRight: 32,
  2446.                     availLeft: 48,
  2447.                     mainMenuSize: 8
  2448.                 },
  2449.                 576: {
  2450.                     height: 576,
  2451.                     width: 720,
  2452.                     availTop: 24,
  2453.                     availBottom: 24,
  2454.                     availRight: 28,
  2455.                     availLeft: 54,
  2456.                     mainMenuSize: 10
  2457.                 },
  2458.                 720: {
  2459.                     height: 720,
  2460.                     width: 1280,
  2461.                     availTop: 10,
  2462.                     availBottom: 10,
  2463.                     availRight: 10,
  2464.                     availLeft: 10,
  2465.                     mainMenuSize: 9
  2466.                 },
  2467.                 1080: {
  2468.                     height: 1080,
  2469.                     width: 1920,
  2470.                     availTop: 15,
  2471.                     availBottom: 15,
  2472.                     availRight: 15,
  2473.                     availLeft: 15,
  2474.                     mainMenuSize: 9
  2475.                 }
  2476.             }
  2477.         }, function (e, t) {
  2478.             "use strict";
  2479.             e.exports = {
  2480.                 parse: function (e) {
  2481.                     var t = {};
  2482.                     return e.split("&").forEach(function (e) {
  2483.                         e = e.split("="),
  2484.                         2 === e.length && (t[e[0]] = decodeURIComponent(e[1]))
  2485.                     }),
  2486.                     t
  2487.                 },
  2488.                 stringify: function (e) {
  2489.                     var t = [];
  2490.                     return Object.keys(e).forEach(function (n) {
  2491.                         t.push(n + "=" + encodeURIComponent(e[n]))
  2492.                     }),
  2493.                     t.join("&")
  2494.                 }
  2495.             }
  2496.         }, function (e, t) {
  2497.             function n() {
  2498.                 c && a && (c = !1, a.length ? l = a.concat(l) : u = -1, l.length && i())
  2499.             }
  2500.             function i() {
  2501.                 if (!c) {
  2502.                     var e = setTimeout(n);
  2503.                     c = !0;
  2504.                     for (var t = l.length; t; ) {
  2505.                         for (a = l, l = []; ++u < t; )
  2506.                             a && a[u].run();
  2507.                         u = -1,
  2508.                         t = l.length
  2509.                     }
  2510.                     a = null,
  2511.                     c = !1,
  2512.                     clearTimeout(e)
  2513.                 }
  2514.             }
  2515.             function r(e, t) {
  2516.                 this.fun = e,
  2517.                 this.array = t
  2518.             }
  2519.             function o() {}
  2520.             var a,
  2521.             s = e.exports = {},
  2522.             l = [],
  2523.             c = !1,
  2524.             u = -1;
  2525.             s.nextTick = function (e) {
  2526.                 var t = new Array(arguments.length - 1);
  2527.                 if (arguments.length > 1)
  2528.                     for (var n = 1; n < arguments.length; n++)
  2529.                         t[n - 1] = arguments[n];
  2530.                 l.push(new r(e, t)),
  2531.                 1 !== l.length || c || setTimeout(i, 0)
  2532.             },
  2533.             r.prototype.run = function () {
  2534.                 this.fun.apply(null, this.array)
  2535.             },
  2536.             s.title = "browser",
  2537.             s.browser = !0,
  2538.             s.env = {},
  2539.             s.argv = [],
  2540.             s.version = "",
  2541.             s.versions = {},
  2542.             s.on = o,
  2543.             s.addListener = o,
  2544.             s.once = o,
  2545.             s.off = o,
  2546.             s.removeListener = o,
  2547.             s.removeAllListeners = o,
  2548.             s.emit = o,
  2549.             s.binding = function (e) {
  2550.                 throw new Error("process.binding is not supported")
  2551.             },
  2552.             s.cwd = function () {
  2553.                 return "/"
  2554.             },
  2555.             s.chdir = function (e) {
  2556.                 throw new Error("process.chdir is not supported")
  2557.             },
  2558.             s.umask = function () {
  2559.                 return 0
  2560.             }
  2561.         }, function (e, t, n) {
  2562.             "use strict";
  2563.             var i = n(37).parse;
  2564.             e.exports = function () {
  2565.                 var e = i(location.search.substring(1));
  2566.                 return e.referrer ? e.referrer : document.referrer ? location.href.split("#")[0] === document.referrer ? !1 : document.referrer : !1
  2567.             }
  2568.         }, function (e, t, n) {
  2569.             "use strict";
  2570.             function i(e) {
  2571.                 var t = this;
  2572.                 this.value = "",
  2573.                 this.type = this.TYPE_TEXT,
  2574.                 this.type = this.TYPE_TEXT,
  2575.                 this.direction = "ltr",
  2576.                 this.noprevent = !0,
  2577.                 e = e || {},
  2578.                 e.className = "inputNative " + (e.className || ""),
  2579.                 r.call(this, e),
  2580.                 this.init(e),
  2581.                 this.addListener("keydown", function (e) {
  2582.                     e.code === o.back && (e.stop = !0)
  2583.                 }),
  2584.                 this.$body.addEventListener("input", function (e) {
  2585.                     t.value = t.$body.value,
  2586.                     void 0 !== t.events.input && t.emit("input", {
  2587.                         value: t.$body.value
  2588.                     })
  2589.                 }),
  2590.                 this.addListener("focus", function () {
  2591.                     t.$body.focus()
  2592.                 }),
  2593.                 this.addListener("blur", function () {
  2594.                     t.$body.blur()
  2595.                 })
  2596.             }
  2597.             var r = n(4),
  2598.             o = n(1);
  2599.             i.prototype = Object.create(r.prototype),
  2600.             i.prototype.constructor = i,
  2601.             i.prototype.init = function (e) {
  2602.                 void 0 !== e.type && (this.$body.type = this.type = e.type),
  2603.                 void 0 !== e.value && (this.$body.value = this.value = e.value),
  2604.                 void 0 !== e.placeholder && (this.$body.placeholder = e.placeholder),
  2605.                 void 0 !== e.direction && (this.$node.dir = this.direction = e.direction)
  2606.             },
  2607.             i.prototype.addChar = function (e, t) {
  2608.                 t = void 0 === t ? this.value.length : t,
  2609.                 this.value = this.value.substring(0, t) + e + this.value.substring(t, this.value.length),
  2610.                 this.$body.value = this.value,
  2611.                 void 0 !== this.events.input && this.emit("input", {
  2612.                     value: this.value
  2613.                 })
  2614.             },
  2615.             i.prototype.removeChar = function (e) {
  2616.                 e = void 0 === e ? this.value.length - 1 : e,
  2617.                 this.value.length > 0 && (this.value = this.value.substring(0, e) + this.value.substring(e + 1, this.value.length), this.$body.value = this.value, void 0 !== this.events.input && this.emit("input", {
  2618.                         value: this.value
  2619.                     })),
  2620.                 this.$body.value = this.value
  2621.             },
  2622.             i.prototype.setCaretPosition = function (e) {
  2623.                 this.$body.setSelectionRange(e, e)
  2624.             },
  2625.             i.prototype.getCaretPosition = function () {
  2626.                 return this.$body.selectionStart
  2627.             },
  2628.             i.prototype.setValue = function (e) {
  2629.                 this.$body.value !== e && (this.$body.value = e, void 0 !== this.events.input && this.emit("input", {
  2630.                         value: this.value
  2631.                     }))
  2632.             },
  2633.             e.exports = i
  2634.         }, function (e, t, n) {
  2635.             "use strict";
  2636.             function i(e, t) {
  2637.                 var n = 1 ^ e;
  2638.                 N || (t ? (N = !0, d.getPage({
  2639.                             page: x - 1,
  2640.                             count: 1
  2641.                         }).then(function (t) {
  2642.                             --x,
  2643.                             --I,
  2644.                             p[n].model.init({
  2645.                                 channel: t[0]
  2646.                             }),
  2647.                             T = n,
  2648.                             E = e,
  2649.                             m = n
  2650.                         }, function (e) {})) : (N = !0, d.getPage({
  2651.                             page: I + 1,
  2652.                             count: 1
  2653.                         }).then(function (t) {
  2654.                             ++x,
  2655.                             ++I,
  2656.                             p[e].model.init({
  2657.                                 channel: t[0]
  2658.                             }),
  2659.                             T = n,
  2660.                             E = e,
  2661.                             m = n
  2662.                         }, function (t) {
  2663.                             N = !1,
  2664.                             "overflow" === t && (++x, ++I, p[e].model.init({
  2665.                                     channel: {
  2666.                                         id: "!",
  2667.                                         title: ""
  2668.                                     }
  2669.                                 }), p[e].data = [{
  2670.                                         id: "",
  2671.                                         value: "",
  2672.                                         publishedAt: "",
  2673.                                         icon: "",
  2674.                                         duration: "",
  2675.                                         title: "",
  2676.                                         channelTitle: "",
  2677.                                         viewCount: "",
  2678.                                         locale: {
  2679.                                             publishedAt: "",
  2680.                                             viewCount: "",
  2681.                                             channelTitle: ""
  2682.                                         }
  2683.                                     }
  2684.                                 ], p[e].viewIndex = null, p[e].renderView(0), p[e].focusIndex(0), p[e].$title.innerHTML = "", T = n, E = e, m = n, p[T].$node.style.top = w, p[E].$node.style.top = b, p[m].focus())
  2685.                         })))
  2686.             }
  2687.             var r = n(1),
  2688.             o = n(2),
  2689.             a = n(12),
  2690.             s = n(6),
  2691.             l = n(34),
  2692.             c = n(13),
  2693.             u = n(51),
  2694.             d = n(30),
  2695.             h = n(14),
  2696.             p = [],
  2697.             f = document.getElementById("pm"),
  2698.             m = 0,
  2699.             g = new a({
  2700.                     $node: document.getElementById("pmTabCategoryContent"),
  2701.                     visible: !1,
  2702.                     events: {
  2703.                         focus: function () {
  2704.                             p[m].focus()
  2705.                         },
  2706.                         show: function () {
  2707.                             f.style.backgroundImage = ""
  2708.                         }
  2709.                     }
  2710.                 }),
  2711.             v = new l({
  2712.                     $node: document.getElementById("pmCategorySearch"),
  2713.                     $body: document.getElementById("pmCategorySearchBody"),
  2714.                     events: {
  2715.                         focus: function () {
  2716.                             this.setValue(""),
  2717.                             o.navigate("ps")
  2718.                         }
  2719.                     }
  2720.                 }),
  2721.             y = n(8),
  2722.             b = 0,
  2723.             w = 0,
  2724.             T = 0,
  2725.             E = 1,
  2726.             x = 0,
  2727.             I = 1,
  2728.             S = -1,
  2729.             N = !0;
  2730.             d.addListener("category:changed", function () {
  2731.                 clearTimeout(S),
  2732.                 S = setTimeout(function () {
  2733.                         y.hide()
  2734.                     }, 1e4),
  2735.                 0 === p.length && (p.push(new c({
  2736.                             $node: document.getElementById("pmListCategoryVideos0Node"),
  2737.                             $body: document.getElementById("pmListCategoryVideos0Body"),
  2738.                             $title: document.getElementById("pmCategoryChannelTitle0"),
  2739.                             model: new u({
  2740.                                 type: "video"
  2741.                             }),
  2742.                             size: 5,
  2743.                             viewIndex: 0,
  2744.                             focusIndex: 0,
  2745.                             type: s.prototype.TYPE_HORIZONTAL,
  2746.                             events: {
  2747.                                 overflow: function (e) {
  2748.                                     e.direction === r.left && h.focus()
  2749.                                 },
  2750.                                 "view:ready": function () {
  2751.                                     p[T].$node.style.top = w,
  2752.                                     p[E] && (p[E].$node.style.top = b),
  2753.                                     this.$title.innerHTML = this.model.channel.title,
  2754.                                     this.show(),
  2755.                                     y.hide(),
  2756.                                     clearTimeout(S),
  2757.                                     p[m].focus(),
  2758.                                     N = !1
  2759.                                 },
  2760.                                 "view:error": function (e) {
  2761.                                     N = !1,
  2762.                                     "empty" === e ? (this.data = [{
  2763.                                                 id: "",
  2764.                                                 value: "",
  2765.                                                 publishedAt: "",
  2766.                                                 icon: "img/no.image.png",
  2767.                                                 duration: "",
  2768.                                                 title: gettext("No videos"),
  2769.                                                 channelTitle: "",
  2770.                                                 viewCount: "",
  2771.                                                 locale: {
  2772.                                                     publishedAt: "",
  2773.                                                     viewCount: "",
  2774.                                                     channelTitle: ""
  2775.                                                 }
  2776.                                             }
  2777.                                         ], this.viewIndex = null, this.renderView(0), this.focusIndex(0), g.focusEntry = p[m], p[T].$node.style.top = w, p[E] && (p[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, this.show(), y.hide(), clearTimeout(S), p[m].focus()) : 0 === x && i(0, !1)
  2778.                                 },
  2779.                                 "click:item": function (e) {
  2780.                                     e.$item.data.id && o.navigate("pp", {
  2781.                                         channel: this.model.channel,
  2782.                                         video: e.$item.data,
  2783.                                         playlist: this.data,
  2784.                                         position: e.$item.index
  2785.                                     })
  2786.                                 }
  2787.                             }
  2788.                         })), p.push(new c({
  2789.                             $node: document.getElementById("pmListCategoryVideos1Node"),
  2790.                             $body: document.getElementById("pmListCategoryVideos1Body"),
  2791.                             $title: document.getElementById("pmCategoryChannelTitle1"),
  2792.                             model: new u({
  2793.                                 type: "video"
  2794.                             }),
  2795.                             size: 5,
  2796.                             viewIndex: 0,
  2797.                             focusIndex: 0,
  2798.                             type: s.prototype.TYPE_HORIZONTAL,
  2799.                             events: {
  2800.                                 overflow: function (e) {
  2801.                                     e.direction === r.left && (h.focus(), g.focusEntry = this)
  2802.                                 },
  2803.                                 "view:ready": function () {
  2804.                                     p[T].$node.style.top = w,
  2805.                                     p[E].$node.style.top = b,
  2806.                                     this.$title.innerHTML = this.model.channel.title,
  2807.                                     this.show(),
  2808.                                     y.hide(),
  2809.                                     clearTimeout(S),
  2810.                                     p[m].focus(),
  2811.                                     N = !1
  2812.                                 },
  2813.                                 "view:error": function (e) {
  2814.                                     N = !1,
  2815.                                     "empty" === e && (this.data = [{
  2816.                                                 id: "",
  2817.                                                 value: "",
  2818.                                                 publishedAt: "",
  2819.                                                 icon: "img/no.image.png",
  2820.                                                 duration: "",
  2821.                                                 title: gettext("No videos"),
  2822.                                                 channelTitle: "",
  2823.                                                 viewCount: "",
  2824.                                                 locale: {
  2825.                                                     publishedAt: "",
  2826.                                                     viewCount: "",
  2827.                                                     channelTitle: ""
  2828.                                                 }
  2829.                                             }
  2830.                                         ], this.viewIndex = null, this.renderView(0), this.focusIndex(0), g.focusEntry = p[m], p[T].$node.style.top = w, p[E] && (p[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, this.show(), y.hide(), clearTimeout(S), p[m].focus())
  2831.                                 },
  2832.                                 "click:item": function (e) {
  2833.                                     e.$item.data.id && o.navigate("pp", {
  2834.                                         channel: this.model.channel,
  2835.                                         video: e.$item.data,
  2836.                                         playlist: this.data,
  2837.                                         position: e.$item.index
  2838.                                     })
  2839.                                 }
  2840.                             }
  2841.                         })), g.add(p[0]), g.add(p[1]), p[0].focus(), p[0].addListener("keydown", function (e) {
  2842.                         e.code === r.down ? i(0, !1) : e.code === r.up ? x > 0 ? i(0, !0) : v.focus() : e.code === r.playPause && o.navigate("pp", {
  2843.                             channel: this.model.channel,
  2844.                             video: this.$focusItem.data,
  2845.                             playlist: this.data,
  2846.                             position: this.$focusItem.index
  2847.                         })
  2848.                     }), p[1].addListener("keydown", function (e) {
  2849.                         e.code === r.down ? i(1, !1) : e.code === r.up ? x > 0 ? i(1, !0) : v.focus() : e.code === r.playPause && o.navigate("pp", {
  2850.                             channel: this.model.channel,
  2851.                             video: this.$focusItem.data,
  2852.                             playlist: this.data,
  2853.                             position: this.$focusItem.index
  2854.                         })
  2855.                     }), b = window.getComputedStyle(p[1].$node).getPropertyValue("top")),
  2856.                 d.getPage({
  2857.                     page: 0,
  2858.                     count: 1
  2859.                 }).then(function (e) {
  2860.                     x = 0,
  2861.                     T = 0,
  2862.                     E = 1,
  2863.                     I = 1,
  2864.                     m = 0,
  2865.                     p[T].model.filter({
  2866.                         channel: e[0]
  2867.                     }),
  2868.                     d.getPage({
  2869.                         page: 1,
  2870.                         count: 1
  2871.                     }).then(function (e) {
  2872.                         p[E].model.filter({
  2873.                             channel: e[0]
  2874.                         }),
  2875.                         p[m].focus()
  2876.                     })
  2877.                 })["catch"](function (e) {})
  2878.             }),
  2879.             g.activate = function (e) {
  2880.                 this.show(),
  2881.                 d.setActiveCategory(e) ? y.show() : p[m].focus()
  2882.             },
  2883.             g.add(v),
  2884.             e.exports = g
  2885.         }, function (e, t, n) {
  2886.             "use strict";
  2887.             function i(e, t) {
  2888.                 var n = 1 ^ e;
  2889.                 S || (t ? (S = !0, N.getPage({
  2890.                             page: E - 1,
  2891.                             count: 1
  2892.                         }, function (t, i) {
  2893.                             --E,
  2894.                             --x,
  2895.                             d[n].data = data,
  2896.                             d[n].viewIndex = null,
  2897.                             d[n].renderView(0),
  2898.                             d[n].focusIndex(0),
  2899.                             d[n].emit("view:ready"),
  2900.                             b = n,
  2901.                             w = e,
  2902.                             T = n
  2903.                         })) : (S = !0, N.getPage({
  2904.                             page: x + 1,
  2905.                             count: 1
  2906.                         }, function (t, i) {
  2907.                             ++E,
  2908.                             ++x,
  2909.                             d[e].data = data,
  2910.                             d[e].viewIndex = null,
  2911.                             d[e].renderView(0),
  2912.                             d[e].focusIndex(0),
  2913.                             d[e].emit("view:ready"),
  2914.                             b = n,
  2915.                             w = e,
  2916.                             T = n
  2917.                         })))
  2918.             }
  2919.             var r = n(1),
  2920.             o = n(2),
  2921.             a = n(12),
  2922.             s = n(6),
  2923.             l = n(13),
  2924.             c = n(53),
  2925.             u = (n(10), n(14)),
  2926.             d = [],
  2927.             h = new a({
  2928.                     $node: document.getElementById("pmTabChannelContent"),
  2929.                     visible: !1,
  2930.                     events: {
  2931.                         focus: function () {
  2932.                             d[T].focus()
  2933.                         }
  2934.                     }
  2935.                 }),
  2936.             p = n(8),
  2937.             f = document.getElementById("pm"),
  2938.             m = document.getElementById("pmChannelTitle"),
  2939.             g = document.getElementById("pmChannelIcon"),
  2940.             v = 0,
  2941.             y = 0,
  2942.             b = 0,
  2943.             w = 1,
  2944.             T = 0,
  2945.             E = 0,
  2946.             x = 1,
  2947.             I = -1,
  2948.             S = !0,
  2949.             N = new c,
  2950.             C = {
  2951.                 id: null,
  2952.                 title: null
  2953.             };
  2954.             N.addListener("content:changed", function () {
  2955.                 clearTimeout(I),
  2956.                 I = setTimeout(function () {
  2957.                         p.hide()
  2958.                     }, 1e4),
  2959.                 0 === d.length && (d.push(new l({
  2960.                             $node: document.getElementById("pmListChannelVideos0Node"),
  2961.                             $body: document.getElementById("pmListChannelVideos0Body"),
  2962.                             $title: document.getElementById("pmChannelTitle0"),
  2963.                             size: 5,
  2964.                             viewIndex: 0,
  2965.                             focusIndex: 0,
  2966.                             type: s.prototype.TYPE_HORIZONTAL,
  2967.                             events: {
  2968.                                 overflow: function (e) {
  2969.                                     e.direction === r.left && u.focus()
  2970.                                 },
  2971.                                 "view:ready": function () {
  2972.                                     h.focusEntry = d[T],
  2973.                                     d[b].$node.style.top = y,
  2974.                                     d[w] && (d[w].$node.style.top = v),
  2975.                                     this.show(),
  2976.                                     p.hide(),
  2977.                                     clearTimeout(I),
  2978.                                     d[T].focus(),
  2979.                                     S = !1
  2980.                                 },
  2981.                                 "view:error": function (e) {
  2982.                                     S = !1,
  2983.                                     "empty" === e ? (this.data = [{
  2984.                                                 id: "",
  2985.                                                 value: "",
  2986.                                                 publishedAt: "",
  2987.                                                 icon: "img/no.image.png",
  2988.                                                 duration: "",
  2989.                                                 title: gettext("No videos"),
  2990.                                                 channelTitle: "",
  2991.                                                 viewCount: "",
  2992.                                                 locale: {
  2993.                                                     publishedAt: "",
  2994.                                                     viewCount: "",
  2995.                                                     channelTitle: ""
  2996.                                                 }
  2997.                                             }
  2998.                                         ], this.viewIndex = null, this.renderView(0), this.focusIndex(0), h.focusEntry = d[T], d[b].$node.style.top = y, d[w] && (d[w].$node.style.top = v), this.show(), p.hide(), clearTimeout(I), d[T].focus()) : 0 === E && i(0, !1)
  2999.                                 },
  3000.                                 "click:item": function (e) {
  3001.                                     e.$item.data.id && o.navigate("pp", {
  3002.                                         channel: C,
  3003.                                         video: e.$item.data,
  3004.                                         playlist: this.data,
  3005.                                         position: e.$item.index
  3006.                                     })
  3007.                                 }
  3008.                             }
  3009.                         })), d.push(new l({
  3010.                             $node: document.getElementById("pmListChannelVideos1Node"),
  3011.                             $body: document.getElementById("pmListChannelVideos1Body"),
  3012.                             $title: document.getElementById("pmChannelTitle1"),
  3013.                             size: 5,
  3014.                             viewIndex: 0,
  3015.                             focusIndex: 0,
  3016.                             type: s.prototype.TYPE_HORIZONTAL,
  3017.                             events: {
  3018.                                 overflow: function (e) {
  3019.                                     e.direction === r.left && u.focus()
  3020.                                 },
  3021.                                 "view:ready": function () {
  3022.                                     h.focusEntry = d[T],
  3023.                                     d[b].$node.style.top = y,
  3024.                                     d[w].$node.style.top = v,
  3025.                                     this.show(),
  3026.                                     p.hide(),
  3027.                                     clearTimeout(I),
  3028.                                     d[T].focus(),
  3029.                                     S = !1
  3030.                                 },
  3031.                                 "view:error": function (e) {
  3032.                                     S = !1,
  3033.                                     "empty" === e && (this.data = [{
  3034.                                                 id: "",
  3035.                                                 value: "",
  3036.                                                 publishedAt: "",
  3037.                                                 icon: " ",
  3038.                                                 duration: "",
  3039.                                                 title: " ",
  3040.                                                 channelTitle: "",
  3041.                                                 viewCount: "",
  3042.                                                 locale: {
  3043.                                                     publishedAt: "",
  3044.                                                     viewCount: "",
  3045.                                                     channelTitle: ""
  3046.                                                 }
  3047.                                             }
  3048.                                         ], this.viewIndex = null, this.renderView(0), this.focusIndex(0), h.focusEntry = d[T], d[b].$node.style.top = y, d[w] && (d[w].$node.style.top = v), this.$title.innerHTML = this.model.channel.title ? this.model.channel.title : "&nbsp;", this.show(), p.hide(), clearTimeout(I), d[T].focus())
  3049.                                 },
  3050.                                 "click:item": function (e) {
  3051.                                     e.$item.data.id && o.navigate("pp", {
  3052.                                         channel: C,
  3053.                                         video: e.$item.data,
  3054.                                         playlist: this.data,
  3055.                                         position: e.$item.index
  3056.                                     })
  3057.                                 }
  3058.                             }
  3059.                         })), h.add(d[0]), h.add(d[1]), d[0].focus(), d[0].addListener("keydown", function (e) {
  3060.                         e.code === r.down ? i(0, !1) : e.code === r.up ? E > 0 && i(0, !0) : e.code === r.playPause && o.navigate("pp", {
  3061.                             channel: this.model.channel,
  3062.                             video: this.$focusItem.data,
  3063.                             playlist: this.data,
  3064.                             position: this.$focusItem.index
  3065.                         })
  3066.                     }), d[1].addListener("keydown", function (e) {
  3067.                         e.code === r.down ? i(1, !1) : e.code === r.up ? E > 0 && i(1, !0) : e.code === r.playPause && o.navigate("pp", {
  3068.                             channel: this.model.channel,
  3069.                             video: this.$focusItem.data,
  3070.                             playlist: this.data,
  3071.                             position: this.$focusItem.index
  3072.                         })
  3073.                     }), v = window.getComputedStyle(d[1].$node).getPropertyValue("top")),
  3074.                 N.getPage({
  3075.                     page: 0,
  3076.                     count: 1
  3077.                 }, function (e, t) {
  3078.                     E = 0,
  3079.                     b = 0,
  3080.                     w = 1,
  3081.                     x = 1,
  3082.                     T = 0,
  3083.                     d[b].data = t,
  3084.                     d[b].viewIndex = null,
  3085.                     d[b].renderView(0),
  3086.                     d[b].focusIndex(0),
  3087.                     d[b].emit("view:ready"),
  3088.                     N.getPage({
  3089.                         page: 1,
  3090.                         count: 1
  3091.                     }, function (e, t) {
  3092.                         d[w].data = t,
  3093.                         d[w].viewIndex = null,
  3094.                         d[w].renderView(0),
  3095.                         d[w].focusIndex(0),
  3096.                         d[w].emit("view:ready"),
  3097.                         d[T].focus()
  3098.                     })
  3099.                 })
  3100.             }),
  3101.             h.activate = function (e) {
  3102.                 this.show(),
  3103.                 d.length && d[T].focus(),
  3104.                 N.channelId = C.id = e.id,
  3105.                 N.getInfo({}, function (e, t) {
  3106.                     t.background = t.background.split("=")[0] + "=w1920-fcrop64=1,00000000ffffffff-nd-c0xffffffff-rj-k-no",
  3107.                     f.style.backgroundImage = "url(" + t.background + ")",
  3108.                     g.style.backgroundImage = "url(" + t.icon + ")",
  3109.                     C.title = m.innerHTML = t.title,
  3110.                     C.icon = t.icon,
  3111.                     N.emit("content:changed")
  3112.                 })
  3113.             },
  3114.             e.exports = h
  3115.         }, function (e, t, n) {
  3116.             "use strict";
  3117.             function i(e, t) {
  3118.                 var n = 1 ^ e;
  3119.                 N || (t ? (N = !0, d.getPage({
  3120.                             page: x - 1,
  3121.                             count: 1
  3122.                         }, function (t, i) {
  3123.                             --x,
  3124.                             --I,
  3125.                             T = n,
  3126.                             E = e,
  3127.                             g = n,
  3128.                             f[n].data = i,
  3129.                             f[n].viewIndex = null,
  3130.                             f[n].renderView(0),
  3131.                             f[n].focusIndex(0),
  3132.                             f[n].emit("view:ready")
  3133.                         })) : (N = !0, d.getPage({
  3134.                             page: I + 1,
  3135.                             count: 1
  3136.                         }, function (t, i) {
  3137.                             return i ? void(t || 0 === i.length ? (++x, ++I, f[e].data = [{
  3138.                                             id: "",
  3139.                                             value: "",
  3140.                                             publishedAt: "",
  3141.                                             icon: "",
  3142.                                             duration: "",
  3143.                                             title: "",
  3144.                                             channelTitle: "",
  3145.                                             viewCount: "",
  3146.                                             locale: {
  3147.                                                 publishedAt: "",
  3148.                                                 viewCount: "",
  3149.                                                 channelTitle: ""
  3150.                                             }
  3151.                                         }
  3152.                                     ], f[e].viewIndex = null, f[e].renderView(0), f[e].focusIndex(0), f[e].$title.innerHTML = "", T = n, E = e, g = n, f[T].$node.style.top = w, f[E].$node.style.top = b, f[g].focus(), f[e].emit("view:ready")) : (++x, ++I, T = n, E = e, g = n, f[e].data = i, f[e].viewIndex = null, f[e].renderView(0), f[e].focusIndex(0), f[e].emit("view:ready"))) : void f[e].emit("view:ready")
  3153.                         })))
  3154.             }
  3155.             var r = n(1),
  3156.             o = n(2),
  3157.             a = n(12),
  3158.             s = n(6),
  3159.             l = n(34),
  3160.             c = n(13),
  3161.             u = n(54),
  3162.             d = new u,
  3163.             h = n(14),
  3164.             p = n(8),
  3165.             f = [],
  3166.             m = document.getElementById("pm"),
  3167.             g = 0,
  3168.             v = new a({
  3169.                     $node: document.getElementById("pmTabMainContent"),
  3170.                     visible: !1,
  3171.                     events: {
  3172.                         focus: function () {
  3173.                             f[g].focus()
  3174.                         },
  3175.                         show: function () {
  3176.                             m.style.backgroundImage = ""
  3177.                         }
  3178.                     }
  3179.                 }),
  3180.             y = new l({
  3181.                     $node: document.getElementById("pmMainSearch"),
  3182.                     $body: document.getElementById("pmMainSearchBody"),
  3183.                     events: {
  3184.                         focus: function () {
  3185.                             this.setValue(""),
  3186.                             o.navigate("ps")
  3187.                         }
  3188.                     }
  3189.                 }),
  3190.             b = 0,
  3191.             w = 0,
  3192.             T = 0,
  3193.             E = 1,
  3194.             x = 0,
  3195.             I = 1,
  3196.             S = -1,
  3197.             N = !0;
  3198.             v.activate = function () {
  3199.                 this.show(),
  3200.                 clearTimeout(S),
  3201.                 S = setTimeout(function () {
  3202.                         p.hide()
  3203.                     }, 1e4),
  3204.                 0 === f.length && (p.show(), f.push(new c({
  3205.                             $node: document.getElementById("pmListMainVideos0Node"),
  3206.                             $body: document.getElementById("pmListMainVideos0Body"),
  3207.                             $title: document.getElementById("pmMainChannelTitle0"),
  3208.                             model: new u({
  3209.                                 type: "video"
  3210.                             }),
  3211.                             size: 5,
  3212.                             viewIndex: 0,
  3213.                             focusIndex: 0,
  3214.                             type: s.prototype.TYPE_HORIZONTAL,
  3215.                             events: {
  3216.                                 overflow: function (e) {
  3217.                                     e.direction === r.left && h.focus()
  3218.                                 },
  3219.                                 "view:ready": function () {
  3220.                                     v.focusEntry = f[g],
  3221.                                     f[T].$node.style.top = w,
  3222.                                     f[E] && (f[E].$node.style.top = b),
  3223.                                     this.$title.innerHTML = "",
  3224.                                     f[g] && f[g].data.length > 0 && f[g].data[0].value && (p.hide(), clearTimeout(S)),
  3225.                                     this.show(),
  3226.                                     f[g].focus(),
  3227.                                     N = !1
  3228.                                 },
  3229.                                 "view:error": function (e) {
  3230.                                     N = !1,
  3231.                                     "empty" === e ? (this.data = [{
  3232.                                                 id: "",
  3233.                                                 value: "",
  3234.                                                 publishedAt: "",
  3235.                                                 icon: "img/no.image.png",
  3236.                                                 duration: "",
  3237.                                                 title: gettext("No videos"),
  3238.                                                 channelTitle: "",
  3239.                                                 viewCount: "",
  3240.                                                 locale: {
  3241.                                                     publishedAt: "",
  3242.                                                     viewCount: "",
  3243.                                                     channelTitle: ""
  3244.                                                 }
  3245.                                             }
  3246.                                         ], this.viewIndex = null, this.renderView(0), this.focusIndex(0), v.focusEntry = f[g], f[T].$node.style.top = w, f[E] && (f[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, p.hide(), this.show(), clearTimeout(S), f[g].focus()) : 0 === x && i(0, !1)
  3247.                                 },
  3248.                                 "click:item": function (e) {
  3249.                                     e.$item.data.id && o.navigate("pp", {
  3250.                                         channel: this.model.channel,
  3251.                                         video: e.$item.data,
  3252.                                         playlist: this.data,
  3253.                                         position: e.$item.index
  3254.                                     })
  3255.                                 },
  3256.                                 focus: function () {
  3257.                                     v.focusEntry = this
  3258.                                 }
  3259.                             }
  3260.                         })), f.push(new c({
  3261.                             $node: document.getElementById("pmListMainVideos1Node"),
  3262.                             $body: document.getElementById("pmListMainVideos1Body"),
  3263.                             $title: document.getElementById("pmMainChannelTitle1"),
  3264.                             model: new u({
  3265.                                 type: "video"
  3266.                             }),
  3267.                             size: 5,
  3268.                             viewIndex: 0,
  3269.                             focusIndex: 0,
  3270.                             type: s.prototype.TYPE_HORIZONTAL,
  3271.                             events: {
  3272.                                 overflow: function (e) {
  3273.                                     e.direction === r.left && h.focus()
  3274.                                 },
  3275.                                 "view:ready": function () {
  3276.                                     v.focusEntry = f[g],
  3277.                                     f[T].$node.style.top = w,
  3278.                                     f[E].$node.style.top = b,
  3279.                                     this.$title.innerHTML = "",
  3280.                                     f[g] && f[g].data.length > 0 && f[g].data[0].value && (p.hide(), clearTimeout(S)),
  3281.                                     this.show(),
  3282.                                     clearTimeout(S),
  3283.                                     f[g].focus(),
  3284.                                     N = !1
  3285.                                 },
  3286.                                 "view:error": function (e) {
  3287.                                     N = !1,
  3288.                                     "empty" === e && (this.data = [{
  3289.                                                 id: "",
  3290.                                                 value: "",
  3291.                                                 publishedAt: "",
  3292.                                                 icon: "img/no.image.png",
  3293.                                                 duration: "",
  3294.                                                 title: gettext("No videos"),
  3295.                                                 channelTitle: "",
  3296.                                                 viewCount: "",
  3297.                                                 locale: {
  3298.                                                     publishedAt: "",
  3299.                                                     viewCount: "",
  3300.                                                     channelTitle: ""
  3301.                                                 }
  3302.                                             }
  3303.                                         ], this.viewIndex = null, this.renderView(0), this.focusIndex(0), v.focusEntry = f[g], f[T].$node.style.top = w, f[E] && (f[E].$node.style.top = b), this.$title.innerHTML = this.model.channel.title, this.show(), p.hide(), clearTimeout(S), f[g].focus())
  3304.                                 },
  3305.                                 "click:item": function (e) {
  3306.                                     e.$item.data.id && o.navigate("pp", {
  3307.                                         channel: this.model.channel,
  3308.                                         video: e.$item.data,
  3309.                                         playlist: this.data,
  3310.                                         position: e.$item.index
  3311.                                     })
  3312.                                 },
  3313.                                 focus: function () {
  3314.                                     v.focusEntry = this
  3315.                                 }
  3316.                             }
  3317.                         })), v.add(f[0]), v.add(f[1]), f[0].addListener("keydown", function (e) {
  3318.                         e.code === r.down ? i(0, !1) : e.code === r.up ? x > 0 ? i(0, !0) : y.focus() : e.code === r.playPause && o.navigate("pp", {
  3319.                             channel: this.model.channel,
  3320.                             video: this.$focusItem.data,
  3321.                             playlist: this.data,
  3322.                             position: this.$focusItem.index
  3323.                         })
  3324.                     }), f[1].addListener("keydown", function (e) {
  3325.                         e.code === r.down ? i(1, !1) : e.code === r.up ? x > 0 ? i(1, !0) : y.focus() : e.code === r.playPause && o.navigate("pp", {
  3326.                             channel: this.model.channel,
  3327.                             video: this.$focusItem.data,
  3328.                             playlist: this.data,
  3329.                             position: this.$focusItem.index
  3330.                         })
  3331.                     }), b = window.getComputedStyle(f[1].$node).getPropertyValue("top"), d.getPage({
  3332.                         page: 0,
  3333.                         count: 1
  3334.                     }, function (e, t) {
  3335.                         x = 0,
  3336.                         T = 0,
  3337.                         E = 1,
  3338.                         I = 1,
  3339.                         g = 0,
  3340.                         f[T].data = t,
  3341.                         f[T].viewIndex = null,
  3342.                         f[T].renderView(0),
  3343.                         f[T].focusIndex(0),
  3344.                         f[T].emit("view:ready"),
  3345.                         d.getPage({
  3346.                             page: 1,
  3347.                             count: 1
  3348.                         }, function (e, t) {
  3349.                             f[E].data = t,
  3350.                             f[E].viewIndex = null,
  3351.                             f[E].renderView(0),
  3352.                             f[E].focusIndex(0),
  3353.                             f[E].emit("view:ready"),
  3354.                             f[g].focus()
  3355.                         })
  3356.                     })),
  3357.                 f[g].focus()
  3358.             },
  3359.             v.add(y),
  3360.             e.exports = v
  3361.         }, function (e, t, n) {
  3362.             "use strict";
  3363.             function i() {
  3364.                 return c.languageIndex !== T ? (o ? (o.show(), s = u.current.activeComponent, o.focus()) : (o = new p({
  3365.                                 visible: !1,
  3366.                                 events: {
  3367.                                     keydown: function (e) {
  3368.                                         var t,
  3369.                                         n;
  3370.                                         e.code === l.ok ? (c.settings.language = m.languages[T], T = -1, c.settings.languageOverwrite = 1, c.reload()) : e.code === l.back && (r.data[r.size - 1].value = T = c.languageIndex, e.stop = !0, o.hide(), b.show(), s.focus(), t = r.$focusItem.index, n = r.viewIndex, r.viewIndex = null, r.renderView(n), r.focusIndex(t))
  3371.                                     }
  3372.                                 }
  3373.                             }), o.$body.classList.add("modalExit"), o.$header.innerHTML = gettext("In order to apply a new language, you must restart the application"), o.$content.innerHTML = "", o.$content.appendChild(a = document.createElement("div")), a.innerText = gettext("Ok"), a.className = "btn confirm" + (w ? " old" : ""), o.$content.appendChild(a = document.createElement("div")), a.className = "btn back" + (w ? " old" : ""), a.innerText = gettext("Cancel"), o.$footer.innerHTML = "", u.current.add(o), b.hide(), o.show(), s = u.current.activeComponent, o.focus()), !0) : !1
  3374.             }
  3375.             var r,
  3376.             o,
  3377.             a,
  3378.             s,
  3379.             l = n(1),
  3380.             c = n(3),
  3381.             u = n(2),
  3382.             d = n(6),
  3383.             h = n(12),
  3384.             p = n(35),
  3385.             f = (n(9), n(22)),
  3386.             m = n(7),
  3387.             g = document.getElementById("pm"),
  3388.             v = new h({
  3389.                     $node: document.getElementById("pmTabSettings"),
  3390.                     visible: !1,
  3391.                     events: {
  3392.                         show: function () {
  3393.                             g.style.backgroundImage = ""
  3394.                         }
  3395.                     }
  3396.                 }),
  3397.             y = n(14),
  3398.             b = n(15),
  3399.             w = -1 !== ["AuraHD2", "AuraHD3", "AuraHD8", "MAG254", "MAG275", "MAG276", "WR320"].indexOf(f.deviceModel()),
  3400.             T = c.languageIndex;
  3401.             y.addListener("focus", function () {
  3402.                 i()
  3403.             }),
  3404.             v.activate = function () {
  3405.                 var e,
  3406.                 t;
  3407.                 r || (t = n(10), e = n(31), r = new d({
  3408.                             $node: document.getElementById("pmSettingsList"),
  3409.                             type: d.prototype.TYPE_HORIZONTAL,
  3410.                             size: 1,
  3411.                             data: [{
  3412.                                     title: gettext("Language"),
  3413.                                     value: c.languageIndex,
  3414.                                     values: m.languagesLocalized,
  3415.                                     description: gettext("Interface language"),
  3416.                                     icon: "icon flag",
  3417.                                     onclick: function (e) {
  3418.                                         var n = t.nextLang(this.value);
  3419.                                         this.value = n,
  3420.                                         T = n,
  3421.                                         e.$value.innerText = m.languagesLocalized[n]
  3422.                                     }
  3423.                                 }
  3424.                             ],
  3425.                             render: function (e, t) {
  3426.                                 e.ready || (e.$container = e.appendChild(document.createElement("div")), e.$container.className = "container", e.$title = e.$container.appendChild(document.createElement("div")), e.$title.className = "title", e.$value = e.$container.appendChild(document.createElement("div")), e.$value.className = "value", e.$icon = e.$container.appendChild(document.createElement("div")), e.$description = e.appendChild(document.createElement("div")), e.$description.className = "description", e.ready = !0),
  3427.                                 e.$title.innerText = t.title,
  3428.                                 e.$value.innerHTML = t.values[t.value],
  3429.                                 e.$icon.className = t.icon,
  3430.                                 e.$description.innerText = t.description
  3431.                             },
  3432.                             events: {
  3433.                                 keydown: function (e) {
  3434.                                     switch (e.code) {
  3435.                                     case l.right:
  3436.                                         break;
  3437.                                     case l.left:
  3438.                                         this.viewIndex > 0 && this.viewIndex < this.data.length - this.size ? this.renderView(this.viewIndex + 1) : this.move(e.code);
  3439.                                         break;
  3440.                                     case l.ok:
  3441.                                         void 0 !== this.events["click:item"] && this.emit("click:item", {
  3442.                                             $item: this.$focusItem,
  3443.                                             event: e
  3444.                                         });
  3445.                                         break;
  3446.                                     case l.back:
  3447.                                     case l.exit:
  3448.                                         i() && (e.stop = !0)
  3449.                                     }
  3450.                                 },
  3451.                                 "click:item": function (e) {
  3452.                                     e.$item.data.onclick(e.$item)
  3453.                                 },
  3454.                                 overflow: function (e) {
  3455.                                     e.direction === l.left && y.focus()
  3456.                                 }
  3457.                             }
  3458.                         }), v.add(r), r.renderView = function (e) {
  3459.                     var t,
  3460.                     n,
  3461.                     i,
  3462.                     r,
  3463.                     o;
  3464.                     if (this.viewIndex !== e) {
  3465.                         for (r = this.viewIndex, this.viewIndex = o = e, n = 0; n < this.size; n++)
  3466.                             t = this.$body.children[n], i = this.data[e], void 0 !== i ? (t.data = i, t.index = e, this.renderItem(t, i), i.mark ? t.classList.add("mark") : t.classList.remove("mark")) : (t.data = t.index = void 0, t.innerHTML = "", t.ready = !1), e++;
  3467.                         return void 0 !== this.events["move:view"] && this.emit("move:view", {
  3468.                             prevIndex: r,
  3469.                             currIndex: o
  3470.                         }),
  3471.                         !0
  3472.                     }
  3473.                     return !1
  3474.                 }),
  3475.                 this.show(),
  3476.                 r.focus(),
  3477.                 r.focusIndex(0),
  3478.                 v.focusEntry = r
  3479.             },
  3480.             e.exports = v
  3481.         }, function (e, t, n) {
  3482.             "use strict";
  3483.             var i,
  3484.             r,
  3485.             o = n(1),
  3486.             a = n(3),
  3487.             s = n(12),
  3488.             l = n(6),
  3489.             c = (n(19), n(13)),
  3490.             u = new s({
  3491.                     visible: !1,
  3492.                     focusable: !0,
  3493.                     $node: document.getElementById("ppPanelVideo")
  3494.                 }),
  3495.             d = new l({
  3496.                     $node: document.getElementById("ppMenuList"),
  3497.                     cycle: !0,
  3498.                     size: 3,
  3499.                     visible: !1,
  3500.                     data: [{
  3501.                             value: "icon playlist"
  3502.                         }, {
  3503.                             value: "icon related"
  3504.                         }, {
  3505.                             value: "icon upload"
  3506.                         }
  3507.                     ],
  3508.                     render: function (e, t) {
  3509.                         e.className = t.value
  3510.                     },
  3511.                     events: {
  3512.                         "focus:item": function (e) {
  3513.                             h[e.$curr.index].focus()
  3514.                         }
  3515.                     }
  3516.                 }),
  3517.             h = [],
  3518.             p = -1,
  3519.             f = 10;
  3520.             u.addListener("show", function (e) {
  3521.                 var t = h[0].$focusItem && h[0].$focusItem.$videoThumb ? 0 : 1;
  3522.                 u.focus(),
  3523.                 i = e.video,
  3524.                 r = {
  3525.                     id: i.channelId,
  3526.                     title: i.channelTitle
  3527.                 },
  3528.                 d.show(),
  3529.                 d.$focusItem = null,
  3530.                 d.focusIndex(t),
  3531.                 void 0 !== e.onDelayPlayNext && (f = e.onDelayPlayNext, p = setInterval(function () {
  3532.                             0 >= f ? (h[t].$focusItem.$videoThumb.innerText = "", h[t].emit("keydown", {
  3533.                                     code: o.right
  3534.                                 }), h[t].emit("keydown", {
  3535.                                     code: o.ok
  3536.                                 })) : h[0].$focusItem && h[0].$focusItem.$videoThumb && (--f, h[0].$focusItem.$videoThumb.innerText = f)
  3537.                         }, 1e3))
  3538.             }),
  3539.             u.addListener("hide", function () {
  3540.                 d.hide(),
  3541.                 clearInterval(p)
  3542.             }),
  3543.             h.push(new c({
  3544.                     visible: !1,
  3545.                     $node: document.getElementById("ppChannelVideoListNode"),
  3546.                     $body: document.getElementById("ppChannelVideoListBody"),
  3547.                     $title: document.getElementById("ppChannelTitle"),
  3548.                     type: l.prototype.TYPE_HORIZONTAL,
  3549.                     events: {
  3550.                         "view:ready": function () {
  3551.                             this.focusIndex(0)
  3552.                         },
  3553.                         "view:error": function () {
  3554.                             d.focusIndex(1)
  3555.                         },
  3556.                         focus: function () {
  3557.                             this.show()
  3558.                         },
  3559.                         blur: function () {
  3560.                             this.hide()
  3561.                         },
  3562.                         keydown: function (e) {
  3563.                             switch (e.code) {
  3564.                             case o.right:
  3565.                                 this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  3566.                                 break;
  3567.                             case o.left:
  3568.                                 this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  3569.                                 break;
  3570.                             case o.ok:
  3571.                                 this.emit("click:item", {
  3572.                                     $item: this.$focusItem,
  3573.                                     event: e
  3574.                                 })
  3575.                             }
  3576.                             clearInterval(p),
  3577.                             h[d.$focusItem.index].$focusItem && (h[d.$focusItem.index].$focusItem.$videoThumb.innerText = ""),
  3578.                             e.code !== o.down && e.code !== o.up || d.move(e.code)
  3579.                         },
  3580.                         "click:item": function (e) {
  3581.                             i = e.$item.data,
  3582.                             a.player.playContent({
  3583.                                 channel: r,
  3584.                                 video: i,
  3585.                                 playlist: this.data,
  3586.                                 position: this.$focusItem.index
  3587.                             })
  3588.                         }
  3589.                     }
  3590.                 })),
  3591.             h.push(new c({
  3592.                     visible: !1,
  3593.                     $node: document.getElementById("ppVideoRelationsListNode"),
  3594.                     $body: document.getElementById("ppVideoRelationsListBody"),
  3595.                     $title: document.getElementById("ppVideoRelationsTitle"),
  3596.                     type: l.prototype.TYPE_HORIZONTAL,
  3597.                     events: {
  3598.                         focus: function () {
  3599.                             this.show()
  3600.                         },
  3601.                         "view:ready": function () {
  3602.                             this.focusIndex(0)
  3603.                         },
  3604.                         blur: function () {
  3605.                             this.hide()
  3606.                         },
  3607.                         keydown: function (e) {
  3608.                             switch (e.code) {
  3609.                             case o.right:
  3610.                                 this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  3611.                                 break;
  3612.                             case o.left:
  3613.                                 this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  3614.                                 break;
  3615.                             case o.ok:
  3616.                                 this.emit("click:item", {
  3617.                                     $item: this.$focusItem,
  3618.                                     event: e
  3619.                                 })
  3620.                             }
  3621.                             clearInterval(p),
  3622.                             h[d.$focusItem.index].$focusItem && (h[d.$focusItem.index].$focusItem.$videoThumb.innerText = ""),
  3623.                             e.code !== o.down && e.code !== o.up || d.move(e.code)
  3624.                         },
  3625.                         "click:item": function (e) {
  3626.                             i = e.$item.data,
  3627.                             r = {
  3628.                                 id: i.channelId,
  3629.                                 title: i.channelTitle
  3630.                             },
  3631.                             a.player.playContent({
  3632.                                 channel: r,
  3633.                                 video: i,
  3634.                                 playlist: this.data,
  3635.                                 position: this.$focusItem.index
  3636.                             })
  3637.                         }
  3638.                     }
  3639.                 })),
  3640.             h.push(new c({
  3641.                     visible: !1,
  3642.                     $node: document.getElementById("ppChannelUploadsListNode"),
  3643.                     $body: document.getElementById("ppChannelUploadsVideoListBody"),
  3644.                     $title: document.getElementById("ppChannelUploadsTitle"),
  3645.                     type: l.prototype.TYPE_HORIZONTAL,
  3646.                     events: {
  3647.                         focus: function () {
  3648.                             this.show()
  3649.                         },
  3650.                         "view:ready": function () {
  3651.                             this.focusIndex(0)
  3652.                         },
  3653.                         blur: function () {
  3654.                             this.hide()
  3655.                         },
  3656.                         keydown: function (e) {
  3657.                             switch (e.code) {
  3658.                             case o.right:
  3659.                                 this.$focusItem && this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  3660.                                 break;
  3661.                             case o.left:
  3662.                                 this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : this.move(e.code);
  3663.                                 break;
  3664.                             case o.ok:
  3665.                                 this.emit("click:item", {
  3666.                                     $item: this.$focusItem,
  3667.                                     event: e
  3668.                                 })
  3669.                             }
  3670.                             clearInterval(p),
  3671.                             h[d.$focusItem.index].$focusItem && (h[d.$focusItem.index].$focusItem.$videoThumb.innerText = ""),
  3672.                             e.code !== o.down && e.code !== o.up || d.move(e.code)
  3673.                         },
  3674.                         "click:item": function (e) {
  3675.                             i = e.$item.data,
  3676.                             a.player.playContent({
  3677.                                 channel: r,
  3678.                                 video: i,
  3679.                                 playlist: this.data,
  3680.                                 position: this.$focusItem.index
  3681.                             })
  3682.                         }
  3683.                     }
  3684.                 })),
  3685.             h.forEach(function (e) {
  3686.                 u.add(e)
  3687.             }),
  3688.             e.exports = u
  3689.         }, function (e, t, n) {
  3690.             "use strict";
  3691.             var i,
  3692.             r = n(3),
  3693.             o = n(69),
  3694.             a = n(10),
  3695.             s = n(7),
  3696.             l = new o({
  3697.                     $node: document.getElementById("psKeyboard"),
  3698.                     cycleY: !1,
  3699.                     events: {
  3700.                         "click:item": function (e) {
  3701.                             -1 !== e.$item.data.className.indexOf("keyGlobe") ? (r.settings.keyboardLanguage = a.nextLang(r.settings.keyboardLanguage), this.viewIndex = null, this.init({
  3702.                                     data: n(20)("./" + s.languages[r.settings.keyboardLanguage])
  3703.                                 }), this.focusItem(i), gSTB.SetInputLang(s.languages[r.settings.keyboardLanguage])) : -1 !== e.$item.data.className.indexOf("nums") ? this.init({
  3704.                                 data: [[{
  3705.                                             value: "1",
  3706.                                             className: "symbol"
  3707.                                         }, {
  3708.                                             value: "2",
  3709.                                             className: "symbol"
  3710.                                         }, {
  3711.                                             value: "3",
  3712.                                             className: "symbol"
  3713.                                         }, {
  3714.                                             value: "^",
  3715.                                             className: "symbol"
  3716.                                         }, {
  3717.                                             value: "`",
  3718.                                             className: "symbol"
  3719.                                         }, {
  3720.                                             value: "!",
  3721.                                             className: "symbol"
  3722.                                         }, {
  3723.                                             value: "#",
  3724.                                             className: "symbol"
  3725.                                         }, {
  3726.                                             value: "$",
  3727.                                             className: "symbol"
  3728.                                         }, {
  3729.                                             value: "%",
  3730.                                             className: "symbol"
  3731.                                         }
  3732.                                     ], [{
  3733.                                             value: "4",
  3734.                                             className: "symbol"
  3735.                                         }, {
  3736.                                             value: "5",
  3737.                                             className: "symbol"
  3738.                                         }, {
  3739.                                             value: "6",
  3740.                                             className: "symbol"
  3741.                                         }, {
  3742.                                             value: "&",
  3743.                                             className: "symbol"
  3744.                                         }, {
  3745.                                             value: "(",
  3746.                                             className: "symbol"
  3747.                                         }, {
  3748.                                             value: ")",
  3749.                                             className: "symbol"
  3750.                                         }, {
  3751.                                             value: "*",
  3752.                                             className: "symbol"
  3753.                                         }, {
  3754.                                             value: ";",
  3755.                                             className: "symbol"
  3756.                                         }, {
  3757.                                             value: ":",
  3758.                                             className: "symbol"
  3759.                                         }
  3760.                                     ], [{
  3761.                                             value: "7",
  3762.                                             className: "symbol"
  3763.                                         }, {
  3764.                                             value: "8",
  3765.                                             className: "symbol"
  3766.                                         }, {
  3767.                                             value: "9",
  3768.                                             className: "symbol"
  3769.                                         }, {
  3770.                                             value: "~",
  3771.                                             className: "symbol"
  3772.                                         }, {
  3773.                                             value: "/",
  3774.                                             className: "symbol"
  3775.                                         }, {
  3776.                                             value: "|",
  3777.                                             className: "symbol"
  3778.                                         }, {
  3779.                                             value: "%",
  3780.                                             className: "symbol"
  3781.                                         }, {
  3782.                                             value: ":",
  3783.                                             className: "symbol"
  3784.                                         }, {
  3785.                                             value: "?",
  3786.                                             className: "symbol"
  3787.                                         }
  3788.                                     ], [{
  3789.                                             value: "№",
  3790.                                             className: "symbol"
  3791.                                         }, {
  3792.                                             value: "0",
  3793.                                             className: "symbol"
  3794.                                         }, {
  3795.                                             value: "[",
  3796.                                             className: "symbol"
  3797.                                         }, {
  3798.                                             value: "]",
  3799.                                             className: "symbol"
  3800.                                         }, {
  3801.                                             value: '"',
  3802.                                             className: "symbol"
  3803.                                         }, {
  3804.                                             value: "'",
  3805.                                             className: "symbol"
  3806.                                         }, {
  3807.                                             value: "{",
  3808.                                             className: "symbol"
  3809.                                         }, {
  3810.                                             value: "}",
  3811.                                             className: "symbol"
  3812.                                         }, {
  3813.                                             value: "ABC",
  3814.                                             className: "symbol letters"
  3815.                                         }
  3816.                                     ]]
  3817.                             }) : -1 !== e.$item.data.className.indexOf("letters") && this.init({
  3818.                                 data: n(20)("./" + s.languages[r.settings.keyboardLanguage])
  3819.                             })
  3820.                         }
  3821.                     },
  3822.                     render: function (e, t) {
  3823.                         "keyGlobe" === t.className ? (e.innerHTML = s.languagesCodeLocalized[r.settings.keyboardLanguage], i = e) : e.innerHTML = t.value,
  3824.                         t.className && (e.className = "item " + t.className)
  3825.                     },
  3826.                     data: n(20)("./" + s.languages[r.settings.keyboardLanguage])
  3827.                 });
  3828.             gSTB.SetInputLang(s.languages[r.settings.keyboardLanguage]),
  3829.             e.exports = l
  3830.         }, function (e, t, n) {
  3831.             "use strict";
  3832.             function i() {
  3833.                 u.isMuted && (h.setMute(0), u.isMuted = !1, p.classList.remove("muted")),
  3834.                 u.currentVolume >= g && (u.currentVolume -= g, p.innerText = u.currentVolume.toString(), 0 !== u.currentVolume && u.currentVolume - g > 0 ? f.innerText = (u.currentVolume - g).toString() : f.innerText = "", m.innerText = (u.currentVolume + g).toString(), h.setVolume(u.currentVolume))
  3835.             }
  3836.             function r() {
  3837.                 u.isMuted && (h.setMute(0), u.isMuted = !1, p.classList.remove("muted")),
  3838.                 u.currentVolume + g <= 100 && (u.currentVolume += g, p.innerText = u.currentVolume.toString(), 100 !== u.currentVolume ? m.innerText = (u.currentVolume + g).toString() : m.innerText = "", h.setVolume(u.currentVolume), f.innerText = (u.currentVolume - g).toString())
  3839.             }
  3840.             function o() {
  3841.                 u.isMuted ? (h.setMute(0), u.isMuted = !1, p.classList.remove("muted")) : (h.setMute(1), u.isMuted = !0, p.classList.add("muted"))
  3842.             }
  3843.             var a,
  3844.             s = "volumeWidget",
  3845.             l = document.getElementById(s),
  3846.             c = n(24),
  3847.             u = new c({
  3848.                     $node: l,
  3849.                     visible: !1
  3850.                 }),
  3851.             d = n(1),
  3852.             h = n(22),
  3853.             p = document.getElementById("volumeCurrentValue"),
  3854.             f = document.getElementById("volumeBotValue"),
  3855.             m = document.getElementById("volumeTopValue"),
  3856.             g = 5;
  3857.             u.isMuted = !!h.isMuted(),
  3858.             u.currentVolume = h.getVolume(),
  3859.             p.innerText = u.currentVolume.toString(),
  3860.             u.currentVolume <= 100 - g && (m.innerText = (u.currentVolume + g).toString()),
  3861.             u.currentVolume >= g ? f.innerText = (u.currentVolume - g).toString() : f.innerText = "0",
  3862.             u.changeVolume = function (e) {
  3863.                 switch (e) {
  3864.                 case d.volumeDown:
  3865.                     i();
  3866.                     break;
  3867.                 case d.volumeUp:
  3868.                     r();
  3869.                     break;
  3870.                 case d.mute:
  3871.                     o()
  3872.                 }
  3873.                 this.display(2)
  3874.             },
  3875.             u.display = function (e) {
  3876.                 u.visible && clearTimeout(a),
  3877.                 void 0 !== e && (a = setTimeout(function () {
  3878.                             u.hide()
  3879.                         }, 1e3 * e)),
  3880.                 this.show()
  3881.             },
  3882.             u.setValue = function (e) {
  3883.                 0 > e || e > 100 || (this.currentVolume = e, p.innerText = u.currentVolume.toString(), 0 !== u.currentVolume && u.currentVolume - g > 0 ? f.innerText = (u.currentVolume - g).toString() : f.innerText = "", 100 !== u.currentVolume ? m.innerText = (u.currentVolume + g).toString() : m.innerText = "")
  3884.             },
  3885.             e.exports = u
  3886.         }, function (e, t) {
  3887.             "use strict";
  3888.             e.exports = {
  3889.                 GCQmVzdCBvZiBZb3VUdWJl: "icon popular",
  3890.                 GCUGFpZCBDaGFubmVscw: "icon purchases",
  3891.                 GCTXVzaWM: "icon music",
  3892.                 GCQ29tZWR5: "icon humor",
  3893.                 GCRmlsbSAmIEVudGVydGFpbm1lbnQ: "icon entertainment",
  3894.                 GCR2FtaW5n: "icon games",
  3895.                 GCQmVhdXR5ICYgRmFzaGlvbg: "icon social",
  3896.                 GCRnJvbSBUVg: "fa fa-youtube-play",
  3897.                 GCQXV0b21vdGl2ZQ: "fa fa-car",
  3898.                 GCQW5pbWF0aW9u: "fa fa-picture-o",
  3899.                 GCVG9wIFlvdVR1YmUgQ29sbGVjdGlvbnM: "icon popular",
  3900.                 GCVG9wIEJsb2dz: "icon social",
  3901.                 GCU3BvcnRz: "icon sport",
  3902.                 GCSG93LXRvICYgRElZ: "fa fa-wrench",
  3903.                 GCVGVjaA: "icon hobbie",
  3904.                 GCU2NpZW5jZSAmIEVkdWNhdGlvbg: "fa fa-book",
  3905.                 GCQ29va2luZyAmIEhlYWx0aA: "fa fa-spoon",
  3906.                 GCQ2F1c2VzICYgTm9uLXByb2ZpdHM: "fa fa-users",
  3907.                 GCTmV3cyAmIFBvbGl0aWNz: "icon news",
  3908.                 GCTGlmZXN0eWxl: "fa fa-leaf"
  3909.             }
  3910.         }, function (e, t, n) {
  3911.             "use strict";
  3912.             function i(e) {
  3913.                 this.pages = {},
  3914.                 this.channel = null,
  3915.                 s.call(this),
  3916.                 e = e || {},
  3917.                 void 0 !== e.events && this.addListeners(e.events),
  3918.                 this.init(e)
  3919.             }
  3920.             var r,
  3921.             o,
  3922.             a = n(11),
  3923.             s = n(50),
  3924.             l = n(9);
  3925.             i.prototype = Object.create(s.prototype),
  3926.             i.prototype.constructor = i,
  3927.             i.prototype.getPage = function (e) {
  3928.                 var t = this;
  3929.                 return o || (r = n(23), o = gettext("Author")),
  3930.                 e.channel = e.channel || this.channel,
  3931.                 e.count = e.count || 6,
  3932.                 e.page = +e.page || 0,
  3933.                 new a(function (n, i) {
  3934.                     return e.channel ? void t.getPlaylists({
  3935.                         count: 1,
  3936.                         channel: e.channel,
  3937.                         page: e.page
  3938.                     }).then(function (r) {
  3939.                         e.playlist = r[0],
  3940.                         t.getPlayListItems(e).then(n, i)
  3941.                     }) : void i(e)
  3942.                 })
  3943.             },
  3944.             i.prototype.getPlaylists = function (e) {
  3945.                 var t = this,
  3946.                 n = "playlists?part=id";
  3947.                 if (e.channel = e.channel || this.channel, e.channel) {
  3948.                     if (e.page) {
  3949.                         if (!t.pages[e.page])
  3950.                             return a.reject("no page");
  3951.                         n += "&pageToken=" + t.pages[e.page]
  3952.                     }
  3953.                     return n += "&channelId=" + e.channel.id + "&maxResults=" + e.count,
  3954.                     l.request("GET", n).then(function (n) {
  3955.                         return n = JSON.parse(n),
  3956.                         n.nextPageToken && (t.pages[e.page + 1] = n.nextPageToken),
  3957.                         n.prevPageToken && (t.pages[e.page - 1] = n.prevPageToken),
  3958.                         n.items
  3959.                     })
  3960.                 }
  3961.             },
  3962.             i.prototype.getTotalInfoPlaylists = function (e) {
  3963.                 var t = this,
  3964.                 n = "playlists?part=snippet";
  3965.                 if (e.channel = void 0 === e.channel ? this.channel : e.channel, e.page) {
  3966.                     if (!t.pages[e.page])
  3967.                         return a.reject("no page");
  3968.                     n += "&pageToken=" + t.pages[e.page]
  3969.                 }
  3970.                 if (e.channel)
  3971.                     n += "&channelId=" + e.channel.id;
  3972.                 else {
  3973.                     if (!(void 0 !== e.id && e.id.length > 0))
  3974.                         return a.resolve([]);
  3975.                     n += "&id=" + e.id
  3976.                 }
  3977.                 return void 0 !== e.count && (n += "&maxResults=" + e.count),
  3978.                 l.request("GET", n).then(function (n) {
  3979.                     return n = JSON.parse(n),
  3980.                     n.nextPageToken && (t.pages[e.page + 1] = n.nextPageToken),
  3981.                     n.prevPageToken && (t.pages[e.page - 1] = n.prevPageToken),
  3982.                     n.items
  3983.                 })
  3984.             },
  3985.             i.prototype.getChannelBackground = function (e) {
  3986.                 return e = e || this.channel,
  3987.                 l.request("GET", "channels?part=brandingSettings&id=" + e.id).then(function (e) {
  3988.                     return e = JSON.parse(e),
  3989.                     e.items[0].brandingSettings.image.bannerTvImageUrl
  3990.                 })
  3991.             },
  3992.             i.prototype.init = function (e) {
  3993.                 var t = !1;
  3994.                 return void 0 !== e.channel && (this.channel ? this.channel && this.channel.id !== e.channel.id && (t = !0, this.channel = e.channel) : (t = !0, this.channel = e.channel)),
  3995.                 e.mode && this.mode !== e.mode && (this.mode = e.mode),
  3996.                 t ? (this.pages = {}, this.emit("content:changed", e), !0) : !1
  3997.             },
  3998.             e.exports = i
  3999.         }, function (e, t, n) {
  4000.             "use strict";
  4001.             function i(e) {
  4002.                 return e && e.playlist ? "pid:" + e.playlist.id + ";p:" + e.page : "PLAYLIST"
  4003.             }
  4004.             function r(e) {
  4005.                 this.pages = {},
  4006.                 this.playlist = null,
  4007.                 l.call(this),
  4008.                 e = e || {},
  4009.                 void 0 !== e.events && this.addListeners(e.events),
  4010.                 this.init(e)
  4011.             }
  4012.             var o,
  4013.             a,
  4014.             s = n(11),
  4015.             l = n(5),
  4016.             c = n(9),
  4017.             u = !1,
  4018.             d = n(32);
  4019.             r.prototype = Object.create(l.prototype),
  4020.             r.prototype.constructor = r,
  4021.             r.prototype.getPage = function (e) {
  4022.                 var t,
  4023.                 n = this;
  4024.                 return e.playlist = e.playlist || this.playlist,
  4025.                 e.page = +e.page || 0,
  4026.                 e.count = e.count || 20,
  4027.                 new s(function (r, o) {
  4028.                     if (t = d.get(i(e)))
  4029.                         r(t);
  4030.                     else {
  4031.                         if (!e.playlist.id)
  4032.                             return void o(e);
  4033.                         n.getPlayListItems(e).then(r, o)
  4034.                     }
  4035.                 })
  4036.             },
  4037.             r.prototype.getPlayListItems = function (e) {
  4038.                 var t = this,
  4039.                 r = [],
  4040.                 l = "",
  4041.                 h = "playlistItems?part=snippet&playlistId=" + e.playlist.id + "&maxResults=" + (e.count || 30);
  4042.                 if (e.page = +e.page || 0, u || (u = n(10), o = n(23), a = gettext("Author")), e.page) {
  4043.                     if (!t.pages[e.page])
  4044.                         return s.reject();
  4045.                     h += "&pageToken=" + t.pages[e.page]
  4046.                 }
  4047.                 return c.request("GET", h).then(function (n) {
  4048.                     try {
  4049.                         n = JSON.parse(n),
  4050.                         n.nextPageToken && (t.pages[e.page + 1] = n.nextPageToken),
  4051.                         n.prevPageToken && (t.pages[e.page - 1] = n.prevPageToken),
  4052.                         n.items.forEach(function (e) {
  4053.                             l += e.snippet.resourceId.videoId + ","
  4054.                         })
  4055.                     } catch (s) {}
  4056.                     return t.getMovies(l.substr(0, l.length - 1)).then(function (t) {
  4057.                         var n,
  4058.                         s,
  4059.                         l = +new Date;
  4060.                         for (n = t.length, s = 0; n > s; ++s)
  4061.                             r.push({
  4062.                                 value: 1,
  4063.                                 id: t[s].id,
  4064.                                 channelTitle: t[s].snippet.channelTitle,
  4065.                                 duration: c.normalizeVideoDuration(t[s].contentDetails.duration),
  4066.                                 realDuration: t[s].contentDetails.duration,
  4067.                                 viewCount: t[s].statistics.viewCount,
  4068.                                 publishedAt: t[s].snippet.publishedAt,
  4069.                                 dimension: t[s].contentDetails.dimension,
  4070.                                 definition: t[s].contentDetails.definition,
  4071.                                 title: t[s].snippet.localized.title,
  4072.                                 icon: t[s].snippet.thumbnails.high.url,
  4073.                                 channelId: t[s].snippet.channelId,
  4074.                                 type: "video",
  4075.                                 locale: {
  4076.                                     publishedAt: o(t[s].snippet.publishedAt, l),
  4077.                                     viewCount: t[s].statistics.viewCount + " " + ngettext("view", "views", +t[s].statistics.viewCount),
  4078.                                     channelTitle: a + ": " + t[s].snippet.channelTitle
  4079.                                 }
  4080.                             });
  4081.                         return d.set(i(e), r, 3e5),
  4082.                         r
  4083.                     })
  4084.                 })
  4085.             },
  4086.             r.prototype.getMovies = function (e) {
  4087.                 var t,
  4088.                 n,
  4089.                 i,
  4090.                 r,
  4091.                 o = [];
  4092.                 for (n = e.split(","), i = 0, r = n.length; r > i; ++i)
  4093.                     (t = d.get("vid:" + n[i])) && o.push(t);
  4094.                 return c.request("GET", "videos?part=statistics,contentDetails,snippet&id=" + e).then(function (e) {
  4095.                     for (e = JSON.parse(e).items, i = 0, r = e.length; r > i; ++i)
  4096.                         d.set("vid:" + e[i].id, e[i], 6e4);
  4097.                     return e
  4098.                 })
  4099.             },
  4100.             r.prototype.init = function (e) {
  4101.                 return void 0 !== e.playlist ? (this.playlist ? this.playlist && this.playlist.id !== e.playlist.id && (this.playlist = e.playlist) : this.playlist = e.playlist, this.pages = {}, this.emit("content:changed", e), !0) : !1
  4102.             },
  4103.             e.exports = r
  4104.         }, function (e, t, n) {
  4105.             "use strict";
  4106.             function i(e) {
  4107.                 this.pages = {},
  4108.                 this.searchQuery = "",
  4109.                 this.relatedToVideoId = "",
  4110.                 this.channelId = "",
  4111.                 this.order = "",
  4112.                 this.type = "",
  4113.                 u.call(this),
  4114.                 e = e || {},
  4115.                 this.filter(e)
  4116.             }
  4117.             var r,
  4118.             o,
  4119.             a,
  4120.             s = n(11),
  4121.             l = n(3),
  4122.             c = n(9),
  4123.             u = n(49);
  4124.             i.prototype = Object.create(u.prototype),
  4125.             i.prototype.constructor = i,
  4126.             i.prototype.getPage = function (e) {
  4127.                 var t,
  4128.                 i = this;
  4129.                 return r || (r = n(10), a = n(23), o = gettext("Author")),
  4130.                 new s(function (n, r) {
  4131.                     if (e.channel = e.channel || i.channel, e.type = i.type, e.searchQuery = e.searchQuery || i.searchQuery, e.page = +e.page || 0, e.relatedToVideoId = e.relatedToVideoId || i.relatedToVideoId, t = "search?part=id&maxResults=" + (e.count || 6), e.page) {
  4132.                         if (!i.pages[e.page])
  4133.                             return void r();
  4134.                         t += "&pageToken=" + i.pages[e.page]
  4135.                     }
  4136.                     e.channel && e.channel.id && (t += "&channelId=" + e.channel.id),
  4137.                     i.order && (t += "&order=" + i.order),
  4138.                     e.relatedToVideoId ? t += "&type=video&relatedToVideoId=" + e.relatedToVideoId : e.type && (t += "&type=video"),
  4139.                     e.searchQuery && (t += "&q=" + encodeURIComponent(e.searchQuery)),
  4140.                     l.settings.safeSearch && (t += "&safeSearch=strict"),
  4141.                     c.request("GET", t).then(function (t) {
  4142.                         var l,
  4143.                         u = [],
  4144.                         d = 0,
  4145.                         h = {},
  4146.                         p = {},
  4147.                         f = "",
  4148.                         m = "",
  4149.                         g = "";
  4150.                         if (t = JSON.parse(t), t.nextPageToken && (i.pages[e.page + 1] = t.nextPageToken), t.prevPageToken && (i.pages[e.page - 1] = t.prevPageToken), t = t.items, 0 === t.length)
  4151.                             r("empty");
  4152.                         else {
  4153.                             for (d = t.length, l = 0; d > l; ++l)
  4154.                                 "youtube#video" === t[l].id.kind ? f += t[l].id.videoId + "," : "youtube#channel" === t[l].id.kind ? (m += t[l].id.channelId + ",", h[l] = 1) : "youtube#playlist" === t[l].id.kind && (g += t[l].id.playlistId + ",", p[l] = 1);
  4155.                             s.all([i.getMovies(f.substr(0, f.length - 1)), i.getChannelsInfo(m.substr(0, m.length - 1)), i.getTotalInfoPlaylists({
  4156.                                         id: g.substr(0, g.length - 1),
  4157.                                         channel: !1
  4158.                                     })]).then(function (e) {
  4159.                                 var t = +new Date,
  4160.                                 i = 0,
  4161.                                 r = 0,
  4162.                                 s = 0;
  4163.                                 for (l = 0; d > l; ++l)
  4164.                                     h[l] && e[1][r] ? (u.push({
  4165.                                             value: 1,
  4166.                                             id: e[1][r].id,
  4167.                                             title: e[1][r].snippet.localized.title,
  4168.                                             icon: e[1][r].snippet.thumbnails.high.url,
  4169.                                             type: "channel",
  4170.                                             viewCount: e[1][r].statistics.viewCount,
  4171.                                             commentCount: e[1][r].statistics.commentCount,
  4172.                                             subscriberCount: e[1][r].statistics.subscriberCount,
  4173.                                             hiddenSubscriberCount: e[1][r].statistics.hiddenSubscriberCount,
  4174.                                             videoCount: e[1][r].statistics.videoCount,
  4175.                                             locale: {
  4176.                                                 subscriberCount: e[1][r].statistics.subscriberCount + " " + ngettext("subscriber", "subscribers", +e[1][r].statistics.subscriberCount)
  4177.                                             }
  4178.                                         }), ++r) : p[l] && e[2][s] ? (u.push({
  4179.                                             value: 1,
  4180.                                             playlistId: e[2][s].id,
  4181.                                             channel: {
  4182.                                                 title: e[2][s].snippet.channelTitle,
  4183.                                                 id: e[2][s].snippet.channelId
  4184.                                             },
  4185.                                             title: e[2][s].snippet.title,
  4186.                                             icon: e[2][s].snippet.thumbnails.high.url,
  4187.                                             type: "playlist",
  4188.                                             channelTitle: e[2][s].snippet.channelTitle,
  4189.                                             viewCount: " ",
  4190.                                             duration: " ",
  4191.                                             publishedAt: e[2][s].snippet.publishedAt,
  4192.                                             locale: {
  4193.                                                 publishedAt: a(e[2][s].snippet.publishedAt, t),
  4194.                                                 viewCount: " ",
  4195.                                                 channelTitle: e[2][s].snippet.channelTitle ? o + ": " + e[2][s].snippet.channelTitle : " "
  4196.                                             }
  4197.                                         }), ++s) : e[0][i] && (u.push({
  4198.                                             value: 1,
  4199.                                             id: e[0][i].id,
  4200.                                             channelTitle: e[0][i].snippet.channelTitle,
  4201.                                             duration: c.normalizeVideoDuration(e[0][i].contentDetails.duration),
  4202.                                             realDuration: e[0][i].contentDetails.duration,
  4203.                                             viewCount: e[0][i].statistics.viewCount,
  4204.                                             publishedAt: e[0][i].snippet.publishedAt,
  4205.                                             dimension: e[0][i].contentDetails.dimension,
  4206.                                             definition: e[0][i].contentDetails.definition,
  4207.                                             title: e[0][i].snippet.localized.title,
  4208.                                             icon: e[0][i].snippet.thumbnails.high.url,
  4209.                                             channelId: e[0][i].snippet.channelId,
  4210.                                             type: "video",
  4211.                                             locale: {
  4212.                                                 publishedAt: a(e[0][i].snippet.publishedAt, t),
  4213.                                                 viewCount: ngettext("view", "views", +e[0][i].statistics.viewCount) + " " + e[0][i].statistics.viewCount,
  4214.                                                 channelTitle: o + ": " + e[0][i].snippet.channelTitle
  4215.                                             }
  4216.                                         }), ++i);
  4217.                                 n(u)
  4218.                             }, function (e) {})["catch"](function (e) {})
  4219.                         }
  4220.                     })["catch"](function (e) {})
  4221.                 })
  4222.             },
  4223.             i.prototype.getChannelsInfo = function (e) {
  4224.                 return e ? c.request("GET", "channels?part=snippet,statistics&id=" + e).then(function (e) {
  4225.                     return JSON.parse(e).items
  4226.                 }) : s.resolve([])
  4227.             },
  4228.             i.prototype.filter = function (e) {
  4229.                 var t = !1;
  4230.                 return void 0 !== e.channel && this.init({
  4231.                     channel: e.channel
  4232.                 }),
  4233.                 void 0 !== e.searchQuery && this.searchQuery !== e.searchQuery && (t = !0, this.searchQuery = e.searchQuery),
  4234.                 void 0 !== e.relatedToVideoId && this.relatedToVideoId !== e.relatedToVideoId && (t = !0, this.relatedToVideoId = e.relatedToVideoId),
  4235.                 void 0 !== e.order && this.order !== e.order && (t = !0, this.order = e.order),
  4236.                 void 0 !== e.type && this.type !== e.type && (t = !0, this.type = e.type),
  4237.                 t ? (this.pages = {}, this.emit("content:changed", e), !0) : !1
  4238.             },
  4239.             e.exports = i
  4240.         }, function (e, t, n) {
  4241.             (function (t, n) {
  4242.                 e.exports = function (e) {
  4243.                     function t(i) {
  4244.                         if (n[i])
  4245.                             return n[i].exports;
  4246.                         var r = n[i] = {
  4247.                             i: i,
  4248.                             l: !1,
  4249.                             exports: {}
  4250.                         };
  4251.                         return e[i].call(r.exports, r, r.exports, t),
  4252.                         r.l = !0,
  4253.                         r.exports
  4254.                     }
  4255.                     var n = {};
  4256.                     return t.m = e,
  4257.                     t.c = n,
  4258.                     t.i = function (e) {
  4259.                         return e
  4260.                     },
  4261.                     t.d = function (e, n, i) {
  4262.                         t.o(e, n) || Object.defineProperty(e, n, {
  4263.                             configurable: !1,
  4264.                             enumerable: !0,
  4265.                             get: i
  4266.                         })
  4267.                     },
  4268.                     t.n = function (e) {
  4269.                         var n = e && e.__esModule ? function () {
  4270.                             return e["default"]
  4271.                         }
  4272.                          : function () {
  4273.                             return e
  4274.                         };
  4275.                         return t.d(n, "a", n),
  4276.                         n
  4277.                     },
  4278.                     t.o = function (e, t) {
  4279.                         return Object.prototype.hasOwnProperty.call(e, t)
  4280.                     },
  4281.                     t.p = "",
  4282.                     t(t.s = 54)
  4283.                 }
  4284.                 ([function (e, t, n) {
  4285.                             "use strict";
  4286.                             (function (e) {
  4287.                                 function i() {
  4288.                                     try {
  4289.                                         var e = new Uint8Array(1);
  4290.                                         return e.__proto__ = {
  4291.                                             __proto__: Uint8Array.prototype,
  4292.                                             foo: function () {
  4293.                                                 return 42
  4294.                                             }
  4295.                                         },
  4296.                                         42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength
  4297.                                     } catch (t) {
  4298.                                         return !1
  4299.                                     }
  4300.                                 }
  4301.                                 function r() {
  4302.                                     return a.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
  4303.                                 }
  4304.                                 function o(e, t) {
  4305.                                     if (r() < t)
  4306.                                         throw new RangeError("Invalid typed array length");
  4307.                                     return a.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t), e.__proto__ = a.prototype) : (null === e && (e = new a(t)), e.length = t),
  4308.                                     e
  4309.                                 }
  4310.                                 function a(e, t, n) {
  4311.                                     if (!(a.TYPED_ARRAY_SUPPORT || this instanceof a))
  4312.                                         return new a(e, t, n);
  4313.                                     if ("number" == typeof e) {
  4314.                                         if ("string" == typeof t)
  4315.                                             throw new Error("If encoding is specified then the first argument must be a string");
  4316.                                         return u(this, e)
  4317.                                     }
  4318.                                     return s(this, e, t, n)
  4319.                                 }
  4320.                                 function s(e, t, n, i) {
  4321.                                     if ("number" == typeof t)
  4322.                                         throw new TypeError('"value" argument must not be a number');
  4323.                                     return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? p(e, t, n, i) : "string" == typeof t ? d(e, t, n) : f(e, t)
  4324.                                 }
  4325.                                 function l(e) {
  4326.                                     if ("number" != typeof e)
  4327.                                         throw new TypeError('"size" argument must be a number');
  4328.                                     if (0 > e)
  4329.                                         throw new RangeError('"size" argument must not be negative')
  4330.                                 }
  4331.                                 function c(e, t, n, i) {
  4332.                                     return l(t),
  4333.                                     0 >= t ? o(e, t) : void 0 !== n ? "string" == typeof i ? o(e, t).fill(n, i) : o(e, t).fill(n) : o(e, t)
  4334.                                 }
  4335.                                 function u(e, t) {
  4336.                                     if (l(t), e = o(e, 0 > t ? 0 : 0 | m(t)), !a.TYPED_ARRAY_SUPPORT)
  4337.                                         for (var n = 0; t > n; ++n)
  4338.                                             e[n] = 0;
  4339.                                     return e
  4340.                                 }
  4341.                                 function d(e, t, n) {
  4342.                                     if ("string" == typeof n && "" !== n || (n = "utf8"), !a.isEncoding(n))
  4343.                                         throw new TypeError('"encoding" must be a valid string encoding');
  4344.                                     var i = 0 | v(t, n);
  4345.                                     e = o(e, i);
  4346.                                     var r = e.write(t, n);
  4347.                                     return r !== i && (e = e.slice(0, r)),
  4348.                                     e
  4349.                                 }
  4350.                                 function h(e, t) {
  4351.                                     var n = t.length < 0 ? 0 : 0 | m(t.length);
  4352.                                     e = o(e, n);
  4353.                                     for (var i = 0; n > i; i += 1)
  4354.                                         e[i] = 255 & t[i];
  4355.                                     return e
  4356.                                 }
  4357.                                 function p(e, t, n, i) {
  4358.                                     if (t.byteLength, 0 > n || t.byteLength < n)
  4359.                                         throw new RangeError("'offset' is out of bounds");
  4360.                                     if (t.byteLength < n + (i || 0))
  4361.                                         throw new RangeError("'length' is out of bounds");
  4362.                                     return t = void 0 === n && void 0 === i ? new Uint8Array(t) : void 0 === i ? new Uint8Array(t, n) : new Uint8Array(t, n, i),
  4363.                                     a.TYPED_ARRAY_SUPPORT ? (e = t, e.__proto__ = a.prototype) : e = h(e, t),
  4364.                                     e
  4365.                                 }
  4366.                                 function f(e, t) {
  4367.                                     if (a.isBuffer(t)) {
  4368.                                         var n = 0 | m(t.length);
  4369.                                         return e = o(e, n),
  4370.                                         0 === e.length ? e : (t.copy(e, 0, 0, n), e)
  4371.                                     }
  4372.                                     if (t) {
  4373.                                         if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t)
  4374.                                             return "number" != typeof t.length || J(t.length) ? o(e, 0) : h(e, t);
  4375.                                         if ("Buffer" === t.type && K(t.data))
  4376.                                             return h(e, t.data)
  4377.                                     }
  4378.                                     throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
  4379.                                 }
  4380.                                 function m(e) {
  4381.                                     if (e >= r())
  4382.                                         throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + r().toString(16) + " bytes");
  4383.                                     return 0 | e
  4384.                                 }
  4385.                                 function g(e) {
  4386.                                     return +e != e && (e = 0),
  4387.                                     a.alloc(+e)
  4388.                                 }
  4389.                                 function v(e, t) {
  4390.                                     if (a.isBuffer(e))
  4391.                                         return e.length;
  4392.                                     if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer))
  4393.                                         return e.byteLength;
  4394.                                     "string" != typeof e && (e = "" + e);
  4395.                                     var n = e.length;
  4396.                                     if (0 === n)
  4397.                                         return 0;
  4398.                                     for (var i = !1; ; )
  4399.                                         switch (t) {
  4400.                                         case "ascii":
  4401.                                         case "latin1":
  4402.                                         case "binary":
  4403.                                             return n;
  4404.                                         case "utf8":
  4405.                                         case "utf-8":
  4406.                                         case void 0:
  4407.                                             return G(e).length;
  4408.                                         case "ucs2":
  4409.                                         case "ucs-2":
  4410.                                         case "utf16le":
  4411.                                         case "utf-16le":
  4412.                                             return 2 * n;
  4413.                                         case "hex":
  4414.                                             return n >>> 1;
  4415.                                         case "base64":
  4416.                                             return W(e).length;
  4417.                                         default:
  4418.                                             if (i)
  4419.                                                 return G(e).length;
  4420.                                             t = ("" + t).toLowerCase(),
  4421.                                             i = !0
  4422.                                         }
  4423.                                 }
  4424.                                 function y(e, t, n) {
  4425.                                     var i = !1;
  4426.                                     if ((void 0 === t || 0 > t) && (t = 0), t > this.length)
  4427.                                         return "";
  4428.                                     if ((void 0 === n || n > this.length) && (n = this.length), 0 >= n)
  4429.                                         return "";
  4430.                                     if (n >>>= 0, t >>>= 0, t >= n)
  4431.                                         return "";
  4432.                                     for (e || (e = "utf8"); ; )
  4433.                                         switch (e) {
  4434.                                         case "hex":
  4435.                                             return $(this, t, n);
  4436.                                         case "utf8":
  4437.                                         case "utf-8":
  4438.                                             return _(this, t, n);
  4439.                                         case "ascii":
  4440.                                             return O(this, t, n);
  4441.                                         case "latin1":
  4442.                                         case "binary":
  4443.                                             return L(this, t, n);
  4444.                                         case "base64":
  4445.                                             return A(this, t, n);
  4446.                                         case "ucs2":
  4447.                                         case "ucs-2":
  4448.                                         case "utf16le":
  4449.                                         case "utf-16le":
  4450.                                             return D(this, t, n);
  4451.                                         default:
  4452.                                             if (i)
  4453.                                                 throw new TypeError("Unknown encoding: " + e);
  4454.                                             e = (e + "").toLowerCase(),
  4455.                                             i = !0
  4456.                                         }
  4457.                                 }
  4458.                                 function b(e, t, n) {
  4459.                                     var i = e[t];
  4460.                                     e[t] = e[n],
  4461.                                     e[n] = i
  4462.                                 }
  4463.                                 function w(e, t, n, i, r) {
  4464.                                     if (0 === e.length)
  4465.                                         return -1;
  4466.                                     if ("string" == typeof n ? (i = n, n = 0) : n > 2147483647 ? n = 2147483647 : -2147483648 > n && (n = -2147483648), n = +n, isNaN(n) && (n = r ? 0 : e.length - 1), 0 > n && (n = e.length + n), n >= e.length) {
  4467.                                         if (r)
  4468.                                             return -1;
  4469.                                         n = e.length - 1
  4470.                                     } else if (0 > n) {
  4471.                                         if (!r)
  4472.                                             return -1;
  4473.                                         n = 0
  4474.                                     }
  4475.                                     if ("string" == typeof t && (t = a.from(t, i)), a.isBuffer(t))
  4476.                                         return 0 === t.length ? -1 : T(e, t, n, i, r);
  4477.                                     if ("number" == typeof t)
  4478.                                         return t = 255 & t, a.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? r ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : T(e, [t], n, i, r);
  4479.                                     throw new TypeError("val must be string, number or Buffer")
  4480.                                 }
  4481.                                 function T(e, t, n, i, r) {
  4482.                                     function o(e, t) {
  4483.                                         return 1 === a ? e[t] : e.readUInt16BE(t * a)
  4484.                                     }
  4485.                                     var a = 1,
  4486.                                     s = e.length,
  4487.                                     l = t.length;
  4488.                                     if (void 0 !== i && (i = String(i).toLowerCase(), "ucs2" === i || "ucs-2" === i || "utf16le" === i || "utf-16le" === i)) {
  4489.                                         if (e.length < 2 || t.length < 2)
  4490.                                             return -1;
  4491.                                         a = 2,
  4492.                                         s /= 2,
  4493.                                         l /= 2,
  4494.                                         n /= 2
  4495.                                     }
  4496.                                     var c;
  4497.                                     if (r) {
  4498.                                         var u = -1;
  4499.                                         for (c = n; s > c; c++)
  4500.                                             if (o(e, c) === o(t, -1 === u ? 0 : c - u)) {
  4501.                                                 if (-1 === u && (u = c), c - u + 1 === l)
  4502.                                                     return u * a
  4503.                                             } else  - 1 !== u && (c -= c - u), u = -1
  4504.                                     } else
  4505.                                         for (n + l > s && (n = s - l),
  4506.                                             c = n; c >= 0; c--) {
  4507.                                             for (var d = !0, h = 0; l > h; h++)
  4508.                                                 if (o(e, c + h) !== o(t, h)) {
  4509.                                                     d = !1;
  4510.                                                     break
  4511.                                                 }
  4512.                                             if (d)
  4513.                                                 return c
  4514.                                         }
  4515.                                     return -1
  4516.                                 }
  4517.                                 function E(e, t, n, i) {
  4518.                                     n = Number(n) || 0;
  4519.                                     var r = e.length - n;
  4520.                                     i ? (i = Number(i), i > r && (i = r)) : i = r;
  4521.                                     var o = t.length;
  4522.                                     if (o % 2 !== 0)
  4523.                                         throw new TypeError("Invalid hex string");
  4524.                                     i > o / 2 && (i = o / 2);
  4525.                                     for (var a = 0; i > a; ++a) {
  4526.                                         var s = parseInt(t.substr(2 * a, 2), 16);
  4527.                                         if (isNaN(s))
  4528.                                             return a;
  4529.                                         e[n + a] = s
  4530.                                     }
  4531.                                     return a
  4532.                                 }
  4533.                                 function x(e, t, n, i) {
  4534.                                     return X(G(t, e.length - n), e, n, i)
  4535.                                 }
  4536.                                 function I(e, t, n, i) {
  4537.                                     return X(Y(t), e, n, i)
  4538.                                 }
  4539.                                 function S(e, t, n, i) {
  4540.                                     return I(e, t, n, i)
  4541.                                 }
  4542.                                 function N(e, t, n, i) {
  4543.                                     return X(W(t), e, n, i)
  4544.                                 }
  4545.                                 function C(e, t, n, i) {
  4546.                                     return X(z(t, e.length - n), e, n, i)
  4547.                                 }
  4548.                                 function A(e, t, n) {
  4549.                                     return 0 === t && n === e.length ? Q.fromByteArray(e) : Q.fromByteArray(e.slice(t, n))
  4550.                                 }
  4551.                                 function _(e, t, n) {
  4552.                                     n = Math.min(e.length, n);
  4553.                                     for (var i = [], r = t; n > r; ) {
  4554.                                         var o = e[r],
  4555.                                         a = null,
  4556.                                         s = o > 239 ? 4 : o > 223 ? 3 : o > 191 ? 2 : 1;
  4557.                                         if (n >= r + s) {
  4558.                                             var l,
  4559.                                             c,
  4560.                                             u,
  4561.                                             d;
  4562.                                             switch (s) {
  4563.                                             case 1:
  4564.                                                 128 > o && (a = o);
  4565.                                                 break;
  4566.                                             case 2:
  4567.                                                 l = e[r + 1],
  4568.                                                 128 === (192 & l) && (d = (31 & o) << 6 | 63 & l, d > 127 && (a = d));
  4569.                                                 break;
  4570.                                             case 3:
  4571.                                                 l = e[r + 1],
  4572.                                                 c = e[r + 2],
  4573.                                                 128 === (192 & l) && 128 === (192 & c) && (d = (15 & o) << 12 | (63 & l) << 6 | 63 & c, d > 2047 && (55296 > d || d > 57343) && (a = d));
  4574.                                                 break;
  4575.                                             case 4:
  4576.                                                 l = e[r + 1],
  4577.                                                 c = e[r + 2],
  4578.                                                 u = e[r + 3],
  4579.                                                 128 === (192 & l) && 128 === (192 & c) && 128 === (192 & u) && (d = (15 & o) << 18 | (63 & l) << 12 | (63 & c) << 6 | 63 & u, d > 65535 && 1114112 > d && (a = d))
  4580.                                             }
  4581.                                         }
  4582.                                         null === a ? (a = 65533, s = 1) : a > 65535 && (a -= 65536, i.push(a >>> 10 & 1023 | 55296), a = 56320 | 1023 & a),
  4583.                                         i.push(a),
  4584.                                         r += s
  4585.                                     }
  4586.                                     return k(i)
  4587.                                 }
  4588.                                 function k(e) {
  4589.                                     var t = e.length;
  4590.                                     if (ee >= t)
  4591.                                         return String.fromCharCode.apply(String, e);
  4592.                                     for (var n = "", i = 0; t > i; )
  4593.                                         n += String.fromCharCode.apply(String, e.slice(i, i += ee));
  4594.                                     return n
  4595.                                 }
  4596.                                 function O(e, t, n) {
  4597.                                     var i = "";
  4598.                                     n = Math.min(e.length, n);
  4599.                                     for (var r = t; n > r; ++r)
  4600.                                         i += String.fromCharCode(127 & e[r]);
  4601.                                     return i
  4602.                                 }
  4603.                                 function L(e, t, n) {
  4604.                                     var i = "";
  4605.                                     n = Math.min(e.length, n);
  4606.                                     for (var r = t; n > r; ++r)
  4607.                                         i += String.fromCharCode(e[r]);
  4608.                                     return i
  4609.                                 }
  4610.                                 function $(e, t, n) {
  4611.                                     var i = e.length;
  4612.                                     (!t || 0 > t) && (t = 0),
  4613.                                     (!n || 0 > n || n > i) && (n = i);
  4614.                                     for (var r = "", o = t; n > o; ++o)
  4615.                                         r += F(e[o]);
  4616.                                     return r
  4617.                                 }
  4618.                                 function D(e, t, n) {
  4619.                                     for (var i = e.slice(t, n), r = "", o = 0; o < i.length; o += 2)
  4620.                                         r += String.fromCharCode(i[o] + 256 * i[o + 1]);
  4621.                                     return r
  4622.                                 }
  4623.                                 function B(e, t, n) {
  4624.                                     if (e % 1 !== 0 || 0 > e)
  4625.                                         throw new RangeError("offset is not uint");
  4626.                                     if (e + t > n)
  4627.                                         throw new RangeError("Trying to access beyond buffer length")
  4628.                                 }
  4629.                                 function P(e, t, n, i, r, o) {
  4630.                                     if (!a.isBuffer(e))
  4631.                                         throw new TypeError('"buffer" argument must be a Buffer instance');
  4632.                                     if (t > r || o > t)
  4633.                                         throw new RangeError('"value" argument is out of bounds');
  4634.                                     if (n + i > e.length)
  4635.                                         throw new RangeError("Index out of range")
  4636.                                 }
  4637.                                 function R(e, t, n, i) {
  4638.                                     0 > t && (t = 65535 + t + 1);
  4639.                                     for (var r = 0, o = Math.min(e.length - n, 2); o > r; ++r)
  4640.                                         e[n + r] = (t & 255 << 8 * (i ? r : 1 - r)) >>> 8 * (i ? r : 1 - r)
  4641.                                 }
  4642.                                 function M(e, t, n, i) {
  4643.                                     0 > t && (t = 4294967295 + t + 1);
  4644.                                     for (var r = 0, o = Math.min(e.length - n, 4); o > r; ++r)
  4645.                                         e[n + r] = t >>> 8 * (i ? r : 3 - r) & 255
  4646.                                 }
  4647.                                 function q(e, t, n, i, r, o) {
  4648.                                     if (n + i > e.length)
  4649.                                         throw new RangeError("Index out of range");
  4650.                                     if (0 > n)
  4651.                                         throw new RangeError("Index out of range")
  4652.                                 }
  4653.                                 function V(e, t, n, i, r) {
  4654.                                     return r || q(e, t, n, 4, 3.4028234663852886e38, -3.4028234663852886e38),
  4655.                                     Z.write(e, t, n, i, 23, 4),
  4656.                                     n + 4
  4657.                                 }
  4658.                                 function U(e, t, n, i, r) {
  4659.                                     return r || q(e, t, n, 8, 1.7976931348623157e308, -1.7976931348623157e308),
  4660.                                     Z.write(e, t, n, i, 52, 8),
  4661.                                     n + 8
  4662.                                 }
  4663.                                 function H(e) {
  4664.                                     if (e = j(e).replace(te, ""), e.length < 2)
  4665.                                         return "";
  4666.                                     for (; e.length % 4 !== 0; )
  4667.                                         e += "=";
  4668.                                     return e
  4669.                                 }
  4670.                                 function j(e) {
  4671.                                     return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "")
  4672.                                 }
  4673.                                 function F(e) {
  4674.                                     return 16 > e ? "0" + e.toString(16) : e.toString(16)
  4675.                                 }
  4676.                                 function G(e, t) {
  4677.                                     t = t || 1 / 0;
  4678.                                     for (var n, i = e.length, r = null, o = [], a = 0; i > a; ++a) {
  4679.                                         if (n = e.charCodeAt(a), n > 55295 && 57344 > n) {
  4680.                                             if (!r) {
  4681.                                                 if (n > 56319) {
  4682.                                                     (t -= 3) > -1 && o.push(239, 191, 189);
  4683.                                                     continue
  4684.                                                 }
  4685.                                                 if (a + 1 === i) {
  4686.                                                     (t -= 3) > -1 && o.push(239, 191, 189);
  4687.                                                     continue
  4688.                                                 }
  4689.                                                 r = n;
  4690.                                                 continue
  4691.                                             }
  4692.                                             if (56320 > n) {
  4693.                                                 (t -= 3) > -1 && o.push(239, 191, 189),
  4694.                                                 r = n;
  4695.                                                 continue
  4696.                                             }
  4697.                                             n = (r - 55296 << 10 | n - 56320) + 65536
  4698.                                         } else
  4699.                                             r && (t -= 3) > -1 && o.push(239, 191, 189);
  4700.                                         if (r = null, 128 > n) {
  4701.                                             if ((t -= 1) < 0)
  4702.                                                 break;
  4703.                                             o.push(n)
  4704.                                         } else if (2048 > n) {
  4705.                                             if ((t -= 2) < 0)
  4706.                                                 break;
  4707.                                             o.push(n >> 6 | 192, 63 & n | 128)
  4708.                                         } else if (65536 > n) {
  4709.                                             if ((t -= 3) < 0)
  4710.                                                 break;
  4711.                                             o.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128)
  4712.                                         } else {
  4713.                                             if (!(1114112 > n))
  4714.                                                 throw new Error("Invalid code point");
  4715.                                             if ((t -= 4) < 0)
  4716.                                                 break;
  4717.                                             o.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128)
  4718.                                         }
  4719.                                     }
  4720.                                     return o
  4721.                                 }
  4722.                                 function Y(e) {
  4723.                                     for (var t = [], n = 0; n < e.length; ++n)
  4724.                                         t.push(255 & e.charCodeAt(n));
  4725.                                     return t
  4726.                                 }
  4727.                                 function z(e, t) {
  4728.                                     for (var n, i, r, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a)
  4729.                                         n = e.charCodeAt(a), i = n >> 8, r = n % 256, o.push(r), o.push(i);
  4730.                                     return o
  4731.                                 }
  4732.                                 function W(e) {
  4733.                                     return Q.toByteArray(H(e))
  4734.                                 }
  4735.                                 function X(e, t, n, i) {
  4736.                                     for (var r = 0; i > r && !(r + n >= t.length || r >= e.length); ++r)
  4737.                                         t[r + n] = e[r];
  4738.                                     return r
  4739.                                 }
  4740.                                 function J(e) {
  4741.                                     return e !== e
  4742.                                 }
  4743.                                 var Q = n(38),
  4744.                                 Z = n(39),
  4745.                                 K = n(21);
  4746.                                 t.Buffer = a,
  4747.                                 t.SlowBuffer = g,
  4748.                                 t.INSPECT_MAX_BYTES = 50,
  4749.                                 a.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : i(),
  4750.                                 t.kMaxLength = r(),
  4751.                                 a.poolSize = 8192,
  4752.                                 a._augment = function (e) {
  4753.                                     return e.__proto__ = a.prototype,
  4754.                                     e
  4755.                                 },
  4756.                                 a.from = function (e, t, n) {
  4757.                                     return s(null, e, t, n)
  4758.                                 },
  4759.                                 a.TYPED_ARRAY_SUPPORT && (a.prototype.__proto__ = Uint8Array.prototype, a.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && a[Symbol.species] === a && Object.defineProperty(a, Symbol.species, {
  4760.                                         value: null,
  4761.                                         configurable: !0
  4762.                                     })),
  4763.                                 a.alloc = function (e, t, n) {
  4764.                                     return c(null, e, t, n)
  4765.                                 },
  4766.                                 a.allocUnsafe = function (e) {
  4767.                                     return u(null, e)
  4768.                                 },
  4769.                                 a.allocUnsafeSlow = function (e) {
  4770.                                     return u(null, e)
  4771.                                 },
  4772.                                 a.isBuffer = function (e) {
  4773.                                     return !(null == e || !e._isBuffer)
  4774.                                 },
  4775.                                 a.compare = function (e, t) {
  4776.                                     if (!a.isBuffer(e) || !a.isBuffer(t))
  4777.                                         throw new TypeError("Arguments must be Buffers");
  4778.                                     if (e === t)
  4779.                                         return 0;
  4780.                                     for (var n = e.length, i = t.length, r = 0, o = Math.min(n, i); o > r; ++r)
  4781.                                         if (e[r] !== t[r]) {
  4782.                                             n = e[r],
  4783.                                             i = t[r];
  4784.                                             break
  4785.                                         }
  4786.                                     return i > n ? -1 : n > i ? 1 : 0
  4787.                                 },
  4788.                                 a.isEncoding = function (e) {
  4789.                                     switch (String(e).toLowerCase()) {
  4790.                                     case "hex":
  4791.                                     case "utf8":
  4792.                                     case "utf-8":
  4793.                                     case "ascii":
  4794.                                     case "latin1":
  4795.                                     case "binary":
  4796.                                     case "base64":
  4797.                                     case "ucs2":
  4798.                                     case "ucs-2":
  4799.                                     case "utf16le":
  4800.                                     case "utf-16le":
  4801.                                         return !0;
  4802.                                     default:
  4803.                                         return !1
  4804.                                     }
  4805.                                 },
  4806.                                 a.concat = function (e, t) {
  4807.                                     if (!K(e))
  4808.                                         throw new TypeError('"list" argument must be an Array of Buffers');
  4809.                                     if (0 === e.length)
  4810.                                         return a.alloc(0);
  4811.                                     var n;
  4812.                                     if (void 0 === t)
  4813.                                         for (t = 0, n = 0; n < e.length; ++n)
  4814.                                             t += e[n].length;
  4815.                                     var i = a.allocUnsafe(t),
  4816.                                     r = 0;
  4817.                                     for (n = 0; n < e.length; ++n) {
  4818.                                         var o = e[n];
  4819.                                         if (!a.isBuffer(o))
  4820.                                             throw new TypeError('"list" argument must be an Array of Buffers');
  4821.                                         o.copy(i, r),
  4822.                                         r += o.length
  4823.                                     }
  4824.                                     return i
  4825.                                 },
  4826.                                 a.byteLength = v,
  4827.                                 a.prototype._isBuffer = !0,
  4828.                                 a.prototype.swap16 = function () {
  4829.                                     var e = this.length;
  4830.                                     if (e % 2 !== 0)
  4831.                                         throw new RangeError("Buffer size must be a multiple of 16-bits");
  4832.                                     for (var t = 0; e > t; t += 2)
  4833.                                         b(this, t, t + 1);
  4834.                                     return this
  4835.                                 },
  4836.                                 a.prototype.swap32 = function () {
  4837.                                     var e = this.length;
  4838.                                     if (e % 4 !== 0)
  4839.                                         throw new RangeError("Buffer size must be a multiple of 32-bits");
  4840.                                     for (var t = 0; e > t; t += 4)
  4841.                                         b(this, t, t + 3), b(this, t + 1, t + 2);
  4842.                                     return this
  4843.                                 },
  4844.                                 a.prototype.swap64 = function () {
  4845.                                     var e = this.length;
  4846.                                     if (e % 8 !== 0)
  4847.                                         throw new RangeError("Buffer size must be a multiple of 64-bits");
  4848.                                     for (var t = 0; e > t; t += 8)
  4849.                                         b(this, t, t + 7), b(this, t + 1, t + 6), b(this, t + 2, t + 5), b(this, t + 3, t + 4);
  4850.                                     return this
  4851.                                 },
  4852.                                 a.prototype.toString = function () {
  4853.                                     var e = 0 | this.length;
  4854.                                     return 0 === e ? "" : 0 === arguments.length ? _(this, 0, e) : y.apply(this, arguments)
  4855.                                 },
  4856.                                 a.prototype.equals = function (e) {
  4857.                                     if (!a.isBuffer(e))
  4858.                                         throw new TypeError("Argument must be a Buffer");
  4859.                                     return this === e ? !0 : 0 === a.compare(this, e)
  4860.                                 },
  4861.                                 a.prototype.inspect = function () {
  4862.                                     var e = "",
  4863.                                     n = t.INSPECT_MAX_BYTES;
  4864.                                     return this.length > 0 && (e = this.toString("hex", 0, n).match(/.{2}/g).join(" "), this.length > n && (e += " ... ")),
  4865.                                     "<Buffer " + e + ">"
  4866.                                 },
  4867.                                 a.prototype.compare = function (e, t, n, i, r) {
  4868.                                     if (!a.isBuffer(e))
  4869.                                         throw new TypeError("Argument must be a Buffer");
  4870.                                     if (void 0 === t && (t = 0), void 0 === n && (n = e ? e.length : 0), void 0 === i && (i = 0), void 0 === r && (r = this.length), 0 > t || n > e.length || 0 > i || r > this.length)
  4871.                                         throw new RangeError("out of range index");
  4872.                                     if (i >= r && t >= n)
  4873.                                         return 0;
  4874.                                     if (i >= r)
  4875.                                         return -1;
  4876.                                     if (t >= n)
  4877.                                         return 1;
  4878.                                     if (t >>>= 0, n >>>= 0, i >>>= 0, r >>>= 0, this === e)
  4879.                                         return 0;
  4880.                                     for (var o = r - i, s = n - t, l = Math.min(o, s), c = this.slice(i, r), u = e.slice(t, n), d = 0; l > d; ++d)
  4881.                                         if (c[d] !== u[d]) {
  4882.                                             o = c[d],
  4883.                                             s = u[d];
  4884.                                             break
  4885.                                         }
  4886.                                     return s > o ? -1 : o > s ? 1 : 0
  4887.                                 },
  4888.                                 a.prototype.includes = function (e, t, n) {
  4889.                                     return -1 !== this.indexOf(e, t, n)
  4890.                                 },
  4891.                                 a.prototype.indexOf = function (e, t, n) {
  4892.                                     return w(this, e, t, n, !0)
  4893.                                 },
  4894.                                 a.prototype.lastIndexOf = function (e, t, n) {
  4895.                                     return w(this, e, t, n, !1)
  4896.                                 },
  4897.                                 a.prototype.write = function (e, t, n, i) {
  4898.                                     if (void 0 === t)
  4899.                                         i = "utf8", n = this.length, t = 0;
  4900.                                     else if (void 0 === n && "string" == typeof t)
  4901.                                         i = t, n = this.length, t = 0;
  4902.                                     else {
  4903.                                         if (!isFinite(t))
  4904.                                             throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
  4905.                                         t = 0 | t,
  4906.                                         isFinite(n) ? (n = 0 | n, void 0 === i && (i = "utf8")) : (i = n, n = void 0)
  4907.                                     }
  4908.                                     var r = this.length - t;
  4909.                                     if ((void 0 === n || n > r) && (n = r), e.length > 0 && (0 > n || 0 > t) || t > this.length)
  4910.                                         throw new RangeError("Attempt to write outside buffer bounds");
  4911.                                     i || (i = "utf8");
  4912.                                     for (var o = !1; ; )
  4913.                                         switch (i) {
  4914.                                         case "hex":
  4915.                                             return E(this, e, t, n);
  4916.                                         case "utf8":
  4917.                                         case "utf-8":
  4918.                                             return x(this, e, t, n);
  4919.                                         case "ascii":
  4920.                                             return I(this, e, t, n);
  4921.                                         case "latin1":
  4922.                                         case "binary":
  4923.                                             return S(this, e, t, n);
  4924.                                         case "base64":
  4925.                                             return N(this, e, t, n);
  4926.                                         case "ucs2":
  4927.                                         case "ucs-2":
  4928.                                         case "utf16le":
  4929.                                         case "utf-16le":
  4930.                                             return C(this, e, t, n);
  4931.                                         default:
  4932.                                             if (o)
  4933.                                                 throw new TypeError("Unknown encoding: " + i);
  4934.                                             i = ("" + i).toLowerCase(),
  4935.                                             o = !0
  4936.                                         }
  4937.                                 },
  4938.                                 a.prototype.toJSON = function () {
  4939.                                     return {
  4940.                                         type: "Buffer",
  4941.                                         data: Array.prototype.slice.call(this._arr || this, 0)
  4942.                                     }
  4943.                                 };
  4944.                                 var ee = 4096;
  4945.                                 a.prototype.slice = function (e, t) {
  4946.                                     var n = this.length;
  4947.                                     e = ~~e,
  4948.                                     t = void 0 === t ? n : ~~t,
  4949.                                     0 > e ? (e += n, 0 > e && (e = 0)) : e > n && (e = n),
  4950.                                     0 > t ? (t += n, 0 > t && (t = 0)) : t > n && (t = n),
  4951.                                     e > t && (t = e);
  4952.                                     var i;
  4953.                                     if (a.TYPED_ARRAY_SUPPORT)
  4954.                                         i = this.subarray(e, t), i.__proto__ = a.prototype;
  4955.                                     else {
  4956.                                         var r = t - e;
  4957.                                         i = new a(r, void 0);
  4958.                                         for (var o = 0; r > o; ++o)
  4959.                                             i[o] = this[o + e]
  4960.                                     }
  4961.                                     return i
  4962.                                 },
  4963.                                 a.prototype.readUIntLE = function (e, t, n) {
  4964.                                     e = 0 | e,
  4965.                                     t = 0 | t,
  4966.                                     n || B(e, t, this.length);
  4967.                                     for (var i = this[e], r = 1, o = 0; ++o < t && (r *= 256); )
  4968.                                         i += this[e + o] * r;
  4969.                                     return i
  4970.                                 },
  4971.                                 a.prototype.readUIntBE = function (e, t, n) {
  4972.                                     e = 0 | e,
  4973.                                     t = 0 | t,
  4974.                                     n || B(e, t, this.length);
  4975.                                     for (var i = this[e + --t], r = 1; t > 0 && (r *= 256); )
  4976.                                         i += this[e + --t] * r;
  4977.                                     return i
  4978.                                 },
  4979.                                 a.prototype.readUInt8 = function (e, t) {
  4980.                                     return t || B(e, 1, this.length),
  4981.                                     this[e]
  4982.                                 },
  4983.                                 a.prototype.readUInt16LE = function (e, t) {
  4984.                                     return t || B(e, 2, this.length),
  4985.                                     this[e] | this[e + 1] << 8
  4986.                                 },
  4987.                                 a.prototype.readUInt16BE = function (e, t) {
  4988.                                     return t || B(e, 2, this.length),
  4989.                                     this[e] << 8 | this[e + 1]
  4990.                                 },
  4991.                                 a.prototype.readUInt32LE = function (e, t) {
  4992.                                     return t || B(e, 4, this.length),
  4993.                                     (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3]
  4994.                                 },
  4995.                                 a.prototype.readUInt32BE = function (e, t) {
  4996.                                     return t || B(e, 4, this.length),
  4997.                                     16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3])
  4998.                                 },
  4999.                                 a.prototype.readIntLE = function (e, t, n) {
  5000.                                     e = 0 | e,
  5001.                                     t = 0 | t,
  5002.                                     n || B(e, t, this.length);
  5003.                                     for (var i = this[e], r = 1, o = 0; ++o < t && (r *= 256); )
  5004.                                         i += this[e + o] * r;
  5005.                                     return r *= 128,
  5006.                                     i >= r && (i -= Math.pow(2, 8 * t)),
  5007.                                     i
  5008.                                 },
  5009.                                 a.prototype.readIntBE = function (e, t, n) {
  5010.                                     e = 0 | e,
  5011.                                     t = 0 | t,
  5012.                                     n || B(e, t, this.length);
  5013.                                     for (var i = t, r = 1, o = this[e + --i]; i > 0 && (r *= 256); )
  5014.                                         o += this[e + --i] * r;
  5015.                                     return r *= 128,
  5016.                                     o >= r && (o -= Math.pow(2, 8 * t)),
  5017.                                     o
  5018.                                 },
  5019.                                 a.prototype.readInt8 = function (e, t) {
  5020.                                     return t || B(e, 1, this.length),
  5021.                                     128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
  5022.                                 },
  5023.                                 a.prototype.readInt16LE = function (e, t) {
  5024.                                     t || B(e, 2, this.length);
  5025.                                     var n = this[e] | this[e + 1] << 8;
  5026.                                     return 32768 & n ? 4294901760 | n : n
  5027.                                 },
  5028.                                 a.prototype.readInt16BE = function (e, t) {
  5029.                                     t || B(e, 2, this.length);
  5030.                                     var n = this[e + 1] | this[e] << 8;
  5031.                                     return 32768 & n ? 4294901760 | n : n
  5032.                                 },
  5033.                                 a.prototype.readInt32LE = function (e, t) {
  5034.                                     return t || B(e, 4, this.length),
  5035.                                     this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24
  5036.                                 },
  5037.                                 a.prototype.readInt32BE = function (e, t) {
  5038.                                     return t || B(e, 4, this.length),
  5039.                                     this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]
  5040.                                 },
  5041.                                 a.prototype.readFloatLE = function (e, t) {
  5042.                                     return t || B(e, 4, this.length),
  5043.                                     Z.read(this, e, !0, 23, 4)
  5044.                                 },
  5045.                                 a.prototype.readFloatBE = function (e, t) {
  5046.                                     return t || B(e, 4, this.length),
  5047.                                     Z.read(this, e, !1, 23, 4)
  5048.                                 },
  5049.                                 a.prototype.readDoubleLE = function (e, t) {
  5050.                                     return t || B(e, 8, this.length),
  5051.                                     Z.read(this, e, !0, 52, 8)
  5052.                                 },
  5053.                                 a.prototype.readDoubleBE = function (e, t) {
  5054.                                     return t || B(e, 8, this.length),
  5055.                                     Z.read(this, e, !1, 52, 8)
  5056.                                 },
  5057.                                 a.prototype.writeUIntLE = function (e, t, n, i) {
  5058.                                     if (e = +e, t = 0 | t, n = 0 | n, !i) {
  5059.                                         var r = Math.pow(2, 8 * n) - 1;
  5060.                                         P(this, e, t, n, r, 0)
  5061.                                     }
  5062.                                     var o = 1,
  5063.                                     a = 0;
  5064.                                     for (this[t] = 255 & e; ++a < n && (o *= 256); )
  5065.                                         this[t + a] = e / o & 255;
  5066.                                     return t + n
  5067.                                 },
  5068.                                 a.prototype.writeUIntBE = function (e, t, n, i) {
  5069.                                     if (e = +e, t = 0 | t, n = 0 | n, !i) {
  5070.                                         var r = Math.pow(2, 8 * n) - 1;
  5071.                                         P(this, e, t, n, r, 0)
  5072.                                     }
  5073.                                     var o = n - 1,
  5074.                                     a = 1;
  5075.                                     for (this[t + o] = 255 & e; --o >= 0 && (a *= 256); )
  5076.                                         this[t + o] = e / a & 255;
  5077.                                     return t + n
  5078.                                 },
  5079.                                 a.prototype.writeUInt8 = function (e, t, n) {
  5080.                                     return e = +e,
  5081.                                     t = 0 | t,
  5082.                                     n || P(this, e, t, 1, 255, 0),
  5083.                                     a.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
  5084.                                     this[t] = 255 & e,
  5085.                                     t + 1
  5086.                                 },
  5087.                                 a.prototype.writeUInt16LE = function (e, t, n) {
  5088.                                     return e = +e,
  5089.                                     t = 0 | t,
  5090.                                     n || P(this, e, t, 2, 65535, 0),
  5091.                                     a.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : R(this, e, t, !0),
  5092.                                     t + 2
  5093.                                 },
  5094.                                 a.prototype.writeUInt16BE = function (e, t, n) {
  5095.                                     return e = +e,
  5096.                                     t = 0 | t,
  5097.                                     n || P(this, e, t, 2, 65535, 0),
  5098.                                     a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : R(this, e, t, !1),
  5099.                                     t + 2
  5100.                                 },
  5101.                                 a.prototype.writeUInt32LE = function (e, t, n) {
  5102.                                     return e = +e,
  5103.                                     t = 0 | t,
  5104.                                     n || P(this, e, t, 4, 4294967295, 0),
  5105.                                     a.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : M(this, e, t, !0),
  5106.                                     t + 4
  5107.                                 },
  5108.                                 a.prototype.writeUInt32BE = function (e, t, n) {
  5109.                                     return e = +e,
  5110.                                     t = 0 | t,
  5111.                                     n || P(this, e, t, 4, 4294967295, 0),
  5112.                                     a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : M(this, e, t, !1),
  5113.                                     t + 4
  5114.                                 },
  5115.                                 a.prototype.writeIntLE = function (e, t, n, i) {
  5116.                                     if (e = +e, t = 0 | t, !i) {
  5117.                                         var r = Math.pow(2, 8 * n - 1);
  5118.                                         P(this, e, t, n, r - 1, -r)
  5119.                                     }
  5120.                                     var o = 0,
  5121.                                     a = 1,
  5122.                                     s = 0;
  5123.                                     for (this[t] = 255 & e; ++o < n && (a *= 256); )
  5124.                                         0 > e && 0 === s && 0 !== this[t + o - 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;
  5125.                                     return t + n
  5126.                                 },
  5127.                                 a.prototype.writeIntBE = function (e, t, n, i) {
  5128.                                     if (e = +e, t = 0 | t, !i) {
  5129.                                         var r = Math.pow(2, 8 * n - 1);
  5130.                                         P(this, e, t, n, r - 1, -r)
  5131.                                     }
  5132.                                     var o = n - 1,
  5133.                                     a = 1,
  5134.                                     s = 0;
  5135.                                     for (this[t + o] = 255 & e; --o >= 0 && (a *= 256); )
  5136.                                         0 > e && 0 === s && 0 !== this[t + o + 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;
  5137.                                     return t + n
  5138.                                 },
  5139.                                 a.prototype.writeInt8 = function (e, t, n) {
  5140.                                     return e = +e,
  5141.                                     t = 0 | t,
  5142.                                     n || P(this, e, t, 1, 127, -128),
  5143.                                     a.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
  5144.                                     0 > e && (e = 255 + e + 1),
  5145.                                     this[t] = 255 & e,
  5146.                                     t + 1
  5147.                                 },
  5148.                                 a.prototype.writeInt16LE = function (e, t, n) {
  5149.                                     return e = +e,
  5150.                                     t = 0 | t,
  5151.                                     n || P(this, e, t, 2, 32767, -32768),
  5152.                                     a.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : R(this, e, t, !0),
  5153.                                     t + 2
  5154.                                 },
  5155.                                 a.prototype.writeInt16BE = function (e, t, n) {
  5156.                                     return e = +e,
  5157.                                     t = 0 | t,
  5158.                                     n || P(this, e, t, 2, 32767, -32768),
  5159.                                     a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : R(this, e, t, !1),
  5160.                                     t + 2
  5161.                                 },
  5162.                                 a.prototype.writeInt32LE = function (e, t, n) {
  5163.                                     return e = +e,
  5164.                                     t = 0 | t,
  5165.                                     n || P(this, e, t, 4, 2147483647, -2147483648),
  5166.                                     a.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : M(this, e, t, !0),
  5167.                                     t + 4
  5168.                                 },
  5169.                                 a.prototype.writeInt32BE = function (e, t, n) {
  5170.                                     return e = +e,
  5171.                                     t = 0 | t,
  5172.                                     n || P(this, e, t, 4, 2147483647, -2147483648),
  5173.                                     0 > e && (e = 4294967295 + e + 1),
  5174.                                     a.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : M(this, e, t, !1),
  5175.                                     t + 4
  5176.                                 },
  5177.                                 a.prototype.writeFloatLE = function (e, t, n) {
  5178.                                     return V(this, e, t, !0, n)
  5179.                                 },
  5180.                                 a.prototype.writeFloatBE = function (e, t, n) {
  5181.                                     return V(this, e, t, !1, n)
  5182.                                 },
  5183.                                 a.prototype.writeDoubleLE = function (e, t, n) {
  5184.                                     return U(this, e, t, !0, n)
  5185.                                 },
  5186.                                 a.prototype.writeDoubleBE = function (e, t, n) {
  5187.                                     return U(this, e, t, !1, n)
  5188.                                 },
  5189.                                 a.prototype.copy = function (e, t, n, i) {
  5190.                                     if (n || (n = 0), i || 0 === i || (i = this.length), t >= e.length && (t = e.length), t || (t = 0), i > 0 && n > i && (i = n), i === n)
  5191.                                         return 0;
  5192.                                     if (0 === e.length || 0 === this.length)
  5193.                                         return 0;
  5194.                                     if (0 > t)
  5195.                                         throw new RangeError("targetStart out of bounds");
  5196.                                     if (0 > n || n >= this.length)
  5197.                                         throw new RangeError("sourceStart out of bounds");
  5198.                                     if (0 > i)
  5199.                                         throw new RangeError("sourceEnd out of bounds");
  5200.                                     i > this.length && (i = this.length),
  5201.                                     e.length - t < i - n && (i = e.length - t + n);
  5202.                                     var r,
  5203.                                     o = i - n;
  5204.                                     if (this === e && t > n && i > t)
  5205.                                         for (r = o - 1; r >= 0; --r)
  5206.                                             e[r + t] = this[r + n];
  5207.                                     else if (1e3 > o || !a.TYPED_ARRAY_SUPPORT)
  5208.                                         for (r = 0; o > r; ++r)
  5209.                                             e[r + t] = this[r + n];
  5210.                                     else
  5211.                                         Uint8Array.prototype.set.call(e, this.subarray(n, n + o), t);
  5212.                                     return o
  5213.                                 },
  5214.                                 a.prototype.fill = function (e, t, n, i) {
  5215.                                     if ("string" == typeof e) {
  5216.                                         if ("string" == typeof t ? (i = t, t = 0, n = this.length) : "string" == typeof n && (i = n, n = this.length), 1 === e.length) {
  5217.                                             var r = e.charCodeAt(0);
  5218.                                             256 > r && (e = r)
  5219.                                         }
  5220.                                         if (void 0 !== i && "string" != typeof i)
  5221.                                             throw new TypeError("encoding must be a string");
  5222.                                         if ("string" == typeof i && !a.isEncoding(i))
  5223.                                             throw new TypeError("Unknown encoding: " + i)
  5224.                                     } else
  5225.                                         "number" == typeof e && (e = 255 & e);
  5226.                                     if (0 > t || this.length < t || this.length < n)
  5227.                                         throw new RangeError("Out of range index");
  5228.                                     if (t >= n)
  5229.                                         return this;
  5230.                                     t >>>= 0,
  5231.                                     n = void 0 === n ? this.length : n >>> 0,
  5232.                                     e || (e = 0);
  5233.                                     var o;
  5234.                                     if ("number" == typeof e)
  5235.                                         for (o = t; n > o; ++o)
  5236.                                             this[o] = e;
  5237.                                     else {
  5238.                                         var s = a.isBuffer(e) ? e : G(new a(e, i).toString()),
  5239.                                         l = s.length;
  5240.                                         for (o = 0; n - t > o; ++o)
  5241.                                             this[o + t] = s[o % l]
  5242.                                     }
  5243.                                     return this
  5244.                                 };
  5245.                                 var te = /[^+\/0-9A-Za-z-_]/g
  5246.                             }).call(t, n(2))
  5247.                         }, function (e, t, n) {
  5248.                             "use strict";
  5249.                             function i(e) {
  5250.                                 return this instanceof i ? (c.call(this, e), u.call(this, e), e && e.readable === !1 && (this.readable = !1), e && e.writable === !1 && (this.writable = !1), this.allowHalfOpen = !0, e && e.allowHalfOpen === !1 && (this.allowHalfOpen = !1), void this.once("end", r)) : new i(e)
  5251.                             }
  5252.                             function r() {
  5253.                                 this.allowHalfOpen || this._writableState.ended || s(o, this)
  5254.                             }
  5255.                             function o(e) {
  5256.                                 e.end()
  5257.                             }
  5258.                             var a = Object.keys || function (e) {
  5259.                                 var t = [];
  5260.                                 for (var n in e)
  5261.                                     t.push(n);
  5262.                                 return t
  5263.                             };
  5264.                             e.exports = i;
  5265.                             var s = n(12),
  5266.                             l = n(5);
  5267.                             l.inherits = n(3);
  5268.                             var c = n(23),
  5269.                             u = n(15);
  5270.                             l.inherits(i, c);
  5271.                             for (var d = a(u.prototype), h = 0; h < d.length; h++) {
  5272.                                 var p = d[h];
  5273.                                 i.prototype[p] || (i.prototype[p] = u.prototype[p])
  5274.                             }
  5275.                         }, function (e, t) {
  5276.                             var n;
  5277.                             n = function () {
  5278.                                 return this
  5279.                             }
  5280.                             ();
  5281.                             try {
  5282.                                 n = n || Function("return this")() || (0, eval)("this")
  5283.                             } catch (i) {
  5284.                                 "object" == typeof window && (n = window)
  5285.                             }
  5286.                             e.exports = n
  5287.                         }, function (e, t) {
  5288.                             "function" == typeof Object.create ? e.exports = function (e, t) {
  5289.                                 e.super_ = t,
  5290.                                 e.prototype = Object.create(t.prototype, {
  5291.                                         constructor: {
  5292.                                             value: e,
  5293.                                             enumerable: !1,
  5294.                                             writable: !0,
  5295.                                             configurable: !0
  5296.                                         }
  5297.                                     })
  5298.                             }
  5299.                              : e.exports = function (e, t) {
  5300.                                 e.super_ = t;
  5301.                                 var n = function () {};
  5302.                                 n.prototype = t.prototype,
  5303.                                 e.prototype = new n,
  5304.                                 e.prototype.constructor = e
  5305.                             }
  5306.                         }, function (e, t) {
  5307.                             function n() {
  5308.                                 throw new Error("setTimeout has not been defined")
  5309.                             }
  5310.                             function i() {
  5311.                                 throw new Error("clearTimeout has not been defined")
  5312.                             }
  5313.                             function r(e) {
  5314.                                 if (u === setTimeout)
  5315.                                     return setTimeout(e, 0);
  5316.                                 if ((u === n || !u) && setTimeout)
  5317.                                     return u = setTimeout, setTimeout(e, 0);
  5318.                                 try {
  5319.                                     return u(e, 0)
  5320.                                 } catch (t) {
  5321.                                     try {
  5322.                                         return u.call(null, e, 0)
  5323.                                     } catch (t) {
  5324.                                         return u.call(this, e, 0)
  5325.                                     }
  5326.                                 }
  5327.                             }
  5328.                             function o(e) {
  5329.                                 if (d === clearTimeout)
  5330.                                     return clearTimeout(e);
  5331.                                 if ((d === i || !d) && clearTimeout)
  5332.                                     return d = clearTimeout, clearTimeout(e);
  5333.                                 try {
  5334.                                     return d(e)
  5335.                                 } catch (t) {
  5336.                                     try {
  5337.                                         return d.call(null, e)
  5338.                                     } catch (t) {
  5339.                                         return d.call(this, e)
  5340.                                     }
  5341.                                 }
  5342.                             }
  5343.                             function a() {
  5344.                                 m && p && (m = !1, p.length ? f = p.concat(f) : g = -1, f.length && s())
  5345.                             }
  5346.                             function s() {
  5347.                                 if (!m) {
  5348.                                     var e = r(a);
  5349.                                     m = !0;
  5350.                                     for (var t = f.length; t; ) {
  5351.                                         for (p = f, f = []; ++g < t; )
  5352.                                             p && p[g].run();
  5353.                                         g = -1,
  5354.                                         t = f.length
  5355.                                     }
  5356.                                     p = null,
  5357.                                     m = !1,
  5358.                                     o(e)
  5359.                                 }
  5360.                             }
  5361.                             function l(e, t) {
  5362.                                 this.fun = e,
  5363.                                 this.array = t
  5364.                             }
  5365.                             function c() {}
  5366.                             var u,
  5367.                             d,
  5368.                             h = e.exports = {};
  5369.                             !function () {
  5370.                                 try {
  5371.                                     u = "function" == typeof setTimeout ? setTimeout : n
  5372.                                 } catch (e) {
  5373.                                     u = n
  5374.                                 }
  5375.                                 try {
  5376.                                     d = "function" == typeof clearTimeout ? clearTimeout : i
  5377.                                 } catch (e) {
  5378.                                     d = i
  5379.                                 }
  5380.                             }
  5381.                             ();
  5382.                             var p,
  5383.                             f = [],
  5384.                             m = !1,
  5385.                             g = -1;
  5386.                             h.nextTick = function (e) {
  5387.                                 var t = new Array(arguments.length - 1);
  5388.                                 if (arguments.length > 1)
  5389.                                     for (var n = 1; n < arguments.length; n++)
  5390.                                         t[n - 1] = arguments[n];
  5391.                                 f.push(new l(e, t)),
  5392.                                 1 !== f.length || m || r(s)
  5393.                             },
  5394.                             l.prototype.run = function () {
  5395.                                 this.fun.apply(null, this.array)
  5396.                             },
  5397.                             h.title = "browser",
  5398.                             h.browser = !0,
  5399.                             h.env = {},
  5400.                             h.argv = [],
  5401.                             h.version = "",
  5402.                             h.versions = {},
  5403.                             h.on = c,
  5404.                             h.addListener = c,
  5405.                             h.once = c,
  5406.                             h.off = c,
  5407.                             h.removeListener = c,
  5408.                             h.removeAllListeners = c,
  5409.                             h.emit = c,
  5410.                             h.binding = function (e) {
  5411.                                 throw new Error("process.binding is not supported")
  5412.                             },
  5413.                             h.cwd = function () {
  5414.                                 return "/"
  5415.                             },
  5416.                             h.chdir = function (e) {
  5417.                                 throw new Error("process.chdir is not supported")
  5418.                             },
  5419.                             h.umask = function () {
  5420.                                 return 0
  5421.                             }
  5422.                         }, function (e, t, n) {
  5423.                             (function (e) {
  5424.                                 function n(e) {
  5425.                                     return Array.isArray ? Array.isArray(e) : "[object Array]" === g(e)
  5426.                                 }
  5427.                                 function i(e) {
  5428.                                     return "boolean" == typeof e
  5429.                                 }
  5430.                                 function r(e) {
  5431.                                     return null === e
  5432.                                 }
  5433.                                 function o(e) {
  5434.                                     return null == e
  5435.                                 }
  5436.                                 function a(e) {
  5437.                                     return "number" == typeof e
  5438.                                 }
  5439.                                 function s(e) {
  5440.                                     return "string" == typeof e
  5441.                                 }
  5442.                                 function l(e) {
  5443.                                     return "symbol" == typeof e
  5444.                                 }
  5445.                                 function c(e) {
  5446.                                     return void 0 === e
  5447.                                 }
  5448.                                 function u(e) {
  5449.                                     return "[object RegExp]" === g(e)
  5450.                                 }
  5451.                                 function d(e) {
  5452.                                     return "object" == typeof e && null !== e
  5453.                                 }
  5454.                                 function h(e) {
  5455.                                     return "[object Date]" === g(e)
  5456.                                 }
  5457.                                 function p(e) {
  5458.                                     return "[object Error]" === g(e) || e instanceof Error
  5459.                                 }
  5460.                                 function f(e) {
  5461.                                     return "function" == typeof e
  5462.                                 }
  5463.                                 function m(e) {
  5464.                                     return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" == typeof e || "undefined" == typeof e
  5465.                                 }
  5466.                                 function g(e) {
  5467.                                     return Object.prototype.toString.call(e)
  5468.                                 }
  5469.                                 t.isArray = n,
  5470.                                 t.isBoolean = i,
  5471.                                 t.isNull = r,
  5472.                                 t.isNullOrUndefined = o,
  5473.                                 t.isNumber = a,
  5474.                                 t.isString = s,
  5475.                                 t.isSymbol = l,
  5476.                                 t.isUndefined = c,
  5477.                                 t.isRegExp = u,
  5478.                                 t.isObject = d,
  5479.                                 t.isDate = h,
  5480.                                 t.isError = p,
  5481.                                 t.isFunction = f,
  5482.                                 t.isPrimitive = m,
  5483.                                 t.isBuffer = e.isBuffer
  5484.                             }).call(t, n(0).Buffer)
  5485.                         }, function (e, t, n) {
  5486.                             function i() {
  5487.                                 r.call(this)
  5488.                             }
  5489.                             e.exports = i;
  5490.                             var r = n(7).EventEmitter,
  5491.                             o = n(3);
  5492.                             o(i, r),
  5493.                             i.Readable = n(47),
  5494.                             i.Writable = n(49),
  5495.                             i.Duplex = n(44),
  5496.                             i.Transform = n(48),
  5497.                             i.PassThrough = n(46),
  5498.                             i.Stream = i,
  5499.                             i.prototype.pipe = function (e, t) {
  5500.                                 function n(t) {
  5501.                                     e.writable && !1 === e.write(t) && c.pause && c.pause()
  5502.                                 }
  5503.                                 function i() {
  5504.                                     c.readable && c.resume && c.resume()
  5505.                                 }
  5506.                                 function o() {
  5507.                                     u || (u = !0, e.end())
  5508.                                 }
  5509.                                 function a() {
  5510.                                     u || (u = !0, "function" == typeof e.destroy && e.destroy())
  5511.                                 }
  5512.                                 function s(e) {
  5513.                                     if (l(), 0 === r.listenerCount(this, "error"))
  5514.                                         throw e
  5515.                                 }
  5516.                                 function l() {
  5517.                                     c.removeListener("data", n),
  5518.                                     e.removeListener("drain", i),
  5519.                                     c.removeListener("end", o),
  5520.                                     c.removeListener("close", a),
  5521.                                     c.removeListener("error", s),
  5522.                                     e.removeListener("error", s),
  5523.                                     c.removeListener("end", l),
  5524.                                     c.removeListener("close", l),
  5525.                                     e.removeListener("close", l)
  5526.                                 }
  5527.                                 var c = this;
  5528.                                 c.on("data", n),
  5529.                                 e.on("drain", i),
  5530.                                 e._isStdio || t && t.end === !1 || (c.on("end", o), c.on("close", a));
  5531.                                 var u = !1;
  5532.                                 return c.on("error", s),
  5533.                                 e.on("error", s),
  5534.                                 c.on("end", l),
  5535.                                 c.on("close", l),
  5536.                                 e.on("close", l),
  5537.                                 e.emit("pipe", c),
  5538.                                 e
  5539.                             }
  5540.                         }, function (e, t) {
  5541.                             function n() {
  5542.                                 this._events = this._events || {},
  5543.                                 this._maxListeners = this._maxListeners || void 0
  5544.                             }
  5545.                             function i(e) {
  5546.                                 return "function" == typeof e
  5547.                             }
  5548.                             function r(e) {
  5549.                                 return "number" == typeof e
  5550.                             }
  5551.                             function o(e) {
  5552.                                 return "object" == typeof e && null !== e
  5553.                             }
  5554.                             function a(e) {
  5555.                                 return void 0 === e
  5556.                             }
  5557.                             e.exports = n,
  5558.                             n.EventEmitter = n,
  5559.                             n.prototype._events = void 0,
  5560.                             n.prototype._maxListeners = void 0,
  5561.                             n.defaultMaxListeners = 10,
  5562.                             n.prototype.setMaxListeners = function (e) {
  5563.                                 if (!r(e) || 0 > e || isNaN(e))
  5564.                                     throw TypeError("n must be a positive number");
  5565.                                 return this._maxListeners = e,
  5566.                                 this
  5567.                             },
  5568.                             n.prototype.emit = function (e) {
  5569.                                 var t,
  5570.                                 n,
  5571.                                 r,
  5572.                                 s,
  5573.                                 l,
  5574.                                 c;
  5575.                                 if (this._events || (this._events = {}), "error" === e && (!this._events.error || o(this._events.error) && !this._events.error.length)) {
  5576.                                     if (t = arguments[1], t instanceof Error)
  5577.                                         throw t;
  5578.                                     var u = new Error('Uncaught, unspecified "error" event. (' + t + ")");
  5579.                                     throw u.context = t,
  5580.                                     u
  5581.                                 }
  5582.                                 if (n = this._events[e], a(n))
  5583.                                     return !1;
  5584.                                 if (i(n))
  5585.                                     switch (arguments.length) {
  5586.                                     case 1:
  5587.                                         n.call(this);
  5588.                                         break;
  5589.                                     case 2:
  5590.                                         n.call(this, arguments[1]);
  5591.                                         break;
  5592.                                     case 3:
  5593.                                         n.call(this, arguments[1], arguments[2]);
  5594.                                         break;
  5595.                                     default:
  5596.                                         s = Array.prototype.slice.call(arguments, 1),
  5597.                                         n.apply(this, s)
  5598.                                     }
  5599.                                 else if (o(n))
  5600.                                     for (s = Array.prototype.slice.call(arguments, 1), c = n.slice(), r = c.length, l = 0; r > l; l++)
  5601.                                         c[l].apply(this, s);
  5602.                                 return !0
  5603.                             },
  5604.                             n.prototype.addListener = function (e, t) {
  5605.                                 var r;
  5606.                                 if (!i(t))
  5607.                                     throw TypeError("listener must be a function");
  5608.                                 return this._events || (this._events = {}),
  5609.                                 this._events.newListener && this.emit("newListener", e, i(t.listener) ? t.listener : t),
  5610.                                 this._events[e] ? o(this._events[e]) ? this._events[e].push(t) : this._events[e] = [this._events[e], t] : this._events[e] = t,
  5611.                                 o(this._events[e]) && !this._events[e].warned && (r = a(this._maxListeners) ? n.defaultMaxListeners : this._maxListeners, r && r > 0 && this._events[e].length > r && (this._events[e].warned = !0, "function" == typeof console.trace)),
  5612.                                 this
  5613.                             },
  5614.                             n.prototype.on = n.prototype.addListener,
  5615.                             n.prototype.once = function (e, t) {
  5616.                                 function n() {
  5617.                                     this.removeListener(e, n),
  5618.                                     r || (r = !0, t.apply(this, arguments))
  5619.                                 }
  5620.                                 if (!i(t))
  5621.                                     throw TypeError("listener must be a function");
  5622.                                 var r = !1;
  5623.                                 return n.listener = t,
  5624.                                 this.on(e, n),
  5625.                                 this
  5626.                             },
  5627.                             n.prototype.removeListener = function (e, t) {
  5628.                                 var n,
  5629.                                 r,
  5630.                                 a,
  5631.                                 s;
  5632.                                 if (!i(t))
  5633.                                     throw TypeError("listener must be a function");
  5634.                                 if (!this._events || !this._events[e])
  5635.                                     return this;
  5636.                                 if (n = this._events[e], a = n.length, r = -1, n === t || i(n.listener) && n.listener === t)
  5637.                                     delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t);
  5638.                                 else if (o(n)) {
  5639.                                     for (s = a; s-- > 0; )
  5640.                                         if (n[s] === t || n[s].listener && n[s].listener === t) {
  5641.                                             r = s;
  5642.                                             break
  5643.                                         }
  5644.                                     if (0 > r)
  5645.                                         return this;
  5646.                                     1 === n.length ? (n.length = 0, delete this._events[e]) : n.splice(r, 1),
  5647.                                     this._events.removeListener && this.emit("removeListener", e, t)
  5648.                                 }
  5649.                                 return this
  5650.                             },
  5651.                             n.prototype.removeAllListeners = function (e) {
  5652.                                 var t,
  5653.                                 n;
  5654.                                 if (!this._events)
  5655.                                     return this;
  5656.                                 if (!this._events.removeListener)
  5657.                                     return 0 === arguments.length ? this._events = {}
  5658.                                  : this._events[e] && delete this._events[e],
  5659.                                 this;
  5660.                                 if (0 === arguments.length) {
  5661.                                     for (t in this._events)
  5662.                                         "removeListener" !== t && this.removeAllListeners(t);
  5663.                                     return this.removeAllListeners("removeListener"),
  5664.                                     this._events = {},
  5665.                                     this
  5666.                                 }
  5667.                                 if (n = this._events[e], i(n))
  5668.                                     this.removeListener(e, n);
  5669.                                 else if (n)
  5670.                                     for (; n.length; )
  5671.                                         this.removeListener(e, n[n.length - 1]);
  5672.                                 return delete this._events[e],
  5673.                                 this
  5674.                             },
  5675.                             n.prototype.listeners = function (e) {
  5676.                                 var t;
  5677.                                 return t = this._events && this._events[e] ? i(this._events[e]) ? [this._events[e]] : this._events[e].slice() : []
  5678.                             },
  5679.                             n.prototype.listenerCount = function (e) {
  5680.                                 if (this._events) {
  5681.                                     var t = this._events[e];
  5682.                                     if (i(t))
  5683.                                         return 1;
  5684.                                     if (t)
  5685.                                         return t.length
  5686.                                 }
  5687.                                 return 0
  5688.                             },
  5689.                             n.listenerCount = function (e, t) {
  5690.                                 return e.listenerCount(t)
  5691.                             }
  5692.                         }, function (e, t, n) {
  5693.                             "use strict";
  5694.                             function i() {
  5695.                                 this.protocol = null,
  5696.                                 this.slashes = null,
  5697.                                 this.auth = null,
  5698.                                 this.host = null,
  5699.                                 this.port = null,
  5700.                                 this.hostname = null,
  5701.                                 this.hash = null,
  5702.                                 this.search = null,
  5703.                                 this.query = null,
  5704.                                 this.pathname = null,
  5705.                                 this.path = null,
  5706.                                 this.href = null
  5707.                             }
  5708.                             function r(e, t, n) {
  5709.                                 if (e && c.isObject(e) && e instanceof i)
  5710.                                     return e;
  5711.                                 var r = new i;
  5712.                                 return r.parse(e, t, n),
  5713.                                 r
  5714.                             }
  5715.                             function o(e) {
  5716.                                 return c.isString(e) && (e = r(e)),
  5717.                                 e instanceof i ? e.format() : i.prototype.format.call(e)
  5718.                             }
  5719.                             function a(e, t) {
  5720.                                 return r(e, !1, !0).resolve(t)
  5721.                             }
  5722.                             function s(e, t) {
  5723.                                 return e ? r(e, !1, !0).resolveObject(t) : t
  5724.                             }
  5725.                             var l = n(41),
  5726.                             c = n(51);
  5727.                             t.parse = r,
  5728.                             t.resolve = a,
  5729.                             t.resolveObject = s,
  5730.                             t.format = o,
  5731.                             t.Url = i;
  5732.                             var u = /^([a-z0-9.+-]+:)/i,
  5733.                             d = /:[0-9]*$/,
  5734.                             h = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
  5735.                             p = ["<", ">", '"', "`", " ", "\r", "\n", " "],
  5736.                             f = ["{", "}", "|", "\\", "^", "`"].concat(p),
  5737.                             m = ["'"].concat(f),
  5738.                             g = ["%", "/", "?", ";", "#"].concat(m),
  5739.                             v = ["/", "?", "#"],
  5740.                             y = 255,
  5741.                             b = /^[+a-z0-9A-Z_-]{0,63}$/,
  5742.                             w = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
  5743.                             T = {
  5744.                                 javascript: !0,
  5745.                                 "javascript:": !0
  5746.                             },
  5747.                             E = {
  5748.                                 javascript: !0,
  5749.                                 "javascript:": !0
  5750.                             },
  5751.                             x = {
  5752.                                 http: !0,
  5753.                                 https: !0,
  5754.                                 ftp: !0,
  5755.                                 gopher: !0,
  5756.                                 file: !0,
  5757.                                 "http:": !0,
  5758.                                 "https:": !0,
  5759.                                 "ftp:": !0,
  5760.                                 "gopher:": !0,
  5761.                                 "file:": !0
  5762.                             },
  5763.                             I = n(13);
  5764.                             i.prototype.parse = function (e, t, n) {
  5765.                                 if (!c.isString(e))
  5766.                                     throw new TypeError("Parameter 'url' must be a string, not " + typeof e);
  5767.                                 var i = e.indexOf("?"),
  5768.                                 r = -1 !== i && i < e.indexOf("#") ? "?" : "#",
  5769.                                 o = e.split(r),
  5770.                                 a = /\\/g;
  5771.                                 o[0] = o[0].replace(a, "/"),
  5772.                                 e = o.join(r);
  5773.                                 var s = e;
  5774.                                 if (s = s.trim(), !n && 1 === e.split("#").length) {
  5775.                                     var d = h.exec(s);
  5776.                                     if (d)
  5777.                                         return this.path = s, this.href = s, this.pathname = d[1], d[2] ? (this.search = d[2], t ? this.query = I.parse(this.search.substr(1)) : this.query = this.search.substr(1)) : t && (this.search = "", this.query = {}), this
  5778.                                 }
  5779.                                 var p = u.exec(s);
  5780.                                 if (p) {
  5781.                                     p = p[0];
  5782.                                     var f = p.toLowerCase();
  5783.                                     this.protocol = f,
  5784.                                     s = s.substr(p.length)
  5785.                                 }
  5786.                                 if (n || p || s.match(/^\/\/[^@\/]+@[^@\/]+/)) {
  5787.                                     var S = "//" === s.substr(0, 2);
  5788.                                     !S || p && E[p] || (s = s.substr(2), this.slashes = !0)
  5789.                                 }
  5790.                                 if (!E[p] && (S || p && !x[p])) {
  5791.                                     for (var N = -1, C = 0; C < v.length; C++) {
  5792.                                         var A = s.indexOf(v[C]);
  5793.                                         -1 !== A && (-1 === N || N > A) && (N = A)
  5794.                                     }
  5795.                                     var _,
  5796.                                     k;
  5797.                                     k = -1 === N ? s.lastIndexOf("@") : s.lastIndexOf("@", N),
  5798.                                     -1 !== k && (_ = s.slice(0, k), s = s.slice(k + 1), this.auth = decodeURIComponent(_)),
  5799.                                     N = -1;
  5800.                                     for (var C = 0; C < g.length; C++) {
  5801.                                         var A = s.indexOf(g[C]);
  5802.                                         -1 !== A && (-1 === N || N > A) && (N = A)
  5803.                                     }
  5804.                                     -1 === N && (N = s.length),
  5805.                                     this.host = s.slice(0, N),
  5806.                                     s = s.slice(N),
  5807.                                     this.parseHost(),
  5808.                                     this.hostname = this.hostname || "";
  5809.                                     var O = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
  5810.                                     if (!O)
  5811.                                         for (var L = this.hostname.split(/\./), C = 0, $ = L.length; $ > C; C++) {
  5812.                                             var D = L[C];
  5813.                                             if (D && !D.match(b)) {
  5814.                                                 for (var B = "", P = 0, R = D.length; R > P; P++)
  5815.                                                     B += D.charCodeAt(P) > 127 ? "x" : D[P];
  5816.                                                 if (!B.match(b)) {
  5817.                                                     var M = L.slice(0, C),
  5818.                                                     q = L.slice(C + 1),
  5819.                                                     V = D.match(w);
  5820.                                                     V && (M.push(V[1]), q.unshift(V[2])),
  5821.                                                     q.length && (s = "/" + q.join(".") + s),
  5822.                                                     this.hostname = M.join(".");
  5823.                                                     break
  5824.                                                 }
  5825.                                             }
  5826.                                         }
  5827.                                     this.hostname.length > y ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(),
  5828.                                     O || (this.hostname = l.toASCII(this.hostname));
  5829.                                     var U = this.port ? ":" + this.port : "",
  5830.                                     H = this.hostname || "";
  5831.                                     this.host = H + U,
  5832.                                     this.href += this.host,
  5833.                                     O && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== s[0] && (s = "/" + s))
  5834.                                 }
  5835.                                 if (!T[f])
  5836.                                     for (var C = 0, $ = m.length; $ > C; C++) {
  5837.                                         var j = m[C];
  5838.                                         if (-1 !== s.indexOf(j)) {
  5839.                                             var F = encodeURIComponent(j);
  5840.                                             F === j && (F = escape(j)),
  5841.                                             s = s.split(j).join(F)
  5842.                                         }
  5843.                                     }
  5844.                                 var G = s.indexOf("#");
  5845.                                 -1 !== G && (this.hash = s.substr(G), s = s.slice(0, G));
  5846.                                 var Y = s.indexOf("?");
  5847.                                 if (-1 !== Y ? (this.search = s.substr(Y), this.query = s.substr(Y + 1), t && (this.query = I.parse(this.query)), s = s.slice(0, Y)) : t && (this.search = "", this.query = {}), s && (this.pathname = s), x[f] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) {
  5848.                                     var U = this.pathname || "",
  5849.                                     z = this.search || "";
  5850.                                     this.path = U + z
  5851.                                 }
  5852.                                 return this.href = this.format(),
  5853.                                 this
  5854.                             },
  5855.                             i.prototype.format = function () {
  5856.                                 var e = this.auth || "";
  5857.                                 e && (e = encodeURIComponent(e), e = e.replace(/%3A/i, ":"), e += "@");
  5858.                                 var t = this.protocol || "",
  5859.                                 n = this.pathname || "",
  5860.                                 i = this.hash || "",
  5861.                                 r = !1,
  5862.                                 o = "";
  5863.                                 this.host ? r = e + this.host : this.hostname && (r = e + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (r += ":" + this.port)),
  5864.                                 this.query && c.isObject(this.query) && Object.keys(this.query).length && (o = I.stringify(this.query));
  5865.                                 var a = this.search || o && "?" + o || "";
  5866.                                 return t && ":" !== t.substr(-1) && (t += ":"),
  5867.                                 this.slashes || (!t || x[t]) && r !== !1 ? (r = "//" + (r || ""), n && "/" !== n.charAt(0) && (n = "/" + n)) : r || (r = ""),
  5868.                                 i && "#" !== i.charAt(0) && (i = "#" + i),
  5869.                                 a && "?" !== a.charAt(0) && (a = "?" + a),
  5870.                                 n = n.replace(/[?#]/g, function (e) {
  5871.                                         return encodeURIComponent(e)
  5872.                                     }),
  5873.                                 a = a.replace("#", "%23"),
  5874.                                 t + r + n + a + i
  5875.                             },
  5876.                             i.prototype.resolve = function (e) {
  5877.                                 return this.resolveObject(r(e, !1, !0)).format()
  5878.                             },
  5879.                             i.prototype.resolveObject = function (e) {
  5880.                                 if (c.isString(e)) {
  5881.                                     var t = new i;
  5882.                                     t.parse(e, !1, !0),
  5883.                                     e = t
  5884.                                 }
  5885.                                 for (var n = new i, r = Object.keys(this), o = 0; o < r.length; o++) {
  5886.                                     var a = r[o];
  5887.                                     n[a] = this[a]
  5888.                                 }
  5889.                                 if (n.hash = e.hash, "" === e.href)
  5890.                                     return n.href = n.format(), n;
  5891.                                 if (e.slashes && !e.protocol) {
  5892.                                     for (var s = Object.keys(e), l = 0; l < s.length; l++) {
  5893.                                         var u = s[l];
  5894.                                         "protocol" !== u && (n[u] = e[u])
  5895.                                     }
  5896.                                     return x[n.protocol] && n.hostname && !n.pathname && (n.path = n.pathname = "/"),
  5897.                                     n.href = n.format(),
  5898.                                     n
  5899.                                 }
  5900.                                 if (e.protocol && e.protocol !== n.protocol) {
  5901.                                     if (!x[e.protocol]) {
  5902.                                         for (var d = Object.keys(e), h = 0; h < d.length; h++) {
  5903.                                             var p = d[h];
  5904.                                             n[p] = e[p]
  5905.                                         }
  5906.                                         return n.href = n.format(),
  5907.                                         n
  5908.                                     }
  5909.                                     if (n.protocol = e.protocol, e.host || E[e.protocol])
  5910.                                         n.pathname = e.pathname;
  5911.                                     else {
  5912.                                         for (var f = (e.pathname || "").split("/"); f.length && !(e.host = f.shift()); );
  5913.                                         e.host || (e.host = ""),
  5914.                                         e.hostname || (e.hostname = ""),
  5915.                                         "" !== f[0] && f.unshift(""),
  5916.                                         f.length < 2 && f.unshift(""),
  5917.                                         n.pathname = f.join("/")
  5918.                                     }
  5919.                                     if (n.search = e.search, n.query = e.query, n.host = e.host || "", n.auth = e.auth, n.hostname = e.hostname || e.host, n.port = e.port, n.pathname || n.search) {
  5920.                                         var m = n.pathname || "",
  5921.                                         g = n.search || "";
  5922.                                         n.path = m + g
  5923.                                     }
  5924.                                     return n.slashes = n.slashes || e.slashes,
  5925.                                     n.href = n.format(),
  5926.                                     n
  5927.                                 }
  5928.                                 var v = n.pathname && "/" === n.pathname.charAt(0),
  5929.                                 y = e.host || e.pathname && "/" === e.pathname.charAt(0),
  5930.                                 b = y || v || n.host && e.pathname,
  5931.                                 w = b,
  5932.                                 T = n.pathname && n.pathname.split("/") || [],
  5933.                                 f = e.pathname && e.pathname.split("/") || [],
  5934.                                 I = n.protocol && !x[n.protocol];
  5935.                                 if (I && (n.hostname = "", n.port = null, n.host && ("" === T[0] ? T[0] = n.host : T.unshift(n.host)), n.host = "", e.protocol && (e.hostname = null, e.port = null, e.host && ("" === f[0] ? f[0] = e.host : f.unshift(e.host)), e.host = null), b = b && ("" === f[0] || "" === T[0])), y)
  5936.                                     n.host = e.host || "" === e.host ? e.host : n.host, n.hostname = e.hostname || "" === e.hostname ? e.hostname : n.hostname, n.search = e.search, n.query = e.query, T = f;
  5937.                                 else if (f.length)
  5938.                                     T || (T = []), T.pop(), T = T.concat(f), n.search = e.search, n.query = e.query;
  5939.                                 else if (!c.isNullOrUndefined(e.search)) {
  5940.                                     if (I) {
  5941.                                         n.hostname = n.host = T.shift();
  5942.                                         var S = n.host && n.host.indexOf("@") > 0 ? n.host.split("@") : !1;
  5943.                                         S && (n.auth = S.shift(), n.host = n.hostname = S.shift())
  5944.                                     }
  5945.                                     return n.search = e.search,
  5946.                                     n.query = e.query,
  5947.                                     c.isNull(n.pathname) && c.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")),
  5948.                                     n.href = n.format(),
  5949.                                     n
  5950.                                 }
  5951.                                 if (!T.length)
  5952.                                     return n.pathname = null, n.search ? n.path = "/" + n.search : n.path = null, n.href = n.format(), n;
  5953.                                 for (var N = T.slice(-1)[0], C = (n.host || e.host || T.length > 1) && ("." === N || ".." === N) || "" === N, A = 0, _ = T.length; _ >= 0; _--)
  5954.                                     N = T[_], "." === N ? T.splice(_, 1) : ".." === N ? (T.splice(_, 1), A++) : A && (T.splice(_, 1), A--);
  5955.                                 if (!b && !w)
  5956.                                     for (; A--; A)
  5957.                                         T.unshift("..");
  5958.                                 !b || "" === T[0] || T[0] && "/" === T[0].charAt(0) || T.unshift(""),
  5959.                                 C && "/" !== T.join("/").substr(-1) && T.push("");
  5960.                                 var k = "" === T[0] || T[0] && "/" === T[0].charAt(0);
  5961.                                 if (I) {
  5962.                                     n.hostname = n.host = k ? "" : T.length ? T.shift() : "";
  5963.                                     var S = n.host && n.host.indexOf("@") > 0 ? n.host.split("@") : !1;
  5964.                                     S && (n.auth = S.shift(), n.host = n.hostname = S.shift())
  5965.                                 }
  5966.                                 return b = b || n.host && T.length,
  5967.                                 b && !k && T.unshift(""),
  5968.                                 T.length ? n.pathname = T.join("/") : (n.pathname = null, n.path = null),
  5969.                                 c.isNull(n.pathname) && c.isNull(n.search) || (n.path = (n.pathname ? n.pathname : "") + (n.search ? n.search : "")),
  5970.                                 n.auth = e.auth || n.auth,
  5971.                                 n.slashes = n.slashes || e.slashes,
  5972.                                 n.href = n.format(),
  5973.                                 n
  5974.                             },
  5975.                             i.prototype.parseHost = function () {
  5976.                                 var e = this.host,
  5977.                                 t = d.exec(e);
  5978.                                 t && (t = t[0], ":" !== t && (this.port = t.substr(1)), e = e.substr(0, e.length - t.length)),
  5979.                                 e && (this.hostname = e)
  5980.                             }
  5981.                         }, function (e, t, n) {
  5982.                             var i = n(13),
  5983.                             r = n(8),
  5984.                             o = n(29).AllHtmlEntities,
  5985.                             a = n(19),
  5986.                             s = "https://www.youtube.com/watch?v=",
  5987.                             l = /(?:(\d+)h)?(?:(\d+)m(?!s))?(?:(\d+)s)?(?:(\d+)(?:ms)?)?/;
  5988.                             t.parseTime = function (e) {
  5989.                                 var t = l.exec(e.toString()),
  5990.                                 n = t[1] || 0,
  5991.                                 i = t[2] || 0,
  5992.                                 r = t[3] || 0,
  5993.                                 o = t[4] || 0;
  5994.                                 return 36e5 * n + 6e4 * i + 1e3 * r + parseInt(o, 10)
  5995.                             };
  5996.                             var c = {
  5997.                                 mp3: 1,
  5998.                                 vorbis: 2,
  5999.                                 aac: 3,
  6000.                                 opus: 4,
  6001.                                 flac: 5
  6002.                             },
  6003.                             u = {
  6004.                                 "Sorenson H.283": 1,
  6005.                                 "MPEG-4 Visual": 2,
  6006.                                 VP8: 3,
  6007.                                 VP9: 4,
  6008.                                 "H.264": 5
  6009.                             };
  6010.                             t.sortFormats = function (e, t) {
  6011.                                 function n(e) {
  6012.                                     if (e.bitrate) {
  6013.                                         var t = e.bitrate.split("-");
  6014.                                         return parseFloat(t[t.length - 1], 10)
  6015.                                     }
  6016.                                     return 0
  6017.                                 }
  6018.                                 function i(e) {
  6019.                                     var t = e.audioBitrate || 0,
  6020.                                     n = c[e.audioEncoding] || 0;
  6021.                                     return t + n / 10
  6022.                                 }
  6023.                                 var r = e.resolution ? parseInt(e.resolution.slice(0, -1), 10) : 0,
  6024.                                 o = t.resolution ? parseInt(t.resolution.slice(0, -1), 10) : 0,
  6025.                                 a = 2 * ~~!!r + ~~!!e.audioBitrate,
  6026.                                 s = 2 * ~~!!o + ~~!!t.audioBitrate;
  6027.                                 if (a === s) {
  6028.                                     if (r === o) {
  6029.                                         var l = n(e),
  6030.                                         d = n(t);
  6031.                                         if (l === d) {
  6032.                                             var h = i(e),
  6033.                                             p = i(t);
  6034.                                             if (h === p) {
  6035.                                                 var f = u[e.encoding] || 0,
  6036.                                                 m = u[t.encoding] || 0;
  6037.                                                 return m - f
  6038.                                             }
  6039.                                             return p - h
  6040.                                         }
  6041.                                         return d - l
  6042.                                     }
  6043.                                     return o - r
  6044.                                 }
  6045.                                 return s - a
  6046.                             },
  6047.                             t.chooseFormat = function (e, n) {
  6048.                                 if ("object" == typeof n.format)
  6049.                                     return n.format;
  6050.                                 if (n.filter && (e = t.filterFormats(e, n.filter), 0 === e.length))
  6051.                                     return new Error("No formats found with custom filter");
  6052.                                 var i,
  6053.                                 r = n.quality || "highest";
  6054.                                 switch (r) {
  6055.                                 case "highest":
  6056.                                     i = e[0];
  6057.                                     break;
  6058.                                 case "lowest":
  6059.                                     i = e[e.length - 1];
  6060.                                     break;
  6061.                                 default:
  6062.                                     var o = function (t) {
  6063.                                         for (var n = 0, i = e.length; i > n; n++)
  6064.                                             if (e[n].itag === "" + t)
  6065.                                                 return e[n];
  6066.                                         return null
  6067.                                     };
  6068.                                     if (Array.isArray(r))
  6069.                                         for (var a = 0, s = r.length; s > a && !(i = o(r[a])); a++);
  6070.                                     else
  6071.                                         i = o(r)
  6072.                                 }
  6073.                                 return i ? i.rtmp ? new Error("rtmp protocol not supported") : i : new Error("No such format found: " + r)
  6074.                             },
  6075.                             t.filterFormats = function (e, t) {
  6076.                                 var n;
  6077.                                 switch (t) {
  6078.                                 case "video":
  6079.                                     n = function (e) {
  6080.                                         return e.bitrate
  6081.                                     };
  6082.                                     break;
  6083.                                 case "videoonly":
  6084.                                     n = function (e) {
  6085.                                         return e.bitrate && !e.audioBitrate
  6086.                                     };
  6087.                                     break;
  6088.                                 case "audio":
  6089.                                     n = function (e) {
  6090.                                         return e.audioBitrate
  6091.                                     };
  6092.                                     break;
  6093.                                 case "audioonly":
  6094.                                     n = function (e) {
  6095.                                         return !e.bitrate && e.audioBitrate
  6096.                                     };
  6097.                                     break;
  6098.                                 default:
  6099.                                     n = t
  6100.                                 }
  6101.                                 return e.filter(n)
  6102.                             },
  6103.                             t.between = function (e, t, n) {
  6104.                                 var i;
  6105.                                 return i = e.indexOf(t),
  6106.                                 -1 === i ? "" : (e = e.slice(i + t.length), i = e.indexOf(n), -1 === i ? "" : e = e.slice(0, i))
  6107.                             };
  6108.                             var d = /^[a-zA-Z0-9-_]{11}$/;
  6109.                             t.getVideoID = function (e) {
  6110.                                 if (d.test(e))
  6111.                                     return e;
  6112.                                 var t = r.parse(e, !0),
  6113.                                 n = t.query.v;
  6114.                                 if ("youtu.be" === t.hostname || ("youtube.com" === t.hostname || "www.youtube.com" === t.hostname) && !n) {
  6115.                                     var i = t.pathname.split("/");
  6116.                                     n = i[i.length - 1]
  6117.                                 }
  6118.                                 if (!n)
  6119.                                     throw new Error("No video id found: " + e);
  6120.                                 if (!d.test(n))
  6121.                                     throw new Error("Video id (" + n + ") does not match expected format (" + d.toString() + ")");
  6122.                                 return n
  6123.                             },
  6124.                             t.parseFormats = function (e, t) {
  6125.                                 var n = [];
  6126.                                 return e.url_encoded_fmt_stream_map && (n = n.concat(e.url_encoded_fmt_stream_map.split(","))),
  6127.                                 e.adaptive_fmts && (n = n.concat(e.adaptive_fmts.split(","))),
  6128.                                 n = n.map(function (e) {
  6129.                                         var t = i.parse(e),
  6130.                                         n = a[t.itag];
  6131.                                         for (var r in n)
  6132.                                             t[r] = n[r];
  6133.                                         return t
  6134.                                     }),
  6135.                                 delete e.url_encoded_fmt_stream_map,
  6136.                                 delete e.adaptive_fmts,
  6137.                                 n
  6138.                             },
  6139.                             t.getVideoDescription = function (e) {
  6140.                                 var t = /<p.*?id="eow-description".*?>(.+?)<\/p>[\n\r\s]*?<\/div>/im,
  6141.                                 n = e.match(t);
  6142.                                 return n ? (new o).decode(n[1].replace(/\n/g, " ").replace(/\s*<\s*br\s*\/?\s*>\s*/gi, "\n").replace(/<\s*\/\s*p\s*>\s*<\s*p[^>]*>/gi, "\n").replace(/<.*?>/gi, "")).trim() : ""
  6143.                             };
  6144.                             var h = /<a href="\/channel\/([\w-]+)"[^>]+>(.+?(?=<\/a>))/,
  6145.                             p = /<a href="\/user\/([^"]+)/;
  6146.                             t.getAuthor = function (e) {
  6147.                                 var n = t.between(e, '<div id="watch7-user-header" class=" spf-link ">', '<div id="watch8-action-buttons" class="watch-action-buttons clearfix">');
  6148.                                 if ("" === n)
  6149.                                     return {};
  6150.                                 n = (new o).decode(n);
  6151.                                 var i = n.match(h),
  6152.                                 a = n.match(p);
  6153.                                 return {
  6154.                                     id: i[1],
  6155.                                     name: i[2],
  6156.                                     avatar: r.resolve(s, t.between(n, 'data-thumb="', '"')),
  6157.                                     user: a ? a[1] : null,
  6158.                                     channel_url: "https://www.youtube.com/channel/" + i[1],
  6159.                                     user_url: a ? "https://www.youtube.com/user/" + a[1] : null
  6160.                                 }
  6161.                             },
  6162.                             t.getPublished = function (e) {
  6163.                                 return Date.parse(t.between(e, '<meta itemprop="datePublished" content="', '">'))
  6164.                             },
  6165.                             t.getRelatedVideos = function (e) {
  6166.                                 var n = t.between(e, "'RELATED_PLAYER_ARGS': {\"rvs\":", "},");
  6167.                                 try {
  6168.                                     n = JSON.parse(n)
  6169.                                 } catch (r) {
  6170.                                     return []
  6171.                                 }
  6172.                                 return n.split(",").map(function (e) {
  6173.                                     return i.parse(e)
  6174.                                 })
  6175.                             },
  6176.                             t.parallel = function (e, t) {
  6177.                                 function n(e, n, s) {
  6178.                                     if (!o) {
  6179.                                         if (n)
  6180.                                             return o = !0, void t(n);
  6181.                                         a[e] = s,
  6182.                                         ++i === r && t(null, a)
  6183.                                     }
  6184.                                 }
  6185.                                 var i = 0,
  6186.                                 r = e.length,
  6187.                                 o = !1,
  6188.                                 a = [];
  6189.                                 if (r > 0)
  6190.                                     for (var s = 0; r > s; s++)
  6191.                                         e[s](n.bind(null, s));
  6192.                                 else
  6193.                                     t(null, a)
  6194.                             },
  6195.                             t.objectAssign = function (e, n, i) {
  6196.                                 for (var r in n)
  6197.                                     i && "object" == typeof n[r] && null != n[r] && e[r] ? t.objectAssign(e[r], n[r]) : e[r] = n[r];
  6198.                                 return e
  6199.                             }
  6200.                         }, function (e, t, n) {
  6201.                             function i(e, t, n) {
  6202.                                 var i,
  6203.                                 r,
  6204.                                 s,
  6205.                                 c = e.href,
  6206.                                 u = new l;
  6207.                                 if (t = t || {}, n && (t.onload = n), t.debugMode, c && ("string" == typeof c || c instanceof String) && c.length > 0) {
  6208.                                     if (t && "object" == typeof t)
  6209.                                         for (i = 0; i < a.length; i++)
  6210.                                             void 0 === t[a[i]] && (t[a[i]] = o[a[i]]);
  6211.                                     if (s = new XMLHttpRequest, s.open(t.method, c, t.async), t.headers && "object" == typeof t.headers)
  6212.                                         for (r = Object.keys(t.headers), i = 0; i < r.length; i++)
  6213.                                             s.setRequestHeader(r[i], t.headers[r[i]]);
  6214.                                     return s.responseType = t.type,
  6215.                                     s.timeout = t.timeout,
  6216.                                     s.onload = function () {
  6217.                                         var e = new l;
  6218.                                         e.statusCode = this.status,
  6219.                                         e.responseText = this.response || this.responseText,
  6220.                                         e.setEncoding = function () {},
  6221.                                         t.debugMode,
  6222.                                         u.emit("response", e),
  6223.                                         e.emit("data", e.responseText),
  6224.                                         e.emit("end"),
  6225.                                         t.onload && "function" == typeof t.onload && t.onload.call(this, !1, this.response || this.responseText, this.status)
  6226.                                     },
  6227.                                     s.onerror = function (e) {
  6228.                                         u.emit("error", e),
  6229.                                         t.onload && "function" == typeof t.onload && t.onload.call(this, e, this.response || this.responseText, this.status)
  6230.                                     },
  6231.                                     s.ontimeout = function () {
  6232.                                         u.emit("error", new Error("Timeout response time")),
  6233.                                         t.onload && "function" == typeof t.onload && t.onload.call(this, new Error("Timeout response time"), null, this.status)
  6234.                                     },
  6235.                                     s.send(t.data ? t.data : null),
  6236.                                     u
  6237.                                 }
  6238.                                 return !1
  6239.                             }
  6240.                             var r = n(8).parse,
  6241.                             o = {
  6242.                                 method: "GET",
  6243.                                 async: !0,
  6244.                                 headers: {},
  6245.                                 type: "text",
  6246.                                 data: null,
  6247.                                 timeout: 3e4,
  6248.                                 onload: null,
  6249.                                 onerror: null,
  6250.                                 ontimeout: null
  6251.                             },
  6252.                             a = Object.keys(o),
  6253.                             s = n(9),
  6254.                             l = n(37);
  6255.                             l.prototype.on = l.prototype.addListener,
  6256.                             e.exports = function (e, t, n) {
  6257.                                 var o = r(e);
  6258.                                 return s.objectAssign(o, t, !0),
  6259.                                 i(o, t, n)
  6260.                             }
  6261.                         }, function (e, t, n) {
  6262.                             "use strict";
  6263.                             (function (e) {
  6264.                                 var i = n(0),
  6265.                                 r = i.Buffer,
  6266.                                 o = i.SlowBuffer,
  6267.                                 a = i.kMaxLength || 2147483647;
  6268.                                 t.alloc = function (e, t, n) {
  6269.                                     if ("function" == typeof r.alloc)
  6270.                                         return r.alloc(e, t, n);
  6271.                                     if ("number" == typeof n)
  6272.                                         throw new TypeError("encoding must not be number");
  6273.                                     if ("number" != typeof e)
  6274.                                         throw new TypeError("size must be a number");
  6275.                                     if (e > a)
  6276.                                         throw new RangeError("size is too large");
  6277.                                     var i = n,
  6278.                                     o = t;
  6279.                                     void 0 === o && (i = void 0, o = 0);
  6280.                                     var s = new r(e);
  6281.                                     if ("string" == typeof o)
  6282.                                         for (var l = new r(o, i), c = l.length, u = -1; ++u < e; )
  6283.                                             s[u] = l[u % c];
  6284.                                     else
  6285.                                         s.fill(o);
  6286.                                     return s
  6287.                                 },
  6288.                                 t.allocUnsafe = function (e) {
  6289.                                     if ("function" == typeof r.allocUnsafe)
  6290.                                         return r.allocUnsafe(e);
  6291.                                     if ("number" != typeof e)
  6292.                                         throw new TypeError("size must be a number");
  6293.                                     if (e > a)
  6294.                                         throw new RangeError("size is too large");
  6295.                                     return new r(e)
  6296.                                 },
  6297.                                 t.from = function (t, n, i) {
  6298.                                     if ("function" == typeof r.from && (!e.Uint8Array || Uint8Array.from !== r.from))
  6299.                                         return r.from(t, n, i);
  6300.                                     if ("number" == typeof t)
  6301.                                         throw new TypeError('"value" argument must not be a number');
  6302.                                     if ("string" == typeof t)
  6303.                                         return new r(t, n);
  6304.                                     if ("undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer) {
  6305.                                         var o = n;
  6306.                                         if (1 === arguments.length)
  6307.                                             return new r(t);
  6308.                                         "undefined" == typeof o && (o = 0);
  6309.                                         var a = i;
  6310.                                         if ("undefined" == typeof a && (a = t.byteLength - o), o >= t.byteLength)
  6311.                                             throw new RangeError("'offset' is out of bounds");
  6312.                                         if (a > t.byteLength - o)
  6313.                                             throw new RangeError("'length' is out of bounds");
  6314.                                         return new r(t.slice(o, o + a))
  6315.                                     }
  6316.                                     if (r.isBuffer(t)) {
  6317.                                         var s = new r(t.length);
  6318.                                         return t.copy(s, 0, 0, t.length),
  6319.                                         s
  6320.                                     }
  6321.                                     if (t) {
  6322.                                         if (Array.isArray(t) || "undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t)
  6323.                                             return new r(t);
  6324.                                         if ("Buffer" === t.type && Array.isArray(t.data))
  6325.                                             return new r(t.data)
  6326.                                     }
  6327.                                     throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
  6328.                                 },
  6329.                                 t.allocUnsafeSlow = function (e) {
  6330.                                     if ("function" == typeof r.allocUnsafeSlow)
  6331.                                         return r.allocUnsafeSlow(e);
  6332.                                     if ("number" != typeof e)
  6333.                                         throw new TypeError("size must be a number");
  6334.                                     if (e >= a)
  6335.                                         throw new RangeError("size is too large");
  6336.                                     return new o(e)
  6337.                                 }
  6338.                             }).call(t, n(2))
  6339.                         }, function (e, t, n) {
  6340.                             "use strict";
  6341.                             (function (t) {
  6342.                                 function n(e, n, i, r) {
  6343.                                     if ("function" != typeof e)
  6344.                                         throw new TypeError('"callback" argument must be a function');
  6345.                                     var o,
  6346.                                     a,
  6347.                                     s = arguments.length;
  6348.                                     switch (s) {
  6349.                                     case 0:
  6350.                                     case 1:
  6351.                                         return t.nextTick(e);
  6352.                                     case 2:
  6353.                                         return t.nextTick(function () {
  6354.                                             e.call(null, n)
  6355.                                         });
  6356.                                     case 3:
  6357.                                         return t.nextTick(function () {
  6358.                                             e.call(null, n, i)
  6359.                                         });
  6360.                                     case 4:
  6361.                                         return t.nextTick(function () {
  6362.                                             e.call(null, n, i, r)
  6363.                                         });
  6364.                                     default:
  6365.                                         for (o = new Array(s - 1), a = 0; a < o.length; )
  6366.                                             o[a++] = arguments[a];
  6367.                                         return t.nextTick(function () {
  6368.                                             e.apply(null, o)
  6369.                                         })
  6370.                                     }
  6371.                                 }
  6372.                                 !t.version || 0 === t.version.indexOf("v0.") || 0 === t.version.indexOf("v1.") && 0 !== t.version.indexOf("v1.8.") ? e.exports = n : e.exports = t.nextTick
  6373.                             }).call(t, n(4))
  6374.                         }, function (e, t, n) {
  6375.                             "use strict";
  6376.                             t.decode = t.parse = n(42),
  6377.                             t.encode = t.stringify = n(43)
  6378.                         }, function (e, t, n) {
  6379.                             "use strict";
  6380.                             function i(e) {
  6381.                                 this.afterTransform = function (t, n) {
  6382.                                     return r(e, t, n)
  6383.                                 },
  6384.                                 this.needTransform = !1,
  6385.                                 this.transforming = !1,
  6386.                                 this.writecb = null,
  6387.                                 this.writechunk = null,
  6388.                                 this.writeencoding = null
  6389.                             }
  6390.                             function r(e, t, n) {
  6391.                                 var i = e._transformState;
  6392.                                 i.transforming = !1;
  6393.                                 var r = i.writecb;
  6394.                                 if (!r)
  6395.                                     return e.emit("error", new Error("no writecb in Transform class"));
  6396.                                 i.writechunk = null,
  6397.                                 i.writecb = null,
  6398.                                 null !== n && void 0 !== n && e.push(n),
  6399.                                 r(t);
  6400.                                 var o = e._readableState;
  6401.                                 o.reading = !1,
  6402.                                 (o.needReadable || o.length < o.highWaterMark) && e._read(o.highWaterMark)
  6403.                             }
  6404.                             function o(e) {
  6405.                                 if (!(this instanceof o))
  6406.                                     return new o(e);
  6407.                                 s.call(this, e),
  6408.                                 this._transformState = new i(this);
  6409.                                 var t = this;
  6410.                                 this._readableState.needReadable = !0,
  6411.                                 this._readableState.sync = !1,
  6412.                                 e && ("function" == typeof e.transform && (this._transform = e.transform), "function" == typeof e.flush && (this._flush = e.flush)),
  6413.                                 this.once("prefinish", function () {
  6414.                                     "function" == typeof this._flush ? this._flush(function (e, n) {
  6415.                                         a(t, e, n)
  6416.                                     }) : a(t)
  6417.                                 })
  6418.                             }
  6419.                             function a(e, t, n) {
  6420.                                 if (t)
  6421.                                     return e.emit("error", t);
  6422.                                 null !== n && void 0 !== n && e.push(n);
  6423.                                 var i = e._writableState,
  6424.                                 r = e._transformState;
  6425.                                 if (i.length)
  6426.                                     throw new Error("Calling transform done when ws.length != 0");
  6427.                                 if (r.transforming)
  6428.                                     throw new Error("Calling transform done when still transforming");
  6429.                                 return e.push(null)
  6430.                             }
  6431.                             e.exports = o;
  6432.                             var s = n(1),
  6433.                             l = n(5);
  6434.                             l.inherits = n(3),
  6435.                             l.inherits(o, s),
  6436.                             o.prototype.push = function (e, t) {
  6437.                                 return this._transformState.needTransform = !1,
  6438.                                 s.prototype.push.call(this, e, t)
  6439.                             },
  6440.                             o.prototype._transform = function (e, t, n) {
  6441.                                 throw new Error("_transform() is not implemented")
  6442.                             },
  6443.                             o.prototype._write = function (e, t, n) {
  6444.                                 var i = this._transformState;
  6445.                                 if (i.writecb = n, i.writechunk = e, i.writeencoding = t, !i.transforming) {
  6446.                                     var r = this._readableState;
  6447.                                     (i.needTransform || r.needReadable || r.length < r.highWaterMark) && this._read(r.highWaterMark)
  6448.                                 }
  6449.                             },
  6450.                             o.prototype._read = function (e) {
  6451.                                 var t = this._transformState;
  6452.                                 null !== t.writechunk && t.writecb && !t.transforming ? (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : t.needTransform = !0
  6453.                             }
  6454.                         }, function (e, t, n) {
  6455.                             "use strict";
  6456.                             (function (t, i) {
  6457.                                 function r() {}
  6458.                                 function o(e, t, n) {
  6459.                                     this.chunk = e,
  6460.                                     this.encoding = t,
  6461.                                     this.callback = n,
  6462.                                     this.next = null
  6463.                                 }
  6464.                                 function a(e, t) {
  6465.                                     I = I || n(1),
  6466.                                     e = e || {},
  6467.                                     this.objectMode = !!e.objectMode,
  6468.                                     t instanceof I && (this.objectMode = this.objectMode || !!e.writableObjectMode);
  6469.                                     var i = e.highWaterMark,
  6470.                                     r = this.objectMode ? 16 : 16384;
  6471.                                     this.highWaterMark = i || 0 === i ? i : r,
  6472.                                     this.highWaterMark = ~~this.highWaterMark,
  6473.                                     this.needDrain = !1,
  6474.                                     this.ending = !1,
  6475.                                     this.ended = !1,
  6476.                                     this.finished = !1;
  6477.                                     var o = e.decodeStrings === !1;
  6478.                                     this.decodeStrings = !o,
  6479.                                     this.defaultEncoding = e.defaultEncoding || "utf8",
  6480.                                     this.length = 0,
  6481.                                     this.writing = !1,
  6482.                                     this.corked = 0,
  6483.                                     this.sync = !0,
  6484.                                     this.bufferProcessing = !1,
  6485.                                     this.onwrite = function (e) {
  6486.                                         m(t, e)
  6487.                                     },
  6488.                                     this.writecb = null,
  6489.                                     this.writelen = 0,
  6490.                                     this.bufferedRequest = null,
  6491.                                     this.lastBufferedRequest = null,
  6492.                                     this.pendingcb = 0,
  6493.                                     this.prefinished = !1,
  6494.                                     this.errorEmitted = !1,
  6495.                                     this.bufferedRequestCount = 0,
  6496.                                     this.corkedRequestsFree = new x(this)
  6497.                                 }
  6498.                                 function s(e) {
  6499.                                     return I = I || n(1),
  6500.                                     L.call(s, this) || this instanceof I ? (this._writableState = new a(e, this), this.writable = !0, e && ("function" == typeof e.write && (this._write = e.write), "function" == typeof e.writev && (this._writev = e.writev)), void A.call(this)) : new s(e)
  6501.                                 }
  6502.                                 function l(e, t) {
  6503.                                     var n = new Error("write after end");
  6504.                                     e.emit("error", n),
  6505.                                     S(t, n)
  6506.                                 }
  6507.                                 function c(e, t, n, i) {
  6508.                                     var r = !0,
  6509.                                     o = !1;
  6510.                                     return null === n ? o = new TypeError("May not write null values to stream") : k.isBuffer(n) || "string" == typeof n || void 0 === n || t.objectMode || (o = new TypeError("Invalid non-string/buffer chunk")),
  6511.                                     o && (e.emit("error", o), S(i, o), r = !1),
  6512.                                     r
  6513.                                 }
  6514.                                 function u(e, t, n) {
  6515.                                     return e.objectMode || e.decodeStrings === !1 || "string" != typeof t || (t = O.from(t, n)),
  6516.                                     t
  6517.                                 }
  6518.                                 function d(e, t, n, i, r) {
  6519.                                     n = u(t, n, i),
  6520.                                     k.isBuffer(n) && (i = "buffer");
  6521.                                     var a = t.objectMode ? 1 : n.length;
  6522.                                     t.length += a;
  6523.                                     var s = t.length < t.highWaterMark;
  6524.                                     if (s || (t.needDrain = !0), t.writing || t.corked) {
  6525.                                         var l = t.lastBufferedRequest;
  6526.                                         t.lastBufferedRequest = new o(n, i, r),
  6527.                                         l ? l.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest,
  6528.                                         t.bufferedRequestCount += 1
  6529.                                     } else
  6530.                                         h(e, t, !1, a, n, i, r);
  6531.                                     return s
  6532.                                 }
  6533.                                 function h(e, t, n, i, r, o, a) {
  6534.                                     t.writelen = i,
  6535.                                     t.writecb = a,
  6536.                                     t.writing = !0,
  6537.                                     t.sync = !0,
  6538.                                     n ? e._writev(r, t.onwrite) : e._write(r, o, t.onwrite),
  6539.                                     t.sync = !1
  6540.                                 }
  6541.                                 function p(e, t, n, i, r) {
  6542.                                     --t.pendingcb,
  6543.                                     n ? S(r, i) : r(i),
  6544.                                     e._writableState.errorEmitted = !0,
  6545.                                     e.emit("error", i)
  6546.                                 }
  6547.                                 function f(e) {
  6548.                                     e.writing = !1,
  6549.                                     e.writecb = null,
  6550.                                     e.length -= e.writelen,
  6551.                                     e.writelen = 0
  6552.                                 }
  6553.                                 function m(e, t) {
  6554.                                     var n = e._writableState,
  6555.                                     i = n.sync,
  6556.                                     r = n.writecb;
  6557.                                     if (f(n), t)
  6558.                                         p(e, n, i, t, r);
  6559.                                     else {
  6560.                                         var o = b(n);
  6561.                                         o || n.corked || n.bufferProcessing || !n.bufferedRequest || y(e, n),
  6562.                                         i ? N(g, e, n, o, r) : g(e, n, o, r)
  6563.                                     }
  6564.                                 }
  6565.                                 function g(e, t, n, i) {
  6566.                                     n || v(e, t),
  6567.                                     t.pendingcb--,
  6568.                                     i(),
  6569.                                     T(e, t)
  6570.                                 }
  6571.                                 function v(e, t) {
  6572.                                     0 === t.length && t.needDrain && (t.needDrain = !1, e.emit("drain"))
  6573.                                 }
  6574.                                 function y(e, t) {
  6575.                                     t.bufferProcessing = !0;
  6576.                                     var n = t.bufferedRequest;
  6577.                                     if (e._writev && n && n.next) {
  6578.                                         var i = t.bufferedRequestCount,
  6579.                                         r = new Array(i),
  6580.                                         o = t.corkedRequestsFree;
  6581.                                         o.entry = n;
  6582.                                         for (var a = 0; n; )
  6583.                                             r[a] = n, n = n.next, a += 1;
  6584.                                         h(e, t, !0, t.length, r, "", o.finish),
  6585.                                         t.pendingcb++,
  6586.                                         t.lastBufferedRequest = null,
  6587.                                         o.next ? (t.corkedRequestsFree = o.next, o.next = null) : t.corkedRequestsFree = new x(t)
  6588.                                     } else {
  6589.                                         for (; n; ) {
  6590.                                             var s = n.chunk,
  6591.                                             l = n.encoding,
  6592.                                             c = n.callback,
  6593.                                             u = t.objectMode ? 1 : s.length;
  6594.                                             if (h(e, t, !1, u, s, l, c), n = n.next, t.writing)
  6595.                                                 break
  6596.                                         }
  6597.                                         null === n && (t.lastBufferedRequest = null)
  6598.                                     }
  6599.                                     t.bufferedRequestCount = 0,
  6600.                                     t.bufferedRequest = n,
  6601.                                     t.bufferProcessing = !1
  6602.                                 }
  6603.                                 function b(e) {
  6604.                                     return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing
  6605.                                 }
  6606.                                 function w(e, t) {
  6607.                                     t.prefinished || (t.prefinished = !0, e.emit("prefinish"))
  6608.                                 }
  6609.                                 function T(e, t) {
  6610.                                     var n = b(t);
  6611.                                     return n && (0 === t.pendingcb ? (w(e, t), t.finished = !0, e.emit("finish")) : w(e, t)),
  6612.                                     n
  6613.                                 }
  6614.                                 function E(e, t, n) {
  6615.                                     t.ending = !0,
  6616.                                     T(e, t),
  6617.                                     n && (t.finished ? S(n) : e.once("finish", n)),
  6618.                                     t.ended = !0,
  6619.                                     e.writable = !1
  6620.                                 }
  6621.                                 function x(e) {
  6622.                                     var t = this;
  6623.                                     this.next = null,
  6624.                                     this.entry = null,
  6625.                                     this.finish = function (n) {
  6626.                                         var i = t.entry;
  6627.                                         for (t.entry = null; i; ) {
  6628.                                             var r = i.callback;
  6629.                                             e.pendingcb--,
  6630.                                             r(n),
  6631.                                             i = i.next
  6632.                                         }
  6633.                                         e.corkedRequestsFree ? e.corkedRequestsFree.next = t : e.corkedRequestsFree = t
  6634.                                     }
  6635.                                 }
  6636.                                 e.exports = s;
  6637.                                 var I,
  6638.                                 S = n(12),
  6639.                                 N = !t.browser && ["v0.10", "v0.9."].indexOf(t.version.slice(0, 5)) > -1 ? i : S;
  6640.                                 s.WritableState = a;
  6641.                                 var C = n(5);
  6642.                                 C.inherits = n(3);
  6643.                                 var A,
  6644.                                 _ = {
  6645.                                     deprecate: n(52)
  6646.                                 };
  6647.                                 !function () {
  6648.                                     try {
  6649.                                         A = n(6)
  6650.                                     } catch (e) {}
  6651.                                     finally {
  6652.                                         A || (A = n(7).EventEmitter)
  6653.                                     }
  6654.                                 }
  6655.                                 ();
  6656.                                 var k = n(0).Buffer,
  6657.                                 O = n(11);
  6658.                                 C.inherits(s, A),
  6659.                                 a.prototype.getBuffer = function () {
  6660.                                     for (var e = this.bufferedRequest, t = []; e; )
  6661.                                         t.push(e), e = e.next;
  6662.                                     return t
  6663.                                 },
  6664.                                 function () {
  6665.                                     try {
  6666.                                         Object.defineProperty(a.prototype, "buffer", {
  6667.                                             get: _.deprecate(function () {
  6668.                                                 return this.getBuffer()
  6669.                                             }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")
  6670.                                         })
  6671.                                     } catch (e) {}
  6672.                                 }
  6673.                                 ();
  6674.                                 var L;
  6675.                                 "function" == typeof Symbol && Symbol.hasInstance && "function" == typeof Function.prototype[Symbol.hasInstance] ? (L = Function.prototype[Symbol.hasInstance], Object.defineProperty(s, Symbol.hasInstance, {
  6676.                                         value: function (e) {
  6677.                                             return L.call(this, e) ? !0 : e && e._writableState instanceof a
  6678.                                         }
  6679.                                     })) : L = function (e) {
  6680.                                     return e instanceof this
  6681.                                 },
  6682.                                 s.prototype.pipe = function () {
  6683.                                     this.emit("error", new Error("Cannot pipe, not readable"))
  6684.                                 },
  6685.                                 s.prototype.write = function (e, t, n) {
  6686.                                     var i = this._writableState,
  6687.                                     o = !1;
  6688.                                     return "function" == typeof t && (n = t, t = null),
  6689.                                     k.isBuffer(e) ? t = "buffer" : t || (t = i.defaultEncoding),
  6690.                                     "function" != typeof n && (n = r),
  6691.                                     i.ended ? l(this, n) : c(this, i, e, n) && (i.pendingcb++, o = d(this, i, e, t, n)),
  6692.                                     o
  6693.                                 },
  6694.                                 s.prototype.cork = function () {
  6695.                                     var e = this._writableState;
  6696.                                     e.corked++
  6697.                                 },
  6698.                                 s.prototype.uncork = function () {
  6699.                                     var e = this._writableState;
  6700.                                     e.corked && (e.corked--, e.writing || e.corked || e.finished || e.bufferProcessing || !e.bufferedRequest || y(this, e))
  6701.                                 },
  6702.                                 s.prototype.setDefaultEncoding = function (e) {
  6703.                                     if ("string" == typeof e && (e = e.toLowerCase()), !(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((e + "").toLowerCase()) > -1))
  6704.                                         throw new TypeError("Unknown encoding: " + e);
  6705.                                     return this._writableState.defaultEncoding = e,
  6706.                                     this
  6707.                                 },
  6708.                                 s.prototype._write = function (e, t, n) {
  6709.                                     n(new Error("_write() is not implemented"))
  6710.                                 },
  6711.                                 s.prototype._writev = null,
  6712.                                 s.prototype.end = function (e, t, n) {
  6713.                                     var i = this._writableState;
  6714.                                     "function" == typeof e ? (n = e, e = null, t = null) : "function" == typeof t && (n = t, t = null),
  6715.                                     null !== e && void 0 !== e && this.write(e, t),
  6716.                                     i.corked && (i.corked = 1, this.uncork()),
  6717.                                     i.ending || i.finished || E(this, i, n)
  6718.                                 }
  6719.                             }).call(t, n(4), n(24).setImmediate)
  6720.                         }, function (e, t, n) {
  6721.                             function i(e) {
  6722.                                 if (e && !l(e))
  6723.                                     throw new Error("Unknown encoding: " + e)
  6724.                             }
  6725.                             function r(e) {
  6726.                                 return e.toString(this.encoding)
  6727.                             }
  6728.                             function o(e) {
  6729.                                 this.charReceived = e.length % 2,
  6730.                                 this.charLength = this.charReceived ? 2 : 0
  6731.                             }
  6732.                             function a(e) {
  6733.                                 this.charReceived = e.length % 3,
  6734.                                 this.charLength = this.charReceived ? 3 : 0
  6735.                             }
  6736.                             var s = n(0).Buffer,
  6737.                             l = s.isEncoding || function (e) {
  6738.                                 switch (e && e.toLowerCase()) {
  6739.                                 case "hex":
  6740.                                 case "utf8":
  6741.                                 case "utf-8":
  6742.                                 case "ascii":
  6743.                                 case "binary":
  6744.                                 case "base64":
  6745.                                 case "ucs2":
  6746.                                 case "ucs-2":
  6747.                                 case "utf16le":
  6748.                                 case "utf-16le":
  6749.                                 case "raw":
  6750.                                     return !0;
  6751.                                 default:
  6752.                                     return !1
  6753.                                 }
  6754.                             },
  6755.                             c = t.StringDecoder = function (e) {
  6756.                                 switch (this.encoding = (e || "utf8").toLowerCase().replace(/[-_]/, ""), i(e), this.encoding) {
  6757.                                 case "utf8":
  6758.                                     this.surrogateSize = 3;
  6759.                                     break;
  6760.                                 case "ucs2":
  6761.                                 case "utf16le":
  6762.                                     this.surrogateSize = 2,
  6763.                                     this.detectIncompleteChar = o;
  6764.                                     break;
  6765.                                 case "base64":
  6766.                                     this.surrogateSize = 3,
  6767.                                     this.detectIncompleteChar = a;
  6768.                                     break;
  6769.                                 default:
  6770.                                     return void(this.write = r)
  6771.                                 }
  6772.                                 this.charBuffer = new s(6),
  6773.                                 this.charReceived = 0,
  6774.                                 this.charLength = 0
  6775.                             };
  6776.                             c.prototype.write = function (e) {
  6777.                                 for (var t = ""; this.charLength; ) {
  6778.                                     var n = e.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : e.length;
  6779.                                     if (e.copy(this.charBuffer, this.charReceived, 0, n), this.charReceived += n, this.charReceived < this.charLength)
  6780.                                         return "";
  6781.                                     e = e.slice(n, e.length),
  6782.                                     t = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
  6783.                                     var i = t.charCodeAt(t.length - 1);
  6784.                                     if (!(i >= 55296 && 56319 >= i)) {
  6785.                                         if (this.charReceived = this.charLength = 0, 0 === e.length)
  6786.                                             return t;
  6787.                                         break
  6788.                                     }
  6789.                                     this.charLength += this.surrogateSize,
  6790.                                     t = ""
  6791.                                 }
  6792.                                 this.detectIncompleteChar(e);
  6793.                                 var r = e.length;
  6794.                                 this.charLength && (e.copy(this.charBuffer, 0, e.length - this.charReceived, r), r -= this.charReceived),
  6795.                                 t += e.toString(this.encoding, 0, r);
  6796.                                 var r = t.length - 1,
  6797.                                 i = t.charCodeAt(r);
  6798.                                 if (i >= 55296 && 56319 >= i) {
  6799.                                     var o = this.surrogateSize;
  6800.                                     return this.charLength += o,
  6801.                                     this.charReceived += o,
  6802.                                     this.charBuffer.copy(this.charBuffer, o, 0, o),
  6803.                                     e.copy(this.charBuffer, 0, 0, o),
  6804.                                     t.substring(0, r)
  6805.                                 }
  6806.                                 return t
  6807.                             },
  6808.                             c.prototype.detectIncompleteChar = function (e) {
  6809.                                 for (var t = e.length >= 3 ? 3 : e.length; t > 0; t--) {
  6810.                                     var n = e[e.length - t];
  6811.                                     if (1 == t && n >> 5 == 6) {
  6812.                                         this.charLength = 2;
  6813.                                         break
  6814.                                     }
  6815.                                     if (2 >= t && n >> 4 == 14) {
  6816.                                         this.charLength = 3;
  6817.                                         break
  6818.                                     }
  6819.                                     if (3 >= t && n >> 3 == 30) {
  6820.                                         this.charLength = 4;
  6821.                                         break
  6822.                                     }
  6823.                                 }
  6824.                                 this.charReceived = t
  6825.                             },
  6826.                             c.prototype.end = function (e) {
  6827.                                 var t = "";
  6828.                                 if (e && e.length && (t = this.write(e)), this.charReceived) {
  6829.                                     var n = this.charReceived,
  6830.                                     i = this.charBuffer,
  6831.                                     r = this.encoding;
  6832.                                     t += i.slice(0, n).toString(r)
  6833.                                 }
  6834.                                 return t
  6835.                             }
  6836.                         }, function (e, t) {
  6837.                             function n() {}
  6838.                             function i(e, t) {
  6839.                                 for (var n = r.length, i = []; n--; ) {
  6840.                                     var o,
  6841.                                     a = r[n],
  6842.                                     s = a[0],
  6843.                                     l = a[1],
  6844.                                     c = l[0],
  6845.                                     u = 32 > c || c > 126 || 62 === c || 60 === c || 38 === c || 34 === c || 39 === c;
  6846.                                     if (u && (o = t[c] = t[c] || {}), l[1]) {
  6847.                                         var d = l[1];
  6848.                                         e[s] = String.fromCharCode(c) + String.fromCharCode(d),
  6849.                                         i.push(u && (o[d] = s))
  6850.                                     } else
  6851.                                         e[s] = String.fromCharCode(c), i.push(u && (o[""] = s))
  6852.                                 }
  6853.                             }
  6854.                             var r = [["Aacute", [193]], ["aacute", [225]], ["Abreve", [258]], ["abreve", [259]], ["ac", [8766]], ["acd", [8767]], ["acE", [8766, 819]], ["Acirc", [194]], ["acirc", [226]], ["acute", [180]], ["Acy", [1040]], ["acy", [1072]], ["AElig", [198]], ["aelig", [230]], ["af", [8289]], ["Afr", [120068]], ["afr", [120094]], ["Agrave", [192]], ["agrave", [224]], ["alefsym", [8501]], ["aleph", [8501]], ["Alpha", [913]], ["alpha", [945]], ["Amacr", [256]], ["amacr", [257]], ["amalg", [10815]], ["amp", [38]], ["AMP", [38]], ["andand", [10837]], ["And", [10835]], ["and", [8743]], ["andd", [10844]], ["andslope", [10840]], ["andv", [10842]], ["ang", [8736]], ["ange", [10660]], ["angle", [8736]], ["angmsdaa", [10664]], ["angmsdab", [10665]], ["angmsdac", [10666]], ["angmsdad", [10667]], ["angmsdae", [10668]], ["angmsdaf", [10669]], ["angmsdag", [10670]], ["angmsdah", [10671]], ["angmsd", [8737]], ["angrt", [8735]], ["angrtvb", [8894]], ["angrtvbd", [10653]], ["angsph", [8738]], ["angst", [197]], ["angzarr", [9084]], ["Aogon", [260]], ["aogon", [261]], ["Aopf", [120120]], ["aopf", [120146]], ["apacir", [10863]], ["ap", [8776]], ["apE", [10864]], ["ape", [8778]], ["apid", [8779]], ["apos", [39]], ["ApplyFunction", [8289]], ["approx", [8776]], ["approxeq", [8778]], ["Aring", [197]], ["aring", [229]], ["Ascr", [119964]], ["ascr", [119990]], ["Assign", [8788]], ["ast", [42]], ["asymp", [8776]], ["asympeq", [8781]], ["Atilde", [195]], ["atilde", [227]], ["Auml", [196]], ["auml", [228]], ["awconint", [8755]], ["awint", [10769]], ["backcong", [8780]], ["backepsilon", [1014]], ["backprime", [8245]], ["backsim", [8765]], ["backsimeq", [8909]], ["Backslash", [8726]], ["Barv", [10983]], ["barvee", [8893]], ["barwed", [8965]], ["Barwed", [8966]], ["barwedge", [8965]], ["bbrk", [9141]], ["bbrktbrk", [9142]], ["bcong", [8780]], ["Bcy", [1041]], ["bcy", [1073]], ["bdquo", [8222]], ["becaus", [8757]], ["because", [8757]], ["Because", [8757]], ["bemptyv", [10672]], ["bepsi", [1014]], ["bernou", [8492]], ["Bernoullis", [8492]], ["Beta", [914]], ["beta", [946]], ["beth", [8502]], ["between", [8812]], ["Bfr", [120069]], ["bfr", [120095]], ["bigcap", [8898]], ["bigcirc", [9711]], ["bigcup", [8899]], ["bigodot", [10752]], ["bigoplus", [10753]], ["bigotimes", [10754]], ["bigsqcup", [10758]], ["bigstar", [9733]], ["bigtriangledown", [9661]], ["bigtriangleup", [9651]], ["biguplus", [10756]], ["bigvee", [8897]], ["bigwedge", [8896]], ["bkarow", [10509]], ["blacklozenge", [10731]], ["blacksquare", [9642]], ["blacktriangle", [9652]], ["blacktriangledown", [9662]], ["blacktriangleleft", [9666]], ["blacktriangleright", [9656]], ["blank", [9251]], ["blk12", [9618]], ["blk14", [9617]], ["blk34", [9619]], ["block", [9608]], ["bne", [61, 8421]], ["bnequiv", [8801, 8421]], ["bNot", [10989]], ["bnot", [8976]], ["Bopf", [120121]], ["bopf", [120147]], ["bot", [8869]], ["bottom", [8869]], ["bowtie", [8904]], ["boxbox", [10697]], ["boxdl", [9488]], ["boxdL", [9557]], ["boxDl", [9558]], ["boxDL", [9559]], ["boxdr", [9484]], ["boxdR", [9554]], ["boxDr", [9555]], ["boxDR", [9556]], ["boxh", [9472]], ["boxH", [9552]], ["boxhd", [9516]], ["boxHd", [9572]], ["boxhD", [9573]], ["boxHD", [9574]], ["boxhu", [9524]], ["boxHu", [9575]], ["boxhU", [9576]], ["boxHU", [9577]], ["boxminus", [8863]], ["boxplus", [8862]], ["boxtimes", [8864]], ["boxul", [9496]], ["boxuL", [9563]], ["boxUl", [9564]], ["boxUL", [9565]], ["boxur", [9492]], ["boxuR", [9560]], ["boxUr", [9561]], ["boxUR", [9562]], ["boxv", [9474]], ["boxV", [9553]], ["boxvh", [9532]], ["boxvH", [9578]], ["boxVh", [9579]], ["boxVH", [9580]], ["boxvl", [9508]], ["boxvL", [9569]], ["boxVl", [9570]], ["boxVL", [9571]], ["boxvr", [9500]], ["boxvR", [9566]], ["boxVr", [9567]], ["boxVR", [9568]], ["bprime", [8245]], ["breve", [728]], ["Breve", [728]], ["brvbar", [166]], ["bscr", [119991]], ["Bscr", [8492]], ["bsemi", [8271]], ["bsim", [8765]], ["bsime", [8909]], ["bsolb", [10693]], ["bsol", [92]], ["bsolhsub", [10184]], ["bull", [8226]], ["bullet", [8226]], ["bump", [8782]], ["bumpE", [10926]], ["bumpe", [8783]], ["Bumpeq", [8782]], ["bumpeq", [8783]], ["Cacute", [262]], ["cacute", [263]], ["capand", [10820]], ["capbrcup", [10825]], ["capcap", [10827]], ["cap", [8745]], ["Cap", [8914]], ["capcup", [10823]], ["capdot", [10816]], ["CapitalDifferentialD", [8517]], ["caps", [8745, 65024]], ["caret", [8257]], ["caron", [711]], ["Cayleys", [8493]], ["ccaps", [10829]], ["Ccaron", [268]], ["ccaron", [269]], ["Ccedil", [199]], ["ccedil", [231]], ["Ccirc", [264]], ["ccirc", [265]], ["Cconint", [8752]], ["ccups", [10828]], ["ccupssm", [10832]], ["Cdot", [266]], ["cdot", [267]], ["cedil", [184]], ["Cedilla", [184]], ["cemptyv", [10674]], ["cent", [162]], ["centerdot", [183]], ["CenterDot", [183]], ["cfr", [120096]], ["Cfr", [8493]], ["CHcy", [1063]], ["chcy", [1095]], ["check", [10003]], ["checkmark", [10003]], ["Chi", [935]], ["chi", [967]], ["circ", [710]], ["circeq", [8791]], ["circlearrowleft", [8634]], ["circlearrowright", [8635]], ["circledast", [8859]], ["circledcirc", [8858]], ["circleddash", [8861]], ["CircleDot", [8857]], ["circledR", [174]], ["circledS", [9416]], ["CircleMinus", [8854]], ["CirclePlus", [8853]], ["CircleTimes", [8855]], ["cir", [9675]], ["cirE", [10691]], ["cire", [8791]], ["cirfnint", [10768]], ["cirmid", [10991]], ["cirscir", [10690]], ["ClockwiseContourIntegral", [8754]], ["CloseCurlyDoubleQuote", [8221]], ["CloseCurlyQuote", [8217]], ["clubs", [9827]], ["clubsuit", [9827]], ["colon", [58]], ["Colon", [8759]], ["Colone", [10868]], ["colone", [8788]], ["coloneq", [8788]], ["comma", [44]], ["commat", [64]], ["comp", [8705]], ["compfn", [8728]], ["complement", [8705]], ["complexes", [8450]], ["cong", [8773]], ["congdot", [10861]], ["Congruent", [8801]], ["conint", [8750]], ["Conint", [8751]], ["ContourIntegral", [8750]], ["copf", [120148]], ["Copf", [8450]], ["coprod", [8720]], ["Coproduct", [8720]], ["copy", [169]], ["COPY", [169]], ["copysr", [8471]], ["CounterClockwiseContourIntegral", [8755]], ["crarr", [8629]], ["cross", [10007]], ["Cross", [10799]], ["Cscr", [119966]], ["cscr", [119992]], ["csub", [10959]], ["csube", [10961]], ["csup", [10960]], ["csupe", [10962]], ["ctdot", [8943]], ["cudarrl", [10552]], ["cudarrr", [10549]], ["cuepr", [8926]], ["cuesc", [8927]], ["cularr", [8630]], ["cularrp", [10557]], ["cupbrcap", [10824]], ["cupcap", [10822]], ["CupCap", [8781]], ["cup", [8746]], ["Cup", [8915]], ["cupcup", [10826]], ["cupdot", [8845]], ["cupor", [10821]], ["cups", [8746, 65024]], ["curarr", [8631]], ["curarrm", [10556]], ["curlyeqprec", [8926]], ["curlyeqsucc", [8927]], ["curlyvee", [8910]], ["curlywedge", [8911]], ["curren", [164]], ["curvearrowleft", [8630]], ["curvearrowright", [8631]], ["cuvee", [8910]], ["cuwed", [8911]], ["cwconint", [8754]], ["cwint", [8753]], ["cylcty", [9005]], ["dagger", [8224]], ["Dagger", [8225]], ["daleth", [8504]], ["darr", [8595]], ["Darr", [8609]], ["dArr", [8659]], ["dash", [8208]], ["Dashv", [10980]], ["dashv", [8867]], ["dbkarow", [10511]], ["dblac", [733]], ["Dcaron", [270]], ["dcaron", [271]], ["Dcy", [1044]], ["dcy", [1076]], ["ddagger", [8225]], ["ddarr", [8650]], ["DD", [8517]], ["dd", [8518]], ["DDotrahd", [10513]], ["ddotseq", [10871]], ["deg", [176]], ["Del", [8711]], ["Delta", [916]], ["delta", [948]], ["demptyv", [10673]], ["dfisht", [10623]], ["Dfr", [120071]], ["dfr", [120097]], ["dHar", [10597]], ["dharl", [8643]], ["dharr", [8642]], ["DiacriticalAcute", [180]], ["DiacriticalDot", [729]], ["DiacriticalDoubleAcute", [733]], ["DiacriticalGrave", [96]], ["DiacriticalTilde", [732]], ["diam", [8900]], ["diamond", [8900]], ["Diamond", [8900]], ["diamondsuit", [9830]], ["diams", [9830]], ["die", [168]], ["DifferentialD", [8518]], ["digamma", [989]], ["disin", [8946]], ["div", [247]], ["divide", [247]], ["divideontimes", [8903]], ["divonx", [8903]], ["DJcy", [1026]], ["djcy", [1106]], ["dlcorn", [8990]], ["dlcrop", [8973]], ["dollar", [36]], ["Dopf", [120123]], ["dopf", [120149]], ["Dot", [168]], ["dot", [729]], ["DotDot", [8412]], ["doteq", [8784]], ["doteqdot", [8785]], ["DotEqual", [8784]], ["dotminus", [8760]], ["dotplus", [8724]], ["dotsquare", [8865]], ["doublebarwedge", [8966]], ["DoubleContourIntegral", [8751]], ["DoubleDot", [168]], ["DoubleDownArrow", [8659]], ["DoubleLeftArrow", [8656]], ["DoubleLeftRightArrow", [8660]], ["DoubleLeftTee", [10980]], ["DoubleLongLeftArrow", [10232]], ["DoubleLongLeftRightArrow", [10234]], ["DoubleLongRightArrow", [10233]], ["DoubleRightArrow", [8658]], ["DoubleRightTee", [8872]], ["DoubleUpArrow", [8657]], ["DoubleUpDownArrow", [8661]], ["DoubleVerticalBar", [8741]], ["DownArrowBar", [10515]], ["downarrow", [8595]], ["DownArrow", [8595]], ["Downarrow", [8659]], ["DownArrowUpArrow", [8693]], ["DownBreve", [785]], ["downdownarrows", [8650]], ["downharpoonleft", [8643]], ["downharpoonright", [8642]], ["DownLeftRightVector", [10576]], ["DownLeftTeeVector", [10590]], ["DownLeftVectorBar", [10582]], ["DownLeftVector", [8637]], ["DownRightTeeVector", [10591]], ["DownRightVectorBar", [10583]], ["DownRightVector", [8641]], ["DownTeeArrow", [8615]], ["DownTee", [8868]], ["drbkarow", [10512]], ["drcorn", [8991]], ["drcrop", [8972]], ["Dscr", [119967]], ["dscr", [119993]], ["DScy", [1029]], ["dscy", [1109]], ["dsol", [10742]], ["Dstrok", [272]], ["dstrok", [273]], ["dtdot", [8945]], ["dtri", [9663]], ["dtrif", [9662]], ["duarr", [8693]], ["duhar", [10607]], ["dwangle", [10662]], ["DZcy", [1039]], ["dzcy", [1119]], ["dzigrarr", [10239]], ["Eacute", [201]], ["eacute", [233]], ["easter", [10862]], ["Ecaron", [282]], ["ecaron", [283]], ["Ecirc", [202]], ["ecirc", [234]], ["ecir", [8790]], ["ecolon", [8789]], ["Ecy", [1069]], ["ecy", [1101]], ["eDDot", [10871]], ["Edot", [278]], ["edot", [279]], ["eDot", [8785]], ["ee", [8519]], ["efDot", [8786]], ["Efr", [120072]], ["efr", [120098]], ["eg", [10906]], ["Egrave", [200]], ["egrave", [232]], ["egs", [10902]], ["egsdot", [10904]], ["el", [10905]], ["Element", [8712]], ["elinters", [9191]], ["ell", [8467]], ["els", [10901]], ["elsdot", [10903]], ["Emacr", [274]], ["emacr", [275]], ["empty", [8709]], ["emptyset", [8709]], ["EmptySmallSquare", [9723]], ["emptyv", [8709]], ["EmptyVerySmallSquare", [9643]], ["emsp13", [8196]], ["emsp14", [8197]], ["emsp", [8195]], ["ENG", [330]], ["eng", [331]], ["ensp", [8194]], ["Eogon", [280]], ["eogon", [281]], ["Eopf", [120124]], ["eopf", [120150]], ["epar", [8917]], ["eparsl", [10723]], ["eplus", [10865]], ["epsi", [949]], ["Epsilon", [917]], ["epsilon", [949]], ["epsiv", [1013]], ["eqcirc", [8790]], ["eqcolon", [8789]], ["eqsim", [8770]], ["eqslantgtr", [10902]], ["eqslantless", [10901]], ["Equal", [10869]], ["equals", [61]], ["EqualTilde", [8770]], ["equest", [8799]], ["Equilibrium", [8652]], ["equiv", [8801]], ["equivDD", [10872]], ["eqvparsl", [10725]], ["erarr", [10609]], ["erDot", [8787]], ["escr", [8495]], ["Escr", [8496]], ["esdot", [8784]], ["Esim", [10867]], ["esim", [8770]], ["Eta", [919]], ["eta", [951]], ["ETH", [208]], ["eth", [240]], ["Euml", [203]], ["euml", [235]], ["euro", [8364]], ["excl", [33]], ["exist", [8707]], ["Exists", [8707]], ["expectation", [8496]], ["exponentiale", [8519]], ["ExponentialE", [8519]], ["fallingdotseq", [8786]], ["Fcy", [1060]], ["fcy", [1092]], ["female", [9792]], ["ffilig", [64259]], ["fflig", [64256]], ["ffllig", [64260]], ["Ffr", [120073]], ["ffr", [120099]], ["filig", [64257]], ["FilledSmallSquare", [9724]], ["FilledVerySmallSquare", [9642]], ["fjlig", [102, 106]], ["flat", [9837]], ["fllig", [64258]], ["fltns", [9649]], ["fnof", [402]], ["Fopf", [120125]], ["fopf", [120151]], ["forall", [8704]], ["ForAll", [8704]], ["fork", [8916]], ["forkv", [10969]], ["Fouriertrf", [8497]], ["fpartint", [10765]], ["frac12", [189]], ["frac13", [8531]], ["frac14", [188]], ["frac15", [8533]], ["frac16", [8537]], ["frac18", [8539]], ["frac23", [8532]], ["frac25", [8534]], ["frac34", [190]], ["frac35", [8535]], ["frac38", [8540]], ["frac45", [8536]], ["frac56", [8538]], ["frac58", [8541]], ["frac78", [8542]], ["frasl", [8260]], ["frown", [8994]], ["fscr", [119995]], ["Fscr", [8497]], ["gacute", [501]], ["Gamma", [915]], ["gamma", [947]], ["Gammad", [988]], ["gammad", [989]], ["gap", [10886]], ["Gbreve", [286]], ["gbreve", [287]], ["Gcedil", [290]], ["Gcirc", [284]], ["gcirc", [285]], ["Gcy", [1043]], ["gcy", [1075]], ["Gdot", [288]], ["gdot", [289]], ["ge", [8805]], ["gE", [8807]], ["gEl", [10892]], ["gel", [8923]], ["geq", [8805]], ["geqq", [8807]], ["geqslant", [10878]], ["gescc", [10921]], ["ges", [10878]], ["gesdot", [10880]], ["gesdoto", [10882]], ["gesdotol", [10884]], ["gesl", [8923, 65024]], ["gesles", [10900]], ["Gfr", [120074]], ["gfr", [120100]], ["gg", [8811]], ["Gg", [8921]], ["ggg", [8921]], ["gimel", [8503]], ["GJcy", [1027]], ["gjcy", [1107]], ["gla", [10917]], ["gl", [8823]], ["glE", [10898]], ["glj", [10916]], ["gnap", [10890]], ["gnapprox", [10890]], ["gne", [10888]], ["gnE", [8809]], ["gneq", [10888]], ["gneqq", [8809]], ["gnsim", [8935]], ["Gopf", [120126]], ["gopf", [120152]], ["grave", [96]], ["GreaterEqual", [8805]], ["GreaterEqualLess", [8923]], ["GreaterFullEqual", [8807]], ["GreaterGreater", [10914]], ["GreaterLess", [8823]], ["GreaterSlantEqual", [10878]], ["GreaterTilde", [8819]], ["Gscr", [119970]], ["gscr", [8458]], ["gsim", [8819]], ["gsime", [10894]], ["gsiml", [10896]], ["gtcc", [10919]], ["gtcir", [10874]], ["gt", [62]], ["GT", [62]], ["Gt", [8811]], ["gtdot", [8919]], ["gtlPar", [10645]], ["gtquest", [10876]], ["gtrapprox", [10886]], ["gtrarr", [10616]], ["gtrdot", [8919]], ["gtreqless", [8923]], ["gtreqqless", [10892]], ["gtrless", [8823]], ["gtrsim", [8819]], ["gvertneqq", [8809, 65024]], ["gvnE", [8809, 65024]], ["Hacek", [711]], ["hairsp", [8202]], ["half", [189]], ["hamilt", [8459]], ["HARDcy", [1066]], ["hardcy", [1098]], ["harrcir", [10568]], ["harr", [8596]], ["hArr", [8660]], ["harrw", [8621]], ["Hat", [94]], ["hbar", [8463]], ["Hcirc", [292]], ["hcirc", [293]], ["hearts", [9829]], ["heartsuit", [9829]], ["hellip", [8230]], ["hercon", [8889]], ["hfr", [120101]], ["Hfr", [8460]], ["HilbertSpace", [8459]], ["hksearow", [10533]], ["hkswarow", [10534]], ["hoarr", [8703]], ["homtht", [8763]], ["hookleftarrow", [8617]], ["hookrightarrow", [8618]], ["hopf", [120153]], ["Hopf", [8461]], ["horbar", [8213]], ["HorizontalLine", [9472]], ["hscr", [119997]], ["Hscr", [8459]], ["hslash", [8463]], ["Hstrok", [294]], ["hstrok", [295]], ["HumpDownHump", [8782]], ["HumpEqual", [8783]], ["hybull", [8259]], ["hyphen", [8208]], ["Iacute", [205]], ["iacute", [237]], ["ic", [8291]], ["Icirc", [206]], ["icirc", [238]], ["Icy", [1048]], ["icy", [1080]], ["Idot", [304]], ["IEcy", [1045]], ["iecy", [1077]], ["iexcl", [161]], ["iff", [8660]], ["ifr", [120102]], ["Ifr", [8465]], ["Igrave", [204]], ["igrave", [236]], ["ii", [8520]], ["iiiint", [10764]], ["iiint", [8749]], ["iinfin", [10716]], ["iiota", [8489]], ["IJlig", [306]], ["ijlig", [307]], ["Imacr", [298]], ["imacr", [299]], ["image", [8465]], ["ImaginaryI", [8520]], ["imagline", [8464]], ["imagpart", [8465]], ["imath", [305]], ["Im", [8465]], ["imof", [8887]], ["imped", [437]], ["Implies", [8658]], ["incare", [8453]], ["in", [8712]], ["infin", [8734]], ["infintie", [10717]], ["inodot", [305]], ["intcal", [8890]], ["int", [8747]], ["Int", [8748]], ["integers", [8484]], ["Integral", [8747]], ["intercal", [8890]], ["Intersection", [8898]], ["intlarhk", [10775]], ["intprod", [10812]], ["InvisibleComma", [8291]], ["InvisibleTimes", [8290]], ["IOcy", [1025]], ["iocy", [1105]], ["Iogon", [302]], ["iogon", [303]], ["Iopf", [120128]], ["iopf", [120154]], ["Iota", [921]], ["iota", [953]], ["iprod", [10812]], ["iquest", [191]], ["iscr", [119998]], ["Iscr", [8464]], ["isin", [8712]], ["isindot", [8949]], ["isinE", [8953]], ["isins", [8948]], ["isinsv", [8947]], ["isinv", [8712]], ["it", [8290]], ["Itilde", [296]], ["itilde", [297]], ["Iukcy", [1030]], ["iukcy", [1110]], ["Iuml", [207]], ["iuml", [239]], ["Jcirc", [308]], ["jcirc", [309]], ["Jcy", [1049]], ["jcy", [1081]], ["Jfr", [120077]], ["jfr", [120103]], ["jmath", [567]], ["Jopf", [120129]], ["jopf", [120155]], ["Jscr", [119973]], ["jscr", [119999]], ["Jsercy", [1032]], ["jsercy", [1112]], ["Jukcy", [1028]], ["jukcy", [1108]], ["Kappa", [922]], ["kappa", [954]], ["kappav", [1008]], ["Kcedil", [310]], ["kcedil", [311]], ["Kcy", [1050]], ["kcy", [1082]], ["Kfr", [120078]], ["kfr", [120104]], ["kgreen", [312]], ["KHcy", [1061]], ["khcy", [1093]], ["KJcy", [1036]], ["kjcy", [1116]], ["Kopf", [120130]], ["kopf", [120156]], ["Kscr", [119974]], ["kscr", [12e4]], ["lAarr", [8666]], ["Lacute", [313]], ["lacute", [314]], ["laemptyv", [10676]], ["lagran", [8466]], ["Lambda", [923]], ["lambda", [955]], ["lang", [10216]], ["Lang", [10218]], ["langd", [10641]], ["langle", [10216]], ["lap", [10885]], ["Laplacetrf", [8466]], ["laquo", [171]], ["larrb", [8676]], ["larrbfs", [10527]], ["larr", [8592]], ["Larr", [8606]], ["lArr", [8656]], ["larrfs", [10525]], ["larrhk", [8617]], ["larrlp", [8619]], ["larrpl", [10553]], ["larrsim", [10611]], ["larrtl", [8610]], ["latail", [10521]], ["lAtail", [10523]], ["lat", [10923]], ["late", [10925]], ["lates", [10925, 65024]], ["lbarr", [10508]], ["lBarr", [10510]], ["lbbrk", [10098]], ["lbrace", [123]], ["lbrack", [91]], ["lbrke", [10635]], ["lbrksld", [10639]], ["lbrkslu", [10637]], ["Lcaron", [317]], ["lcaron", [318]], ["Lcedil", [315]], ["lcedil", [316]], ["lceil", [8968]], ["lcub", [123]], ["Lcy", [1051]], ["lcy", [1083]], ["ldca", [10550]], ["ldquo", [8220]], ["ldquor", [8222]], ["ldrdhar", [10599]], ["ldrushar", [10571]], ["ldsh", [8626]], ["le", [8804]], ["lE", [8806]], ["LeftAngleBracket", [10216]], ["LeftArrowBar", [8676]], ["leftarrow", [8592]], ["LeftArrow", [8592]], ["Leftarrow", [8656]], ["LeftArrowRightArrow", [8646]], ["leftarrowtail", [8610]], ["LeftCeiling", [8968]], ["LeftDoubleBracket", [10214]], ["LeftDownTeeVector", [10593]], ["LeftDownVectorBar", [10585]], ["LeftDownVector", [8643]], ["LeftFloor", [8970]], ["leftharpoondown", [8637]], ["leftharpoonup", [8636]], ["leftleftarrows", [8647]], ["leftrightarrow", [8596]], ["LeftRightArrow", [8596]], ["Leftrightarrow", [8660]], ["leftrightarrows", [8646]], ["leftrightharpoons", [8651]], ["leftrightsquigarrow", [8621]], ["LeftRightVector", [10574]], ["LeftTeeArrow", [8612]], ["LeftTee", [8867]], ["LeftTeeVector", [10586]], ["leftthreetimes", [8907]], ["LeftTriangleBar", [10703]], ["LeftTriangle", [8882]], ["LeftTriangleEqual", [8884]], ["LeftUpDownVector", [10577]], ["LeftUpTeeVector", [10592]], ["LeftUpVectorBar", [10584]], ["LeftUpVector", [8639]], ["LeftVectorBar", [10578]], ["LeftVector", [8636]], ["lEg", [10891]], ["leg", [8922]], ["leq", [8804]], ["leqq", [8806]], ["leqslant", [10877]], ["lescc", [10920]], ["les", [10877]], ["lesdot", [10879]], ["lesdoto", [10881]], ["lesdotor", [10883]], ["lesg", [8922, 65024]], ["lesges", [10899]], ["lessapprox", [10885]], ["lessdot", [8918]], ["lesseqgtr", [8922]], ["lesseqqgtr", [10891]], ["LessEqualGreater", [8922]], ["LessFullEqual", [8806]], ["LessGreater", [8822]], ["lessgtr", [8822]], ["LessLess", [10913]], ["lesssim", [8818]], ["LessSlantEqual", [10877]], ["LessTilde", [8818]], ["lfisht", [10620]], ["lfloor", [8970]], ["Lfr", [120079]], ["lfr", [120105]], ["lg", [8822]], ["lgE", [10897]], ["lHar", [10594]], ["lhard", [8637]], ["lharu", [8636]], ["lharul", [10602]], ["lhblk", [9604]], ["LJcy", [1033]], ["ljcy", [1113]], ["llarr", [8647]], ["ll", [8810]], ["Ll", [8920]], ["llcorner", [8990]], ["Lleftarrow", [8666]], ["llhard", [10603]], ["lltri", [9722]], ["Lmidot", [319]], ["lmidot", [320]], ["lmoustache", [9136]], ["lmoust", [9136]], ["lnap", [10889]], ["lnapprox", [10889]], ["lne", [10887]], ["lnE", [8808]], ["lneq", [10887]], ["lneqq", [8808]], ["lnsim", [8934]], ["loang", [10220]], ["loarr", [8701]], ["lobrk", [10214]], ["longleftarrow", [10229]], ["LongLeftArrow", [10229]], ["Longleftarrow", [10232]], ["longleftrightarrow", [10231]], ["LongLeftRightArrow", [10231]], ["Longleftrightarrow", [10234]], ["longmapsto", [10236]], ["longrightarrow", [10230]], ["LongRightArrow", [10230]], ["Longrightarrow", [10233]], ["looparrowleft", [8619]], ["looparrowright", [8620]], ["lopar", [10629]], ["Lopf", [120131]], ["lopf", [120157]], ["loplus", [10797]], ["lotimes", [10804]], ["lowast", [8727]], ["lowbar", [95]], ["LowerLeftArrow", [8601]], ["LowerRightArrow", [8600]], ["loz", [9674]], ["lozenge", [9674]], ["lozf", [10731]], ["lpar", [40]], ["lparlt", [10643]], ["lrarr", [8646]], ["lrcorner", [8991]], ["lrhar", [8651]], ["lrhard", [10605]], ["lrm", [8206]], ["lrtri", [8895]], ["lsaquo", [8249]], ["lscr", [120001]], ["Lscr", [8466]], ["lsh", [8624]], ["Lsh", [8624]], ["lsim", [8818]], ["lsime", [10893]], ["lsimg", [10895]], ["lsqb", [91]], ["lsquo", [8216]], ["lsquor", [8218]], ["Lstrok", [321]], ["lstrok", [322]], ["ltcc", [10918]], ["ltcir", [10873]], ["lt", [60]], ["LT", [60]], ["Lt", [8810]], ["ltdot", [8918]], ["lthree", [8907]], ["ltimes", [8905]], ["ltlarr", [10614]], ["ltquest", [10875]], ["ltri", [9667]], ["ltrie", [8884]], ["ltrif", [9666]], ["ltrPar", [10646]], ["lurdshar", [10570]], ["luruhar", [10598]], ["lvertneqq", [8808, 65024]], ["lvnE", [8808, 65024]], ["macr", [175]], ["male", [9794]], ["malt", [10016]], ["maltese", [10016]], ["Map", [10501]], ["map", [8614]], ["mapsto", [8614]], ["mapstodown", [8615]], ["mapstoleft", [8612]], ["mapstoup", [8613]], ["marker", [9646]], ["mcomma", [10793]], ["Mcy", [1052]], ["mcy", [1084]], ["mdash", [8212]], ["mDDot", [8762]], ["measuredangle", [8737]], ["MediumSpace", [8287]], ["Mellintrf", [8499]], ["Mfr", [120080]], ["mfr", [120106]], ["mho", [8487]], ["micro", [181]], ["midast", [42]], ["midcir", [10992]], ["mid", [8739]], ["middot", [183]], ["minusb", [8863]], ["minus", [8722]], ["minusd", [8760]], ["minusdu", [10794]], ["MinusPlus", [8723]], ["mlcp", [10971]], ["mldr", [8230]], ["mnplus", [8723]], ["models", [8871]], ["Mopf", [120132]], ["mopf", [120158]], ["mp", [8723]], ["mscr", [120002]], ["Mscr", [8499]], ["mstpos", [8766]], ["Mu", [924]], ["mu", [956]], ["multimap", [8888]], ["mumap", [8888]], ["nabla", [8711]], ["Nacute", [323]], ["nacute", [324]], ["nang", [8736, 8402]], ["nap", [8777]], ["napE", [10864, 824]], ["napid", [8779, 824]], ["napos", [329]], ["napprox", [8777]], ["natural", [9838]], ["naturals", [8469]], ["natur", [9838]], ["nbsp", [160]], ["nbump", [8782, 824]], ["nbumpe", [8783, 824]], ["ncap", [10819]], ["Ncaron", [327]], ["ncaron", [328]], ["Ncedil", [325]], ["ncedil", [326]], ["ncong", [8775]], ["ncongdot", [10861, 824]], ["ncup", [10818]], ["Ncy", [1053]], ["ncy", [1085]], ["ndash", [8211]], ["nearhk", [10532]], ["nearr", [8599]], ["neArr", [8663]], ["nearrow", [8599]], ["ne", [8800]], ["nedot", [8784, 824]], ["NegativeMediumSpace", [8203]], ["NegativeThickSpace", [8203]], ["NegativeThinSpace", [8203]], ["NegativeVeryThinSpace", [8203]], ["nequiv", [8802]], ["nesear", [10536]], ["nesim", [8770, 824]], ["NestedGreaterGreater", [8811]], ["NestedLessLess", [8810]], ["nexist", [8708]], ["nexists", [8708]], ["Nfr", [120081]], ["nfr", [120107]], ["ngE", [8807, 824]], ["nge", [8817]], ["ngeq", [8817]], ["ngeqq", [8807, 824]], ["ngeqslant", [10878, 824]], ["nges", [10878, 824]], ["nGg", [8921, 824]], ["ngsim", [8821]], ["nGt", [8811, 8402]], ["ngt", [8815]], ["ngtr", [8815]], ["nGtv", [8811, 824]], ["nharr", [8622]], ["nhArr", [8654]], ["nhpar", [10994]], ["ni", [8715]], ["nis", [8956]], ["nisd", [8954]], ["niv", [8715]], ["NJcy", [1034]], ["njcy", [1114]], ["nlarr", [8602]], ["nlArr", [8653]], ["nldr", [8229]], ["nlE", [8806, 824]], ["nle", [8816]], ["nleftarrow", [8602]], ["nLeftarrow", [8653]], ["nleftrightarrow", [8622]], ["nLeftrightarrow", [8654]], ["nleq", [8816]], ["nleqq", [8806, 824]], ["nleqslant", [10877, 824]], ["nles", [10877, 824]], ["nless", [8814]], ["nLl", [8920, 824]], ["nlsim", [8820]], ["nLt", [8810, 8402]], ["nlt", [8814]], ["nltri", [8938]], ["nltrie", [8940]], ["nLtv", [8810, 824]], ["nmid", [8740]], ["NoBreak", [8288]], ["NonBreakingSpace", [160]], ["nopf", [120159]], ["Nopf", [8469]], ["Not", [10988]], ["not", [172]], ["NotCongruent", [8802]], ["NotCupCap", [8813]], ["NotDoubleVerticalBar", [8742]], ["NotElement", [8713]], ["NotEqual", [8800]], ["NotEqualTilde", [8770, 824]], ["NotExists", [8708]], ["NotGreater", [8815]], ["NotGreaterEqual", [8817]], ["NotGreaterFullEqual", [8807, 824]], ["NotGreaterGreater", [8811, 824]], ["NotGreaterLess", [8825]], ["NotGreaterSlantEqual", [10878, 824]], ["NotGreaterTilde", [8821]], ["NotHumpDownHump", [8782, 824]], ["NotHumpEqual", [8783, 824]], ["notin", [8713]], ["notindot", [8949, 824]], ["notinE", [8953, 824]], ["notinva", [8713]], ["notinvb", [8951]], ["notinvc", [8950]], ["NotLeftTriangleBar", [10703, 824]], ["NotLeftTriangle", [8938]], ["NotLeftTriangleEqual", [8940]], ["NotLess", [8814]], ["NotLessEqual", [8816]], ["NotLessGreater", [8824]], ["NotLessLess", [8810, 824]], ["NotLessSlantEqual", [10877, 824]], ["NotLessTilde", [8820]], ["NotNestedGreaterGreater", [10914, 824]], ["NotNestedLessLess", [10913, 824]], ["notni", [8716]], ["notniva", [8716]], ["notnivb", [8958]], ["notnivc", [8957]], ["NotPrecedes", [8832]], ["NotPrecedesEqual", [10927, 824]], ["NotPrecedesSlantEqual", [8928]], ["NotReverseElement", [8716]], ["NotRightTriangleBar", [10704, 824]], ["NotRightTriangle", [8939]], ["NotRightTriangleEqual", [8941]], ["NotSquareSubset", [8847, 824]], ["NotSquareSubsetEqual", [8930]], ["NotSquareSuperset", [8848, 824]], ["NotSquareSupersetEqual", [8931]], ["NotSubset", [8834, 8402]], ["NotSubsetEqual", [8840]], ["NotSucceeds", [8833]], ["NotSucceedsEqual", [10928, 824]], ["NotSucceedsSlantEqual", [8929]], ["NotSucceedsTilde", [8831, 824]], ["NotSuperset", [8835, 8402]], ["NotSupersetEqual", [8841]], ["NotTilde", [8769]], ["NotTildeEqual", [8772]], ["NotTildeFullEqual", [8775]], ["NotTildeTilde", [8777]], ["NotVerticalBar", [8740]], ["nparallel", [8742]], ["npar", [8742]], ["nparsl", [11005, 8421]], ["npart", [8706, 824]], ["npolint", [10772]], ["npr", [8832]], ["nprcue", [8928]], ["nprec", [8832]], ["npreceq", [10927, 824]], ["npre", [10927, 824]], ["nrarrc", [10547, 824]], ["nrarr", [8603]], ["nrArr", [8655]], ["nrarrw", [8605, 824]], ["nrightarrow", [8603]], ["nRightarrow", [8655]], ["nrtri", [8939]], ["nrtrie", [8941]], ["nsc", [8833]], ["nsccue", [8929]], ["nsce", [10928, 824]], ["Nscr", [119977]], ["nscr", [120003]], ["nshortmid", [8740]], ["nshortparallel", [8742]], ["nsim", [8769]], ["nsime", [8772]], ["nsimeq", [8772]], ["nsmid", [8740]], ["nspar", [8742]], ["nsqsube", [8930]], ["nsqsupe", [8931]], ["nsub", [8836]], ["nsubE", [10949, 824]], ["nsube", [8840]], ["nsubset", [8834, 8402]], ["nsubseteq", [8840]], ["nsubseteqq", [10949, 824]], ["nsucc", [8833]], ["nsucceq", [10928, 824]], ["nsup", [8837]], ["nsupE", [10950, 824]], ["nsupe", [8841]], ["nsupset", [8835, 8402]], ["nsupseteq", [8841]], ["nsupseteqq", [10950, 824]], ["ntgl", [8825]], ["Ntilde", [209]], ["ntilde", [241]], ["ntlg", [8824]], ["ntriangleleft", [8938]], ["ntrianglelefteq", [8940]], ["ntriangleright", [8939]], ["ntrianglerighteq", [8941]], ["Nu", [925]], ["nu", [957]], ["num", [35]], ["numero", [8470]], ["numsp", [8199]], ["nvap", [8781, 8402]], ["nvdash", [8876]], ["nvDash", [8877]], ["nVdash", [8878]], ["nVDash", [8879]], ["nvge", [8805, 8402]], ["nvgt", [62, 8402]], ["nvHarr", [10500]], ["nvinfin", [10718]], ["nvlArr", [10498]], ["nvle", [8804, 8402]], ["nvlt", [60, 8402]], ["nvltrie", [8884, 8402]], ["nvrArr", [10499]], ["nvrtrie", [8885, 8402]], ["nvsim", [8764, 8402]], ["nwarhk", [10531]], ["nwarr", [8598]], ["nwArr", [8662]], ["nwarrow", [8598]], ["nwnear", [10535]], ["Oacute", [211]], ["oacute", [243]], ["oast", [8859]], ["Ocirc", [212]], ["ocirc", [244]], ["ocir", [8858]], ["Ocy", [1054]], ["ocy", [1086]], ["odash", [8861]], ["Odblac", [336]], ["odblac", [337]], ["odiv", [10808]], ["odot", [8857]], ["odsold", [10684]], ["OElig", [338]], ["oelig", [339]], ["ofcir", [10687]], ["Ofr", [120082]], ["ofr", [120108]], ["ogon", [731]], ["Ograve", [210]], ["ograve", [242]], ["ogt", [10689]], ["ohbar", [10677]], ["ohm", [937]], ["oint", [8750]], ["olarr", [8634]], ["olcir", [10686]], ["olcross", [10683]], ["oline", [8254]], ["olt", [10688]], ["Omacr", [332]], ["omacr", [333]], ["Omega", [937]], ["omega", [969]], ["Omicron", [927]], ["omicron", [959]], ["omid", [10678]], ["ominus", [8854]], ["Oopf", [120134]], ["oopf", [120160]], ["opar", [10679]], ["OpenCurlyDoubleQuote", [8220]], ["OpenCurlyQuote", [8216]], ["operp", [10681]], ["oplus", [8853]], ["orarr", [8635]], ["Or", [10836]], ["or", [8744]], ["ord", [10845]], ["order", [8500]], ["orderof", [8500]], ["ordf", [170]], ["ordm", [186]], ["origof", [8886]], ["oror", [10838]], ["orslope", [10839]], ["orv", [10843]], ["oS", [9416]], ["Oscr", [119978]], ["oscr", [8500]], ["Oslash", [216]], ["oslash", [248]], ["osol", [8856]], ["Otilde", [213]], ["otilde", [245]], ["otimesas", [10806]], ["Otimes", [10807]], ["otimes", [8855]], ["Ouml", [214]], ["ouml", [246]], ["ovbar", [9021]], ["OverBar", [8254]], ["OverBrace", [9182]], ["OverBracket", [9140]], ["OverParenthesis", [9180]], ["para", [182]], ["parallel", [8741]], ["par", [8741]], ["parsim", [10995]], ["parsl", [11005]], ["part", [8706]], ["PartialD", [8706]], ["Pcy", [1055]], ["pcy", [1087]], ["percnt", [37]], ["period", [46]], ["permil", [8240]], ["perp", [8869]], ["pertenk", [8241]], ["Pfr", [120083]], ["pfr", [120109]], ["Phi", [934]], ["phi", [966]], ["phiv", [981]], ["phmmat", [8499]], ["phone", [9742]], ["Pi", [928]], ["pi", [960]], ["pitchfork", [8916]], ["piv", [982]], ["planck", [8463]], ["planckh", [8462]], ["plankv", [8463]], ["plusacir", [10787]], ["plusb", [8862]], ["pluscir", [10786]], ["plus", [43]], ["plusdo", [8724]], ["plusdu", [10789]], ["pluse", [10866]], ["PlusMinus", [177]], ["plusmn", [177]], ["plussim", [10790]], ["plustwo", [10791]], ["pm", [177]], ["Poincareplane", [8460]], ["pointint", [10773]], ["popf", [120161]], ["Popf", [8473]], ["pound", [163]], ["prap", [10935]], ["Pr", [10939]], ["pr", [8826]], ["prcue", [8828]], ["precapprox", [10935]], ["prec", [8826]], ["preccurlyeq", [8828]], ["Precedes", [8826]], ["PrecedesEqual", [10927]], ["PrecedesSlantEqual", [8828]], ["PrecedesTilde", [8830]], ["preceq", [10927]], ["precnapprox", [10937]], ["precneqq", [10933]], ["precnsim", [8936]], ["pre", [10927]], ["prE", [10931]], ["precsim", [8830]], ["prime", [8242]], ["Prime", [8243]], ["primes", [8473]], ["prnap", [10937]], ["prnE", [10933]], ["prnsim", [8936]], ["prod", [8719]], ["Product", [8719]], ["profalar", [9006]], ["profline", [8978]], ["profsurf", [8979]], ["prop", [8733]], ["Proportional", [8733]], ["Proportion", [8759]], ["propto", [8733]], ["prsim", [8830]], ["prurel", [8880]], ["Pscr", [119979]], ["pscr", [120005]], ["Psi", [936]], ["psi", [968]], ["puncsp", [8200]], ["Qfr", [120084]], ["qfr", [120110]], ["qint", [10764]], ["qopf", [120162]], ["Qopf", [8474]], ["qprime", [8279]], ["Qscr", [119980]], ["qscr", [120006]], ["quaternions", [8461]], ["quatint", [10774]], ["quest", [63]], ["questeq", [8799]], ["quot", [34]], ["QUOT", [34]], ["rAarr", [8667]], ["race", [8765, 817]], ["Racute", [340]], ["racute", [341]], ["radic", [8730]], ["raemptyv", [10675]], ["rang", [10217]], ["Rang", [10219]], ["rangd", [10642]], ["range", [10661]], ["rangle", [10217]], ["raquo", [187]], ["rarrap", [10613]], ["rarrb", [8677]], ["rarrbfs", [10528]], ["rarrc", [10547]], ["rarr", [8594]], ["Rarr", [8608]], ["rArr", [8658]], ["rarrfs", [10526]], ["rarrhk", [8618]], ["rarrlp", [8620]], ["rarrpl", [10565]], ["rarrsim", [10612]], ["Rarrtl", [10518]], ["rarrtl", [8611]], ["rarrw", [8605]], ["ratail", [10522]], ["rAtail", [10524]], ["ratio", [8758]], ["rationals", [8474]], ["rbarr", [10509]], ["rBarr", [10511]], ["RBarr", [10512]], ["rbbrk", [10099]], ["rbrace", [125]], ["rbrack", [93]], ["rbrke", [10636]], ["rbrksld", [10638]], ["rbrkslu", [10640]], ["Rcaron", [344]], ["rcaron", [345]], ["Rcedil", [342]], ["rcedil", [343]], ["rceil", [8969]], ["rcub", [125]], ["Rcy", [1056]], ["rcy", [1088]], ["rdca", [10551]], ["rdldhar", [10601]], ["rdquo", [8221]], ["rdquor", [8221]], ["rdsh", [8627]], ["real", [8476]], ["realine", [8475]], ["realpart", [8476]], ["reals", [8477]], ["Re", [8476]], ["rect", [9645]], ["reg", [174]], ["REG", [174]], ["ReverseElement", [8715]], ["ReverseEquilibrium", [8651]], ["ReverseUpEquilibrium", [10607]], ["rfisht", [10621]], ["rfloor", [8971]], ["rfr", [120111]], ["Rfr", [8476]], ["rHar", [10596]], ["rhard", [8641]], ["rharu", [8640]], ["rharul", [10604]], ["Rho", [929]], ["rho", [961]], ["rhov", [1009]], ["RightAngleBracket", [10217]], ["RightArrowBar", [8677]], ["rightarrow", [8594]], ["RightArrow", [8594]], ["Rightarrow", [8658]], ["RightArrowLeftArrow", [8644]], ["rightarrowtail", [8611]], ["RightCeiling", [8969]], ["RightDoubleBracket", [10215]], ["RightDownTeeVector", [10589]], ["RightDownVectorBar", [10581]], ["RightDownVector", [8642]], ["RightFloor", [8971]], ["rightharpoondown", [8641]], ["rightharpoonup", [8640]], ["rightleftarrows", [8644]], ["rightleftharpoons", [8652]], ["rightrightarrows", [8649]], ["rightsquigarrow", [8605]], ["RightTeeArrow", [8614]], ["RightTee", [8866]], ["RightTeeVector", [10587]], ["rightthreetimes", [8908]], ["RightTriangleBar", [10704]], ["RightTriangle", [8883]], ["RightTriangleEqual", [8885]], ["RightUpDownVector", [10575]], ["RightUpTeeVector", [10588]], ["RightUpVectorBar", [10580]], ["RightUpVector", [8638]], ["RightVectorBar", [10579]], ["RightVector", [8640]], ["ring", [730]], ["risingdotseq", [8787]], ["rlarr", [8644]], ["rlhar", [8652]], ["rlm", [8207]], ["rmoustache", [9137]], ["rmoust", [9137]], ["rnmid", [10990]], ["roang", [10221]], ["roarr", [8702]], ["robrk", [10215]], ["ropar", [10630]], ["ropf", [120163]], ["Ropf", [8477]], ["roplus", [10798]], ["rotimes", [10805]], ["RoundImplies", [10608]], ["rpar", [41]], ["rpargt", [10644]], ["rppolint", [10770]], ["rrarr", [8649]], ["Rrightarrow", [8667]], ["rsaquo", [8250]], ["rscr", [120007]], ["Rscr", [8475]], ["rsh", [8625]], ["Rsh", [8625]], ["rsqb", [93]], ["rsquo", [8217]], ["rsquor", [8217]], ["rthree", [8908]], ["rtimes", [8906]], ["rtri", [9657]], ["rtrie", [8885]], ["rtrif", [9656]], ["rtriltri", [10702]], ["RuleDelayed", [10740]], ["ruluhar", [10600]], ["rx", [8478]], ["Sacute", [346]], ["sacute", [347]], ["sbquo", [8218]], ["scap", [10936]], ["Scaron", [352]], ["scaron", [353]], ["Sc", [10940]], ["sc", [8827]], ["sccue", [8829]], ["sce", [10928]], ["scE", [10932]], ["Scedil", [350]], ["scedil", [351]], ["Scirc", [348]], ["scirc", [349]], ["scnap", [10938]], ["scnE", [10934]], ["scnsim", [8937]], ["scpolint", [10771]], ["scsim", [8831]], ["Scy", [1057]], ["scy", [1089]], ["sdotb", [8865]], ["sdot", [8901]], ["sdote", [10854]], ["searhk", [10533]], ["searr", [8600]], ["seArr", [8664]], ["searrow", [8600]], ["sect", [167]], ["semi", [59]], ["seswar", [10537]], ["setminus", [8726]], ["setmn", [8726]], ["sext", [10038]], ["Sfr", [120086]], ["sfr", [120112]], ["sfrown", [8994]], ["sharp", [9839]], ["SHCHcy", [1065]], ["shchcy", [1097]], ["SHcy", [1064]], ["shcy", [1096]], ["ShortDownArrow", [8595]], ["ShortLeftArrow", [8592]], ["shortmid", [8739]], ["shortparallel", [8741]], ["ShortRightArrow", [8594]], ["ShortUpArrow", [8593]], ["shy", [173]], ["Sigma", [931]], ["sigma", [963]], ["sigmaf", [962]], ["sigmav", [962]], ["sim", [8764]], ["simdot", [10858]], ["sime", [8771]], ["simeq", [8771]], ["simg", [10910]], ["simgE", [10912]], ["siml", [10909]], ["simlE", [10911]], ["simne", [8774]], ["simplus", [10788]], ["simrarr", [10610]], ["slarr", [8592]], ["SmallCircle", [8728]], ["smallsetminus", [8726]], ["smashp", [10803]], ["smeparsl", [10724]], ["smid", [8739]], ["smile", [8995]], ["smt", [10922]], ["smte", [10924]], ["smtes", [10924, 65024]], ["SOFTcy", [1068]], ["softcy", [1100]], ["solbar", [9023]], ["solb", [10692]], ["sol", [47]], ["Sopf", [120138]], ["sopf", [120164]], ["spades", [9824]], ["spadesuit", [9824]], ["spar", [8741]], ["sqcap", [8851]], ["sqcaps", [8851, 65024]], ["sqcup", [8852]], ["sqcups", [8852, 65024]], ["Sqrt", [8730]], ["sqsub", [8847]], ["sqsube", [8849]], ["sqsubset", [8847]], ["sqsubseteq", [8849]], ["sqsup", [8848]], ["sqsupe", [8850]], ["sqsupset", [8848]], ["sqsupseteq", [8850]], ["square", [9633]], ["Square", [9633]], ["SquareIntersection", [8851]], ["SquareSubset", [8847]], ["SquareSubsetEqual", [8849]], ["SquareSuperset", [8848]], ["SquareSupersetEqual", [8850]], ["SquareUnion", [8852]], ["squarf", [9642]], ["squ", [9633]], ["squf", [9642]], ["srarr", [8594]], ["Sscr", [119982]], ["sscr", [120008]], ["ssetmn", [8726]], ["ssmile", [8995]], ["sstarf", [8902]], ["Star", [8902]], ["star", [9734]], ["starf", [9733]], ["straightepsilon", [1013]], ["straightphi", [981]], ["strns", [175]], ["sub", [8834]], ["Sub", [8912]], ["subdot", [10941]], ["subE", [10949]], ["sube", [8838]], ["subedot", [10947]], ["submult", [10945]], ["subnE", [10955]], ["subne", [8842]], ["subplus", [10943]], ["subrarr", [10617]], ["subset", [8834]], ["Subset", [8912]], ["subseteq", [8838]], ["subseteqq", [10949]], ["SubsetEqual", [8838]], ["subsetneq", [8842]], ["subsetneqq", [10955]], ["subsim", [10951]], ["subsub", [10965]], ["subsup", [10963]], ["succapprox", [10936]], ["succ", [8827]], ["succcurlyeq", [8829]], ["Succeeds", [8827]], ["SucceedsEqual", [10928]], ["SucceedsSlantEqual", [8829]], ["SucceedsTilde", [8831]], ["succeq", [10928]], ["succnapprox", [10938]], ["succneqq", [10934]], ["succnsim", [8937]], ["succsim", [8831]], ["SuchThat", [8715]], ["sum", [8721]], ["Sum", [8721]], ["sung", [9834]], ["sup1", [185]], ["sup2", [178]], ["sup3", [179]], ["sup", [8835]], ["Sup", [8913]], ["supdot", [10942]], ["supdsub", [10968]], ["supE", [10950]], ["supe", [8839]], ["supedot", [10948]], ["Superset", [8835]], ["SupersetEqual", [8839]], ["suphsol", [10185]], ["suphsub", [10967]], ["suplarr", [10619]], ["supmult", [10946]], ["supnE", [10956]], ["supne", [8843]], ["supplus", [10944]], ["supset", [8835]], ["Supset", [8913]], ["supseteq", [8839]], ["supseteqq", [10950]], ["supsetneq", [8843]], ["supsetneqq", [10956]], ["supsim", [10952]], ["supsub", [10964]], ["supsup", [10966]], ["swarhk", [10534]], ["swarr", [8601]], ["swArr", [8665]], ["swarrow", [8601]], ["swnwar", [10538]], ["szlig", [223]], ["Tab", [9]], ["target", [8982]], ["Tau", [932]], ["tau", [964]], ["tbrk", [9140]], ["Tcaron", [356]], ["tcaron", [357]], ["Tcedil", [354]], ["tcedil", [355]], ["Tcy", [1058]], ["tcy", [1090]], ["tdot", [8411]], ["telrec", [8981]], ["Tfr", [120087]], ["tfr", [120113]], ["there4", [8756]], ["therefore", [8756]], ["Therefore", [8756]], ["Theta", [920]], ["theta", [952]], ["thetasym", [977]], ["thetav", [977]], ["thickapprox", [8776]], ["thicksim", [8764]], ["ThickSpace", [8287, 8202]], ["ThinSpace", [8201]], ["thinsp", [8201]], ["thkap", [8776]], ["thksim", [8764]], ["THORN", [222]], ["thorn", [254]], ["tilde", [732]], ["Tilde", [8764]], ["TildeEqual", [8771]], ["TildeFullEqual", [8773]], ["TildeTilde", [8776]], ["timesbar", [10801]], ["timesb", [8864]], ["times", [215]], ["timesd", [10800]], ["tint", [8749]], ["toea", [10536]], ["topbot", [9014]], ["topcir", [10993]], ["top", [8868]], ["Topf", [120139]], ["topf", [120165]], ["topfork", [10970]], ["tosa", [10537]], ["tprime", [8244]], ["trade", [8482]], ["TRADE", [8482]], ["triangle", [9653]], ["triangledown", [9663]], ["triangleleft", [9667]], ["trianglelefteq", [8884]], ["triangleq", [8796]], ["triangleright", [9657]], ["trianglerighteq", [8885]], ["tridot", [9708]], ["trie", [8796]], ["triminus", [10810]], ["TripleDot", [8411]], ["triplus", [10809]], ["trisb", [10701]], ["tritime", [10811]], ["trpezium", [9186]], ["Tscr", [119983]], ["tscr", [120009]], ["TScy", [1062]], ["tscy", [1094]], ["TSHcy", [1035]], ["tshcy", [1115]], ["Tstrok", [358]], ["tstrok", [359]], ["twixt", [8812]], ["twoheadleftarrow", [8606]], ["twoheadrightarrow", [8608]], ["Uacute", [218]], ["uacute", [250]], ["uarr", [8593]], ["Uarr", [8607]], ["uArr", [8657]], ["Uarrocir", [10569]], ["Ubrcy", [1038]], ["ubrcy", [1118]], ["Ubreve", [364]], ["ubreve", [365]], ["Ucirc", [219]], ["ucirc", [251]], ["Ucy", [1059]], ["ucy", [1091]], ["udarr", [8645]], ["Udblac", [368]], ["udblac", [369]], ["udhar", [10606]], ["ufisht", [10622]], ["Ufr", [120088]], ["ufr", [120114]], ["Ugrave", [217]], ["ugrave", [249]], ["uHar", [10595]], ["uharl", [8639]], ["uharr", [8638]], ["uhblk", [9600]], ["ulcorn", [8988]], ["ulcorner", [8988]], ["ulcrop", [8975]], ["ultri", [9720]], ["Umacr", [362]], ["umacr", [363]], ["uml", [168]], ["UnderBar", [95]], ["UnderBrace", [9183]], ["UnderBracket", [9141]], ["UnderParenthesis", [9181]], ["Union", [8899]], ["UnionPlus", [8846]], ["Uogon", [370]], ["uogon", [371]], ["Uopf", [120140]], ["uopf", [120166]], ["UpArrowBar", [10514]], ["uparrow", [8593]], ["UpArrow", [8593]], ["Uparrow", [8657]], ["UpArrowDownArrow", [8645]], ["updownarrow", [8597]], ["UpDownArrow", [8597]], ["Updownarrow", [8661]], ["UpEquilibrium", [10606]], ["upharpoonleft", [8639]], ["upharpoonright", [8638]], ["uplus", [8846]], ["UpperLeftArrow", [8598]], ["UpperRightArrow", [8599]], ["upsi", [965]], ["Upsi", [978]], ["upsih", [978]], ["Upsilon", [933]], ["upsilon", [965]], ["UpTeeArrow", [8613]], ["UpTee", [8869]], ["upuparrows", [8648]], ["urcorn", [8989]], ["urcorner", [8989]], ["urcrop", [8974]], ["Uring", [366]], ["uring", [367]], ["urtri", [9721]], ["Uscr", [119984]], ["uscr", [120010]], ["utdot", [8944]], ["Utilde", [360]], ["utilde", [361]], ["utri", [9653]], ["utrif", [9652]], ["uuarr", [8648]], ["Uuml", [220]], ["uuml", [252]], ["uwangle", [10663]], ["vangrt", [10652]], ["varepsilon", [1013]], ["varkappa", [1008]], ["varnothing", [8709]], ["varphi", [981]], ["varpi", [982]], ["varpropto", [8733]], ["varr", [8597]], ["vArr", [8661]], ["varrho", [1009]], ["varsigma", [962]], ["varsubsetneq", [8842, 65024]], ["varsubsetneqq", [10955, 65024]], ["varsupsetneq", [8843, 65024]], ["varsupsetneqq", [10956, 65024]], ["vartheta", [977]], ["vartriangleleft", [8882]], ["vartriangleright", [8883]], ["vBar", [10984]], ["Vbar", [10987]], ["vBarv", [10985]], ["Vcy", [1042]], ["vcy", [1074]], ["vdash", [8866]], ["vDash", [8872]], ["Vdash", [8873]], ["VDash", [8875]], ["Vdashl", [10982]], ["veebar", [8891]], ["vee", [8744]], ["Vee", [8897]], ["veeeq", [8794]], ["vellip", [8942]], ["verbar", [124]], ["Verbar", [8214]], ["vert", [124]], ["Vert", [8214]], ["VerticalBar", [8739]], ["VerticalLine", [124]], ["VerticalSeparator", [10072]], ["VerticalTilde", [8768]], ["VeryThinSpace", [8202]], ["Vfr", [120089]], ["vfr", [120115]], ["vltri", [8882]], ["vnsub", [8834, 8402]], ["vnsup", [8835, 8402]], ["Vopf", [120141]], ["vopf", [120167]], ["vprop", [8733]], ["vrtri", [8883]], ["Vscr", [119985]], ["vscr", [120011]], ["vsubnE", [10955, 65024]], ["vsubne", [8842, 65024]], ["vsupnE", [10956, 65024]], ["vsupne", [8843, 65024]], ["Vvdash", [8874]], ["vzigzag", [10650]], ["Wcirc", [372]], ["wcirc", [373]], ["wedbar", [10847]], ["wedge", [8743]], ["Wedge", [8896]], ["wedgeq", [8793]], ["weierp", [8472]], ["Wfr", [120090]], ["wfr", [120116]], ["Wopf", [120142]], ["wopf", [120168]], ["wp", [8472]], ["wr", [8768]], ["wreath", [8768]], ["Wscr", [119986]], ["wscr", [120012]], ["xcap", [8898]], ["xcirc", [9711]], ["xcup", [8899]], ["xdtri", [9661]], ["Xfr", [120091]], ["xfr", [120117]], ["xharr", [10231]], ["xhArr", [10234]], ["Xi", [926]], ["xi", [958]], ["xlarr", [10229]], ["xlArr", [10232]], ["xmap", [10236]], ["xnis", [8955]], ["xodot", [10752]], ["Xopf", [120143]], ["xopf", [120169]], ["xoplus", [10753]], ["xotime", [10754]], ["xrarr", [10230]], ["xrArr", [10233]], ["Xscr", [119987]], ["xscr", [120013]], ["xsqcup", [10758]], ["xuplus", [10756]], ["xutri", [9651]], ["xvee", [8897]], ["xwedge", [8896]], ["Yacute", [221]], ["yacute", [253]], ["YAcy", [1071]], ["yacy", [1103]], ["Ycirc", [374]], ["ycirc", [375]], ["Ycy", [1067]], ["ycy", [1099]], ["yen", [165]], ["Yfr", [120092]], ["yfr", [120118]], ["YIcy", [1031]], ["yicy", [1111]], ["Yopf", [120144]], ["yopf", [120170]], ["Yscr", [119988]], ["yscr", [120014]], ["YUcy", [1070]], ["yucy", [1102]], ["yuml", [255]], ["Yuml", [376]], ["Zacute", [377]], ["zacute", [378]], ["Zcaron", [381]], ["zcaron", [382]], ["Zcy", [1047]], ["zcy", [1079]], ["Zdot", [379]], ["zdot", [380]], ["zeetrf", [8488]], ["ZeroWidthSpace", [8203]], ["Zeta", [918]], ["zeta", [950]], ["zfr", [120119]], ["Zfr", [8488]], ["ZHcy", [1046]], ["zhcy", [1078]], ["zigrarr", [8669]], ["zopf", [120171]], ["Zopf", [8484]], ["Zscr", [119989]], ["zscr", [120015]], ["zwj", [8205]], ["zwnj", [8204]]],
  6855.                             o = {},
  6856.                             a = {};
  6857.                             i(o, a),
  6858.                             n.prototype.decode = function (e) {
  6859.                                 return 0 === e.length ? "" : e.replace(/&(#?[\w\d]+);?/g, function (e, t) {
  6860.                                     var n;
  6861.                                     if ("#" === t.charAt(0)) {
  6862.                                         var i = "x" === t.charAt(1) ? parseInt(t.substr(2).toLowerCase(), 16) : parseInt(t.substr(1));
  6863.                                         isNaN(i) || -32768 > i || i > 65535 || (n = String.fromCharCode(i))
  6864.                                     } else
  6865.                                         n = o[t];
  6866.                                     return n || e
  6867.                                 })
  6868.                             },
  6869.                             n.decode = function (e) {
  6870.                                 return (new n).decode(e)
  6871.                             },
  6872.                             n.prototype.encode = function (e) {
  6873.                                 var t = e.length;
  6874.                                 if (0 === t)
  6875.                                     return "";
  6876.                                 for (var n = "", i = 0; t > i; ) {
  6877.                                     var r = a[e.charCodeAt(i)];
  6878.                                     if (r) {
  6879.                                         var o = r[e.charCodeAt(i + 1)];
  6880.                                         if (o ? i++ : o = r[""], o) {
  6881.                                             n += "&" + o + ";",
  6882.                                             i++;
  6883.                                             continue
  6884.                                         }
  6885.                                     }
  6886.                                     n += e.charAt(i),
  6887.                                     i++
  6888.                                 }
  6889.                                 return n
  6890.                             },
  6891.                             n.encode = function (e) {
  6892.                                 return (new n).encode(e)
  6893.                             },
  6894.                             n.prototype.encodeNonUTF = function (e) {
  6895.                                 var t = e.length;
  6896.                                 if (0 === t)
  6897.                                     return "";
  6898.                                 for (var n = "", i = 0; t > i; ) {
  6899.                                     var r = e.charCodeAt(i),
  6900.                                     o = a[r];
  6901.                                     if (o) {
  6902.                                         var s = o[e.charCodeAt(i + 1)];
  6903.                                         if (s ? i++ : s = o[""], s) {
  6904.                                             n += "&" + s + ";",
  6905.                                             i++;
  6906.                                             continue
  6907.                                         }
  6908.                                     }
  6909.                                     n += 32 > r || r > 126 ? "&#" + r + ";" : e.charAt(i),
  6910.                                     i++
  6911.                                 }
  6912.                                 return n
  6913.                             },
  6914.                             n.encodeNonUTF = function (e) {
  6915.                                 return (new n).encodeNonUTF(e)
  6916.                             },
  6917.                             n.prototype.encodeNonASCII = function (e) {
  6918.                                 var t = e.length;
  6919.                                 if (0 === t)
  6920.                                     return "";
  6921.                                 for (var n = "", i = 0; t > i; ) {
  6922.                                     var r = e.charCodeAt(i);
  6923.                                     255 >= r ? n += e[i++] : (n += "&#" + r + ";", i++)
  6924.                                 }
  6925.                                 return n
  6926.                             },
  6927.                             n.encodeNonASCII = function (e) {
  6928.                                 return (new n).encodeNonASCII(e)
  6929.                             },
  6930.                             e.exports = n
  6931.                         }, function (e, t) {
  6932.                             t.store = {},
  6933.                             t.set = function (e, n) {
  6934.                                 t.store[e] = n
  6935.                             },
  6936.                             t.get = function (e) {
  6937.                                 return t.store[e]
  6938.                             },
  6939.                             t.reset = function () {
  6940.                                 t.store = {}
  6941.                             }
  6942.                         }, function (e, t) {
  6943.                             e.exports = {
  6944.                                 5: {
  6945.                                     container: "flv",
  6946.                                     resolution: "240p",
  6947.                                     encoding: "Sorenson H.283",
  6948.                                     profile: null,
  6949.                                     bitrate: "0.25",
  6950.                                     audioEncoding: "mp3",
  6951.                                     audioBitrate: 64
  6952.                                 },
  6953.                                 6: {
  6954.                                     container: "flv",
  6955.                                     resolution: "270p",
  6956.                                     encoding: "Sorenson H.263",
  6957.                                     profile: null,
  6958.                                     bitrate: "0.8",
  6959.                                     audioEncoding: "mp3",
  6960.                                     audioBitrate: 64
  6961.                                 },
  6962.                                 13: {
  6963.                                     container: "3gp",
  6964.                                     resolution: null,
  6965.                                     encoding: "MPEG-4 Visual",
  6966.                                     profile: null,
  6967.                                     bitrate: "0.5",
  6968.                                     audioEncoding: "aac",
  6969.                                     audioBitrate: null
  6970.                                 },
  6971.                                 17: {
  6972.                                     container: "3gp",
  6973.                                     resolution: "144p",
  6974.                                     encoding: "MPEG-4 Visual",
  6975.                                     profile: "simple",
  6976.                                     bitrate: "0.05",
  6977.                                     audioEncoding: "aac",
  6978.                                     audioBitrate: 24
  6979.                                 },
  6980.                                 18: {
  6981.                                     container: "mp4",
  6982.                                     resolution: "360p",
  6983.                                     encoding: "H.264",
  6984.                                     profile: "baseline",
  6985.                                     bitrate: "0.5",
  6986.                                     audioEncoding: "aac",
  6987.                                     audioBitrate: 96
  6988.                                 },
  6989.                                 22: {
  6990.                                     container: "mp4",
  6991.                                     resolution: "720p",
  6992.                                     encoding: "H.264",
  6993.                                     profile: "high",
  6994.                                     bitrate: "2-3",
  6995.                                     audioEncoding: "aac",
  6996.                                     audioBitrate: 192
  6997.                                 },
  6998.                                 34: {
  6999.                                     container: "flv",
  7000.                                     resolution: "360p",
  7001.                                     encoding: "H.264",
  7002.                                     profile: "main",
  7003.                                     bitrate: "0.5",
  7004.                                     audioEncoding: "aac",
  7005.                                     audioBitrate: 128
  7006.                                 },
  7007.                                 35: {
  7008.                                     container: "flv",
  7009.                                     resolution: "480p",
  7010.                                     encoding: "H.264",
  7011.                                     profile: "main",
  7012.                                     bitrate: "0.8-1",
  7013.                                     audioEncoding: "aac",
  7014.                                     audioBitrate: 128
  7015.                                 },
  7016.                                 36: {
  7017.                                     container: "3gp",
  7018.                                     resolution: "240p",
  7019.                                     encoding: "MPEG-4 Visual",
  7020.                                     profile: "simple",
  7021.                                     bitrate: "0.175",
  7022.                                     audioEncoding: "aac",
  7023.                                     audioBitrate: 36
  7024.                                 },
  7025.                                 37: {
  7026.                                     container: "mp4",
  7027.                                     resolution: "1080p",
  7028.                                     encoding: "H.264",
  7029.                                     profile: "high",
  7030.                                     bitrate: "3-5.9",
  7031.                                     audioEncoding: "aac",
  7032.                                     audioBitrate: 192
  7033.                                 },
  7034.                                 38: {
  7035.                                     container: "mp4",
  7036.                                     resolution: "3072p",
  7037.                                     encoding: "H.264",
  7038.                                     profile: "high",
  7039.                                     bitrate: "3.5-5",
  7040.                                     audioEncoding: "aac",
  7041.                                     audioBitrate: 192
  7042.                                 },
  7043.                                 43: {
  7044.                                     container: "webm",
  7045.                                     resolution: "360p",
  7046.                                     encoding: "VP8",
  7047.                                     profile: null,
  7048.                                     bitrate: "0.5",
  7049.                                     audioEncoding: "vorbis",
  7050.                                     audioBitrate: 128
  7051.                                 },
  7052.                                 44: {
  7053.                                     container: "webm",
  7054.                                     resolution: "480p",
  7055.                                     encoding: "VP8",
  7056.                                     profile: null,
  7057.                                     bitrate: "1",
  7058.                                     audioEncoding: "vorbis",
  7059.                                     audioBitrate: 128
  7060.                                 },
  7061.                                 45: {
  7062.                                     container: "webm",
  7063.                                     resolution: "720p",
  7064.                                     encoding: "VP8",
  7065.                                     profile: null,
  7066.                                     bitrate: "2",
  7067.                                     audioEncoding: "vorbis",
  7068.                                     audioBitrate: 192
  7069.                                 },
  7070.                                 46: {
  7071.                                     container: "webm",
  7072.                                     resolution: "1080p",
  7073.                                     encoding: "vp8",
  7074.                                     profile: null,
  7075.                                     bitrate: null,
  7076.                                     audioEncoding: "vorbis",
  7077.                                     audioBitrate: 192
  7078.                                 },
  7079.                                 82: {
  7080.                                     container: "mp4",
  7081.                                     resolution: "360p",
  7082.                                     encoding: "H.264",
  7083.                                     profile: "3d",
  7084.                                     bitrate: "0.5",
  7085.                                     audioEncoding: "aac",
  7086.                                     audioBitrate: 96
  7087.                                 },
  7088.                                 83: {
  7089.                                     container: "mp4",
  7090.                                     resolution: "240p",
  7091.                                     encoding: "H.264",
  7092.                                     profile: "3d",
  7093.                                     bitrate: "0.5",
  7094.                                     audioEncoding: "aac",
  7095.                                     audioBitrate: 96
  7096.                                 },
  7097.                                 84: {
  7098.                                     container: "mp4",
  7099.                                     resolution: "720p",
  7100.                                     encoding: "H.264",
  7101.                                     profile: "3d",
  7102.                                     bitrate: "2-3",
  7103.                                     audioEncoding: "aac",
  7104.                                     audioBitrate: 192
  7105.                                 },
  7106.                                 85: {
  7107.                                     container: "mp4",
  7108.                                     resolution: "1080p",
  7109.                                     encoding: "H.264",
  7110.                                     profile: "3d",
  7111.                                     bitrate: "3-4",
  7112.                                     audioEncoding: "aac",
  7113.                                     audioBitrate: 192
  7114.                                 },
  7115.                                 100: {
  7116.                                     container: "webm",
  7117.                                     resolution: "360p",
  7118.                                     encoding: "VP8",
  7119.                                     profile: "3d",
  7120.                                     bitrate: null,
  7121.                                     audioEncoding: "vorbis",
  7122.                                     audioBitrate: 128
  7123.                                 },
  7124.                                 101: {
  7125.                                     container: "webm",
  7126.                                     resolution: "360p",
  7127.                                     encoding: "VP8",
  7128.                                     profile: "3d",
  7129.                                     bitrate: null,
  7130.                                     audioEncoding: "vorbis",
  7131.                                     audioBitrate: 192
  7132.                                 },
  7133.                                 102: {
  7134.                                     container: "webm",
  7135.                                     resolution: "720p",
  7136.                                     encoding: "VP8",
  7137.                                     profile: "3d",
  7138.                                     bitrate: null,
  7139.                                     audioEncoding: "vorbis",
  7140.                                     audioBitrate: 192
  7141.                                 },
  7142.                                 133: {
  7143.                                     container: "mp4",
  7144.                                     resolution: "240p",
  7145.                                     encoding: "H.264",
  7146.                                     profile: "main",
  7147.                                     bitrate: "0.2-0.3",
  7148.                                     audioEncoding: null,
  7149.                                     audioBitrate: null
  7150.                                 },
  7151.                                 134: {
  7152.                                     container: "mp4",
  7153.                                     resolution: "360p",
  7154.                                     encoding: "H.264",
  7155.                                     profile: "main",
  7156.                                     bitrate: "0.3-0.4",
  7157.                                     audioEncoding: null,
  7158.                                     audioBitrate: null
  7159.                                 },
  7160.                                 135: {
  7161.                                     container: "mp4",
  7162.                                     resolution: "480p",
  7163.                                     encoding: "H.264",
  7164.                                     profile: "main",
  7165.                                     bitrate: "0.5-1",
  7166.                                     audioEncoding: null,
  7167.                                     audioBitrate: null
  7168.                                 },
  7169.                                 136: {
  7170.                                     container: "mp4",
  7171.                                     resolution: "720p",
  7172.                                     encoding: "H.264",
  7173.                                     profile: "main",
  7174.                                     bitrate: "1-1.5",
  7175.                                     audioEncoding: null,
  7176.                                     audioBitrate: null
  7177.                                 },
  7178.                                 137: {
  7179.                                     container: "mp4",
  7180.                                     resolution: "1080p",
  7181.                                     encoding: "H.264",
  7182.                                     profile: "high",
  7183.                                     bitrate: "2-3",
  7184.                                     audioEncoding: null,
  7185.                                     audioBitrate: null
  7186.                                 },
  7187.                                 138: {
  7188.                                     container: "mp4",
  7189.                                     resolution: "2160p",
  7190.                                     encoding: "H.264",
  7191.                                     profile: "high",
  7192.                                     bitrate: "13.5",
  7193.                                     audioEncoding: null,
  7194.                                     audioBitrate: null
  7195.                                 },
  7196.                                 160: {
  7197.                                     container: "mp4",
  7198.                                     resolution: "144p",
  7199.                                     encoding: "H.264",
  7200.                                     profile: "main",
  7201.                                     bitrate: "0.1",
  7202.                                     audioEncoding: null,
  7203.                                     audioBitrate: null
  7204.                                 },
  7205.                                 242: {
  7206.                                     container: "webm",
  7207.                                     resolution: "240p",
  7208.                                     encoding: "VP9",
  7209.                                     profile: null,
  7210.                                     bitrate: "0.14",
  7211.                                     audioEncoding: null,
  7212.                                     audioBitrate: null
  7213.                                 },
  7214.                                 243: {
  7215.                                     container: "webm",
  7216.                                     resolution: "360p",
  7217.                                     encoding: "VP9",
  7218.                                     profile: null,
  7219.                                     bitrate: "0.26",
  7220.                                     audioEncoding: null,
  7221.                                     audioBitrate: null
  7222.                                 },
  7223.                                 244: {
  7224.                                     container: "webm",
  7225.                                     resolution: "480p",
  7226.                                     encoding: "VP9",
  7227.                                     profile: null,
  7228.                                     bitrate: "0.585",
  7229.                                     audioEncoding: null,
  7230.                                     audioBitrate: null
  7231.                                 },
  7232.                                 247: {
  7233.                                     container: "webm",
  7234.                                     resolution: "720p",
  7235.                                     encoding: "VP9",
  7236.                                     profile: null,
  7237.                                     bitrate: "1.184",
  7238.                                     audioEncoding: null,
  7239.                                     audioBitrate: null
  7240.                                 },
  7241.                                 248: {
  7242.                                     container: "webm",
  7243.                                     resolution: "1080p",
  7244.                                     encoding: "VP9",
  7245.                                     profile: null,
  7246.                                     bitrate: "1.895",
  7247.                                     audioEncoding: null,
  7248.                                     audioBitrate: null
  7249.                                 },
  7250.                                 264: {
  7251.                                     container: "mp4",
  7252.                                     resolution: "1440p",
  7253.                                     encoding: "H.264",
  7254.                                     profile: "high",
  7255.                                     bitrate: "4-5",
  7256.                                     audioEncoding: null,
  7257.                                     audioBitrate: null
  7258.                                 },
  7259.                                 266: {
  7260.                                     container: "mp4",
  7261.                                     resolution: "2160p",
  7262.                                     encoding: "H.264",
  7263.                                     profile: "high",
  7264.                                     bitrate: "12.5-13.5",
  7265.                                     audioEncoding: null,
  7266.                                     audioBitrate: null
  7267.                                 },
  7268.                                 271: {
  7269.                                     container: "webm",
  7270.                                     resolution: "1440p",
  7271.                                     encoding: "VP9",
  7272.                                     profile: null,
  7273.                                     bitrate: "9",
  7274.                                     audioEncoding: null,
  7275.                                     audioBitrate: null
  7276.                                 },
  7277.                                 272: {
  7278.                                     container: "webm",
  7279.                                     resolution: "2160p",
  7280.                                     encoding: "VP9",
  7281.                                     profile: null,
  7282.                                     bitrate: "20",
  7283.                                     audioEncoding: null,
  7284.                                     audioBitrate: null
  7285.                                 },
  7286.                                 278: {
  7287.                                     container: "webm",
  7288.                                     resolution: "144p",
  7289.                                     encoding: "VP9",
  7290.                                     profile: null,
  7291.                                     bitrate: "0.08",
  7292.                                     audioEncoding: null,
  7293.                                     audioBitrate: null
  7294.                                 },
  7295.                                 298: {
  7296.                                     container: "mp4",
  7297.                                     resolution: "720p",
  7298.                                     encoding: "H.264",
  7299.                                     profile: "main",
  7300.                                     bitrate: "3-3.5",
  7301.                                     audioEncoding: null,
  7302.                                     audioBitrate: null
  7303.                                 },
  7304.                                 299: {
  7305.                                     container: "mp4",
  7306.                                     resolution: "1080p",
  7307.                                     encoding: "H.264",
  7308.                                     profile: "high",
  7309.                                     bitrate: "5.5",
  7310.                                     audioEncoding: null,
  7311.                                     audioBitrate: null
  7312.                                 },
  7313.                                 302: {
  7314.                                     container: "webm",
  7315.                                     resolution: "720p",
  7316.                                     encoding: "VP9",
  7317.                                     profile: null,
  7318.                                     bitrate: "2.5",
  7319.                                     audioEncoding: null,
  7320.                                     audioBitrate: null
  7321.                                 },
  7322.                                 303: {
  7323.                                     container: "webm",
  7324.                                     resolution: "1080p",
  7325.                                     encoding: "VP9",
  7326.                                     profile: null,
  7327.                                     bitrate: "5",
  7328.                                     audioEncoding: null,
  7329.                                     audioBitrate: null
  7330.                                 },
  7331.                                 139: {
  7332.                                     container: "mp4",
  7333.                                     resolution: null,
  7334.                                     encoding: null,
  7335.                                     profile: null,
  7336.                                     bitrate: null,
  7337.                                     audioEncoding: "aac",
  7338.                                     audioBitrate: 48
  7339.                                 },
  7340.                                 140: {
  7341.                                     container: "mp4",
  7342.                                     resolution: null,
  7343.                                     encoding: null,
  7344.                                     profile: null,
  7345.                                     bitrate: null,
  7346.                                     audioEncoding: "aac",
  7347.                                     audioBitrate: 128
  7348.                                 },
  7349.                                 141: {
  7350.                                     container: "mp4",
  7351.                                     resolution: null,
  7352.                                     encoding: null,
  7353.                                     profile: null,
  7354.                                     bitrate: null,
  7355.                                     audioEncoding: "aac",
  7356.                                     audioBitrate: 256
  7357.                                 },
  7358.                                 171: {
  7359.                                     container: "webm",
  7360.                                     resolution: null,
  7361.                                     encoding: null,
  7362.                                     profile: null,
  7363.                                     bitrate: null,
  7364.                                     audioEncoding: "vorbis",
  7365.                                     audioBitrate: 128
  7366.                                 },
  7367.                                 172: {
  7368.                                     container: "webm",
  7369.                                     resolution: null,
  7370.                                     encoding: null,
  7371.                                     profile: null,
  7372.                                     bitrate: null,
  7373.                                     audioEncoding: "vorbis",
  7374.                                     audioBitrate: 192
  7375.                                 },
  7376.                                 249: {
  7377.                                     container: "webm",
  7378.                                     resolution: null,
  7379.                                     encoding: null,
  7380.                                     profile: null,
  7381.                                     bitrate: null,
  7382.                                     audioEncoding: "opus",
  7383.                                     audioBitrate: 50
  7384.                                 },
  7385.                                 250: {
  7386.                                     container: "webm",
  7387.                                     resolution: null,
  7388.                                     encoding: null,
  7389.                                     profile: null,
  7390.                                     bitrate: null,
  7391.                                     audioEncoding: "opus",
  7392.                                     audioBitrate: 70
  7393.                                 },
  7394.                                 251: {
  7395.                                     container: "webm",
  7396.                                     resolution: null,
  7397.                                     encoding: null,
  7398.                                     profile: null,
  7399.                                     bitrate: null,
  7400.                                     audioEncoding: "opus",
  7401.                                     audioBitrate: 160
  7402.                                 },
  7403.                                 92: {
  7404.                                     container: "ts",
  7405.                                     resolution: "240p",
  7406.                                     encoding: "H.264",
  7407.                                     profile: "main",
  7408.                                     bitrate: "0.15-0.3",
  7409.                                     audioEncoding: "aac",
  7410.                                     audioBitrate: 48
  7411.                                 },
  7412.                                 93: {
  7413.                                     container: "ts",
  7414.                                     resolution: "480p",
  7415.                                     encoding: "H.264",
  7416.                                     profile: "main",
  7417.                                     bitrate: "0.5-1",
  7418.                                     audioEncoding: "aac",
  7419.                                     audioBitrate: 128
  7420.                                 },
  7421.                                 94: {
  7422.                                     container: "ts",
  7423.                                     resolution: "720p",
  7424.                                     encoding: "H.264",
  7425.                                     profile: "main",
  7426.                                     bitrate: "0.8-1.25",
  7427.                                     audioEncoding: "aac",
  7428.                                     audioBitrate: 128
  7429.                                 },
  7430.                                 95: {
  7431.                                     container: "ts",
  7432.                                     resolution: "1080p",
  7433.                                     encoding: "H.264",
  7434.                                     profile: "main",
  7435.                                     bitrate: "1.5-3",
  7436.                                     audioEncoding: "aac",
  7437.                                     audioBitrate: 256
  7438.                                 },
  7439.                                 96: {
  7440.                                     container: "ts",
  7441.                                     resolution: "720p",
  7442.                                     encoding: "H.264",
  7443.                                     profile: "main",
  7444.                                     bitrate: "2.5-6",
  7445.                                     audioEncoding: "aac",
  7446.                                     audioBitrate: 256
  7447.                                 },
  7448.                                 120: {
  7449.                                     container: "flv",
  7450.                                     resolution: "720p",
  7451.                                     encoding: "H.264",
  7452.                                     profile: "Main@L3.1",
  7453.                                     bitrate: "2",
  7454.                                     audioEncoding: "aac",
  7455.                                     audioBitrate: 128
  7456.                                 },
  7457.                                 127: {
  7458.                                     container: "ts",
  7459.                                     resolution: null,
  7460.                                     encoding: null,
  7461.                                     profile: null,
  7462.                                     bitrate: null,
  7463.                                     audioEncoding: "aac",
  7464.                                     audioBitrate: 96
  7465.                                 },
  7466.                                 128: {
  7467.                                     container: "ts",
  7468.                                     resolution: null,
  7469.                                     encoding: null,
  7470.                                     profile: null,
  7471.                                     bitrate: null,
  7472.                                     audioEncoding: "aac",
  7473.                                     audioBitrate: 96
  7474.                                 },
  7475.                                 132: {
  7476.                                     container: "ts",
  7477.                                     resolution: "240p",
  7478.                                     encoding: "H.264",
  7479.                                     profile: "baseline",
  7480.                                     bitrate: "0.15-0.2",
  7481.                                     audioEncoding: "aac",
  7482.                                     audioBitrate: 48
  7483.                                 },
  7484.                                 151: {
  7485.                                     container: "ts",
  7486.                                     resolution: "720p",
  7487.                                     encoding: "H.264",
  7488.                                     profile: "baseline",
  7489.                                     bitrate: "0.05",
  7490.                                     audioEncoding: "aac",
  7491.                                     audioBitrate: 24
  7492.                                 }
  7493.                             }
  7494.                         }, function (e, t) {
  7495.                             e.exports = function (e) {
  7496.                                 return e.webpackPolyfill || (e.deprecate = function () {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", {
  7497.                                         enumerable: !0,
  7498.                                         get: function () {
  7499.                                             return e.l
  7500.                                         }
  7501.                                     }), Object.defineProperty(e, "id", {
  7502.                                         enumerable: !0,
  7503.                                         get: function () {
  7504.                                             return e.i
  7505.                                         }
  7506.                                     }), e.webpackPolyfill = 1),
  7507.                                 e
  7508.                             }
  7509.                         }, function (e, t) {
  7510.                             var n = {}
  7511.                             .toString;
  7512.                             e.exports = Array.isArray || function (e) {
  7513.                                 return "[object Array]" == n.call(e)
  7514.                             }
  7515.                         }, function (e, t, n) {
  7516.                             "use strict";
  7517.                             function i(e) {
  7518.                                 return this instanceof i ? void r.call(this, e) : new i(e)
  7519.                             }
  7520.                             e.exports = i;
  7521.                             var r = n(14),
  7522.                             o = n(5);
  7523.                             o.inherits = n(3),
  7524.                             o.inherits(i, r),
  7525.                             i.prototype._transform = function (e, t, n) {
  7526.                                 n(null, e)
  7527.                             }
  7528.                         }, function (e, t, n) {
  7529.                             "use strict";
  7530.                             (function (t) {
  7531.                                 function i(e, t, n) {
  7532.                                     return "function" == typeof e.prependListener ? e.prependListener(t, n) : void(e._events && e._events[t] ? O(e._events[t]) ? e._events[t].unshift(n) : e._events[t] = [n, e._events[t]] : e.on(t, n))
  7533.                                 }
  7534.                                 function r(e, t) {
  7535.                                     _ = _ || n(1),
  7536.                                     e = e || {},
  7537.                                     this.objectMode = !!e.objectMode,
  7538.                                     t instanceof _ && (this.objectMode = this.objectMode || !!e.readableObjectMode);
  7539.                                     var i = e.highWaterMark,
  7540.                                     r = this.objectMode ? 16 : 16384;
  7541.                                     this.highWaterMark = i || 0 === i ? i : r,
  7542.                                     this.highWaterMark = ~~this.highWaterMark,
  7543.                                     this.buffer = new V,
  7544.                                     this.length = 0,
  7545.                                     this.pipes = null,
  7546.                                     this.pipesCount = 0,
  7547.                                     this.flowing = null,
  7548.                                     this.ended = !1,
  7549.                                     this.endEmitted = !1,
  7550.                                     this.reading = !1,
  7551.                                     this.sync = !0,
  7552.                                     this.needReadable = !1,
  7553.                                     this.emittedReadable = !1,
  7554.                                     this.readableListening = !1,
  7555.                                     this.resumeScheduled = !1,
  7556.                                     this.defaultEncoding = e.defaultEncoding || "utf8",
  7557.                                     this.ranOut = !1,
  7558.                                     this.awaitDrain = 0,
  7559.                                     this.readingMore = !1,
  7560.                                     this.decoder = null,
  7561.                                     this.encoding = null,
  7562.                                     e.encoding && (q || (q = n(16).StringDecoder), this.decoder = new q(e.encoding), this.encoding = e.encoding)
  7563.                                 }
  7564.                                 function o(e) {
  7565.                                     return _ = _ || n(1),
  7566.                                     this instanceof o ? (this._readableState = new r(e, this), this.readable = !0, e && "function" == typeof e.read && (this._read = e.read), void L.call(this)) : new o(e)
  7567.                                 }
  7568.                                 function a(e, t, n, i, r) {
  7569.                                     var o = u(t, n);
  7570.                                     if (o)
  7571.                                         e.emit("error", o);
  7572.                                     else if (null === n)
  7573.                                         t.reading = !1, d(e, t);
  7574.                                     else if (t.objectMode || n && n.length > 0)
  7575.                                         if (t.ended && !r) {
  7576.                                             var a = new Error("stream.push() after EOF");
  7577.                                             e.emit("error", a)
  7578.                                         } else if (t.endEmitted && r) {
  7579.                                             var l = new Error("stream.unshift() after end event");
  7580.                                             e.emit("error", l)
  7581.                                         } else {
  7582.                                             var c;
  7583.                                             !t.decoder || r || i || (n = t.decoder.write(n), c = !t.objectMode && 0 === n.length),
  7584.                                             r || (t.reading = !1),
  7585.                                             c || (t.flowing && 0 === t.length && !t.sync ? (e.emit("data", n), e.read(0)) : (t.length += t.objectMode ? 1 : n.length, r ? t.buffer.unshift(n) : t.buffer.push(n), t.needReadable && h(e))),
  7586.                                             f(e, t)
  7587.                                         }
  7588.                                     else
  7589.                                         r || (t.reading = !1);
  7590.                                     return s(t)
  7591.                                 }
  7592.                                 function s(e) {
  7593.                                     return !e.ended && (e.needReadable || e.length < e.highWaterMark || 0 === e.length)
  7594.                                 }
  7595.                                 function l(e) {
  7596.                                     return e >= U ? e = U : (e--, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e++),
  7597.                                     e
  7598.                                 }
  7599.                                 function c(e, t) {
  7600.                                     return 0 >= e || 0 === t.length && t.ended ? 0 : t.objectMode ? 1 : e !== e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = l(e)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0))
  7601.                                 }
  7602.                                 function u(e, t) {
  7603.                                     var n = null;
  7604.                                     return D.isBuffer(t) || "string" == typeof t || null === t || void 0 === t || e.objectMode || (n = new TypeError("Invalid non-string/buffer chunk")),
  7605.                                     n
  7606.                                 }
  7607.                                 function d(e, t) {
  7608.                                     if (!t.ended) {
  7609.                                         if (t.decoder) {
  7610.                                             var n = t.decoder.end();
  7611.                                             n && n.length && (t.buffer.push(n), t.length += t.objectMode ? 1 : n.length)
  7612.                                         }
  7613.                                         t.ended = !0,
  7614.                                         h(e)
  7615.                                     }
  7616.                                 }
  7617.                                 function h(e) {
  7618.                                     var t = e._readableState;
  7619.                                     t.needReadable = !1,
  7620.                                     t.emittedReadable || (M("emitReadable", t.flowing), t.emittedReadable = !0, t.sync ? k(p, e) : p(e))
  7621.                                 }
  7622.                                 function p(e) {
  7623.                                     M("emit readable"),
  7624.                                     e.emit("readable"),
  7625.                                     w(e)
  7626.                                 }
  7627.                                 function f(e, t) {
  7628.                                     t.readingMore || (t.readingMore = !0, k(m, e, t))
  7629.                                 }
  7630.                                 function m(e, t) {
  7631.                                     for (var n = t.length; !t.reading && !t.flowing && !t.ended && t.length < t.highWaterMark && (M("maybeReadMore read 0"), e.read(0), n !== t.length); )
  7632.                                         n = t.length;
  7633.                                     t.readingMore = !1
  7634.                                 }
  7635.                                 function g(e) {
  7636.                                     return function () {
  7637.                                         var t = e._readableState;
  7638.                                         M("pipeOnDrain", t.awaitDrain),
  7639.                                         t.awaitDrain && t.awaitDrain--,
  7640.                                         0 === t.awaitDrain && $(e, "data") && (t.flowing = !0, w(e))
  7641.                                     }
  7642.                                 }
  7643.                                 function v(e) {
  7644.                                     M("readable nexttick read 0"),
  7645.                                     e.read(0)
  7646.                                 }
  7647.                                 function y(e, t) {
  7648.                                     t.resumeScheduled || (t.resumeScheduled = !0, k(b, e, t))
  7649.                                 }
  7650.                                 function b(e, t) {
  7651.                                     t.reading || (M("resume read 0"), e.read(0)),
  7652.                                     t.resumeScheduled = !1,
  7653.                                     t.awaitDrain = 0,
  7654.                                     e.emit("resume"),
  7655.                                     w(e),
  7656.                                     t.flowing && !t.reading && e.read(0)
  7657.                                 }
  7658.                                 function w(e) {
  7659.                                     var t = e._readableState;
  7660.                                     for (M("flow", t.flowing); t.flowing && null !== e.read(); );
  7661.                                 }
  7662.                                 function T(e, t) {
  7663.                                     if (0 === t.length)
  7664.                                         return null;
  7665.                                     var n;
  7666.                                     return t.objectMode ? n = t.buffer.shift() : !e || e >= t.length ? (n = t.decoder ? t.buffer.join("") : 1 === t.buffer.length ? t.buffer.head.data : t.buffer.concat(t.length), t.buffer.clear()) : n = E(e, t.buffer, t.decoder),
  7667.                                     n
  7668.                                 }
  7669.                                 function E(e, t, n) {
  7670.                                     var i;
  7671.                                     return e < t.head.data.length ? (i = t.head.data.slice(0, e), t.head.data = t.head.data.slice(e)) : i = e === t.head.data.length ? t.shift() : n ? x(e, t) : I(e, t),
  7672.                                     i
  7673.                                 }
  7674.                                 function x(e, t) {
  7675.                                     var n = t.head,
  7676.                                     i = 1,
  7677.                                     r = n.data;
  7678.                                     for (e -= r.length; n = n.next; ) {
  7679.                                         var o = n.data,
  7680.                                         a = e > o.length ? o.length : e;
  7681.                                         if (r += a === o.length ? o : o.slice(0, e), e -= a, 0 === e) {
  7682.                                             a === o.length ? (++i, n.next ? t.head = n.next : t.head = t.tail = null) : (t.head = n, n.data = o.slice(a));
  7683.                                             break
  7684.                                         }
  7685.                                         ++i
  7686.                                     }
  7687.                                     return t.length -= i,
  7688.                                     r
  7689.                                 }
  7690.                                 function I(e, t) {
  7691.                                     var n = B.allocUnsafe(e),
  7692.                                     i = t.head,
  7693.                                     r = 1;
  7694.                                     for (i.data.copy(n), e -= i.data.length; i = i.next; ) {
  7695.                                         var o = i.data,
  7696.                                         a = e > o.length ? o.length : e;
  7697.                                         if (o.copy(n, n.length - e, 0, a), e -= a, 0 === e) {
  7698.                                             a === o.length ? (++r, i.next ? t.head = i.next : t.head = t.tail = null) : (t.head = i, i.data = o.slice(a));
  7699.                                             break
  7700.                                         }
  7701.                                         ++r
  7702.                                     }
  7703.                                     return t.length -= r,
  7704.                                     n
  7705.                                 }
  7706.                                 function S(e) {
  7707.                                     var t = e._readableState;
  7708.                                     if (t.length > 0)
  7709.                                         throw new Error('"endReadable()" called on non-empty stream');
  7710.                                     t.endEmitted || (t.ended = !0, k(N, t, e))
  7711.                                 }
  7712.                                 function N(e, t) {
  7713.                                     e.endEmitted || 0 !== e.length || (e.endEmitted = !0, t.readable = !1, t.emit("end"))
  7714.                                 }
  7715.                                 function C(e, t) {
  7716.                                     for (var n = 0, i = e.length; i > n; n++)
  7717.                                         t(e[n], n)
  7718.                                 }
  7719.                                 function A(e, t) {
  7720.                                     for (var n = 0, i = e.length; i > n; n++)
  7721.                                         if (e[n] === t)
  7722.                                             return n;
  7723.                                     return -1
  7724.                                 }
  7725.                                 e.exports = o;
  7726.                                 var _,
  7727.                                 k = n(12),
  7728.                                 O = n(21);
  7729.                                 o.ReadableState = r;
  7730.                                 var L,
  7731.                                 $ = (n(7).EventEmitter, function (e, t) {
  7732.                                     return e.listeners(t).length
  7733.                                 });
  7734.                                 !function () {
  7735.                                     try {
  7736.                                         L = n(6)
  7737.                                     } catch (e) {}
  7738.                                     finally {
  7739.                                         L || (L = n(7).EventEmitter)
  7740.                                     }
  7741.                                 }
  7742.                                 ();
  7743.                                 var D = n(0).Buffer,
  7744.                                 B = n(11),
  7745.                                 P = n(5);
  7746.                                 P.inherits = n(3);
  7747.                                 var R = n(53),
  7748.                                 M = void 0;
  7749.                                 M = R && R.debuglog ? R.debuglog("stream") : function () {};
  7750.                                 var q,
  7751.                                 V = n(45);
  7752.                                 P.inherits(o, L),
  7753.                                 o.prototype.push = function (e, t) {
  7754.                                     var n = this._readableState;
  7755.                                     return n.objectMode || "string" != typeof e || (t = t || n.defaultEncoding, t !== n.encoding && (e = B.from(e, t), t = "")),
  7756.                                     a(this, n, e, t, !1)
  7757.                                 },
  7758.                                 o.prototype.unshift = function (e) {
  7759.                                     var t = this._readableState;
  7760.                                     return a(this, t, e, "", !0)
  7761.                                 },
  7762.                                 o.prototype.isPaused = function () {
  7763.                                     return this._readableState.flowing === !1
  7764.                                 },
  7765.                                 o.prototype.setEncoding = function (e) {
  7766.                                     return q || (q = n(16).StringDecoder),
  7767.                                     this._readableState.decoder = new q(e),
  7768.                                     this._readableState.encoding = e,
  7769.                                     this
  7770.                                 };
  7771.                                 var U = 8388608;
  7772.                                 o.prototype.read = function (e) {
  7773.                                     M("read", e),
  7774.                                     e = parseInt(e, 10);
  7775.                                     var t = this._readableState,
  7776.                                     n = e;
  7777.                                     if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && (t.length >= t.highWaterMark || t.ended))
  7778.                                         return M("read: emitReadable", t.length, t.ended), 0 === t.length && t.ended ? S(this) : h(this), null;
  7779.                                     if (e = c(e, t), 0 === e && t.ended)
  7780.                                         return 0 === t.length && S(this), null;
  7781.                                     var i = t.needReadable;
  7782.                                     M("need readable", i),
  7783.                                     (0 === t.length || t.length - e < t.highWaterMark) && (i = !0, M("length less than watermark", i)),
  7784.                                     t.ended || t.reading ? (i = !1, M("reading or ended", i)) : i && (M("do read"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = c(n, t)));
  7785.                                     var r;
  7786.                                     return r = e > 0 ? T(e, t) : null,
  7787.                                     null === r ? (t.needReadable = !0, e = 0) : t.length -= e,
  7788.                                     0 === t.length && (t.ended || (t.needReadable = !0), n !== e && t.ended && S(this)),
  7789.                                     null !== r && this.emit("data", r),
  7790.                                     r
  7791.                                 },
  7792.                                 o.prototype._read = function (e) {
  7793.                                     this.emit("error", new Error("_read() is not implemented"))
  7794.                                 },
  7795.                                 o.prototype.pipe = function (e, n) {
  7796.                                     function r(e) {
  7797.                                         M("onunpipe"),
  7798.                                         e === h && a()
  7799.                                     }
  7800.                                     function o() {
  7801.                                         M("onend"),
  7802.                                         e.end()
  7803.                                     }
  7804.                                     function a() {
  7805.                                         M("cleanup"),
  7806.                                         e.removeListener("close", c),
  7807.                                         e.removeListener("finish", u),
  7808.                                         e.removeListener("drain", v),
  7809.                                         e.removeListener("error", l),
  7810.                                         e.removeListener("unpipe", r),
  7811.                                         h.removeListener("end", o),
  7812.                                         h.removeListener("end", a),
  7813.                                         h.removeListener("data", s),
  7814.                                         y = !0,
  7815.                                         !p.awaitDrain || e._writableState && !e._writableState.needDrain || v()
  7816.                                     }
  7817.                                     function s(t) {
  7818.                                         M("ondata"),
  7819.                                         b = !1;
  7820.                                         var n = e.write(t);
  7821.                                         !1 !== n || b || ((1 === p.pipesCount && p.pipes === e || p.pipesCount > 1 && -1 !== A(p.pipes, e)) && !y && (M("false write response, pause", h._readableState.awaitDrain), h._readableState.awaitDrain++, b = !0), h.pause())
  7822.                                     }
  7823.                                     function l(t) {
  7824.                                         M("onerror", t),
  7825.                                         d(),
  7826.                                         e.removeListener("error", l),
  7827.                                         0 === $(e, "error") && e.emit("error", t)
  7828.                                     }
  7829.                                     function c() {
  7830.                                         e.removeListener("finish", u),
  7831.                                         d()
  7832.                                     }
  7833.                                     function u() {
  7834.                                         M("onfinish"),
  7835.                                         e.removeListener("close", c),
  7836.                                         d()
  7837.                                     }
  7838.                                     function d() {
  7839.                                         M("unpipe"),
  7840.                                         h.unpipe(e)
  7841.                                     }
  7842.                                     var h = this,
  7843.                                     p = this._readableState;
  7844.                                     switch (p.pipesCount) {
  7845.                                     case 0:
  7846.                                         p.pipes = e;
  7847.                                         break;
  7848.                                     case 1:
  7849.                                         p.pipes = [p.pipes, e];
  7850.                                         break;
  7851.                                     default:
  7852.                                         p.pipes.push(e)
  7853.                                     }
  7854.                                     p.pipesCount += 1,
  7855.                                     M("pipe count=%d opts=%j", p.pipesCount, n);
  7856.                                     var f = (!n || n.end !== !1) && e !== t.stdout && e !== t.stderr,
  7857.                                     m = f ? o : a;
  7858.                                     p.endEmitted ? k(m) : h.once("end", m),
  7859.                                     e.on("unpipe", r);
  7860.                                     var v = g(h);
  7861.                                     e.on("drain", v);
  7862.                                     var y = !1,
  7863.                                     b = !1;
  7864.                                     return h.on("data", s),
  7865.                                     i(e, "error", l),
  7866.                                     e.once("close", c),
  7867.                                     e.once("finish", u),
  7868.                                     e.emit("pipe", h),
  7869.                                     p.flowing || (M("pipe resume"), h.resume()),
  7870.                                     e
  7871.                                 },
  7872.                                 o.prototype.unpipe = function (e) {
  7873.                                     var t = this._readableState;
  7874.                                     if (0 === t.pipesCount)
  7875.                                         return this;
  7876.                                     if (1 === t.pipesCount)
  7877.                                         return e && e !== t.pipes ? this : (e || (e = t.pipes), t.pipes = null, t.pipesCount = 0, t.flowing = !1, e && e.emit("unpipe", this), this);
  7878.                                     if (!e) {
  7879.                                         var n = t.pipes,
  7880.                                         i = t.pipesCount;
  7881.                                         t.pipes = null,
  7882.                                         t.pipesCount = 0,
  7883.                                         t.flowing = !1;
  7884.                                         for (var r = 0; i > r; r++)
  7885.                                             n[r].emit("unpipe", this);
  7886.                                         return this
  7887.                                     }
  7888.                                     var o = A(t.pipes, e);
  7889.                                     return -1 === o ? this : (t.pipes.splice(o, 1), t.pipesCount -= 1, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit("unpipe", this), this)
  7890.                                 },
  7891.                                 o.prototype.on = function (e, t) {
  7892.                                     var n = L.prototype.on.call(this, e, t);
  7893.                                     if ("data" === e)
  7894.                                         this._readableState.flowing !== !1 && this.resume();
  7895.                                     else if ("readable" === e) {
  7896.                                         var i = this._readableState;
  7897.                                         i.endEmitted || i.readableListening || (i.readableListening = i.needReadable = !0, i.emittedReadable = !1, i.reading ? i.length && h(this, i) : k(v, this))
  7898.                                     }
  7899.                                     return n
  7900.                                 },
  7901.                                 o.prototype.addListener = o.prototype.on,
  7902.                                 o.prototype.resume = function () {
  7903.                                     var e = this._readableState;
  7904.                                     return e.flowing || (M("resume"), e.flowing = !0, y(this, e)),
  7905.                                     this
  7906.                                 },
  7907.                                 o.prototype.pause = function () {
  7908.                                     return M("call pause flowing=%j", this._readableState.flowing),
  7909.                                     !1 !== this._readableState.flowing && (M("pause"), this._readableState.flowing = !1, this.emit("pause")),
  7910.                                     this
  7911.                                 },
  7912.                                 o.prototype.wrap = function (e) {
  7913.                                     var t = this._readableState,
  7914.                                     n = !1,
  7915.                                     i = this;
  7916.                                     e.on("end", function () {
  7917.                                         if (M("wrapped end"), t.decoder && !t.ended) {
  7918.                                             var e = t.decoder.end();
  7919.                                             e && e.length && i.push(e)
  7920.                                         }
  7921.                                         i.push(null)
  7922.                                     }),
  7923.                                     e.on("data", function (r) {
  7924.                                         if (M("wrapped data"), t.decoder && (r = t.decoder.write(r)), (!t.objectMode || null !== r && void 0 !== r) && (t.objectMode || r && r.length)) {
  7925.                                             var o = i.push(r);
  7926.                                             o || (n = !0, e.pause())
  7927.                                         }
  7928.                                     });
  7929.                                     for (var r in e)
  7930.                                         void 0 === this[r] && "function" == typeof e[r] && (this[r] = function (t) {
  7931.                                             return function () {
  7932.                                                 return e[t].apply(e, arguments)
  7933.                                             }
  7934.                                         }
  7935.                                             (r));
  7936.                                     var o = ["error", "close", "destroy", "pause", "resume"];
  7937.                                     return C(o, function (t) {
  7938.                                         e.on(t, i.emit.bind(i, t))
  7939.                                     }),
  7940.                                     i._read = function (t) {
  7941.                                         M("wrapped _read", t),
  7942.                                         n && (n = !1, e.resume())
  7943.                                     },
  7944.                                     i
  7945.                                 },
  7946.                                 o._fromList = T
  7947.                             }).call(t, n(4))
  7948.                         }, function (e, i, r) {
  7949.                             function o(e, t) {
  7950.                                 this._id = e,
  7951.                                 this._clearFn = t
  7952.                             }
  7953.                             var a = Function.prototype.apply;
  7954.                             i.setTimeout = function () {
  7955.                                 return new o(a.call(setTimeout, window, arguments), clearTimeout)
  7956.                             },
  7957.                             i.setInterval = function () {
  7958.                                 return new o(a.call(setInterval, window, arguments), clearInterval)
  7959.                             },
  7960.                             i.clearTimeout = i.clearInterval = function (e) {
  7961.                                 e && e.close()
  7962.                             },
  7963.                             o.prototype.unref = o.prototype.ref = function () {},
  7964.                             o.prototype.close = function () {
  7965.                                 this._clearFn.call(window, this._id)
  7966.                             },
  7967.                             i.enroll = function (e, t) {
  7968.                                 clearTimeout(e._idleTimeoutId),
  7969.                                 e._idleTimeout = t
  7970.                             },
  7971.                             i.unenroll = function (e) {
  7972.                                 clearTimeout(e._idleTimeoutId),
  7973.                                 e._idleTimeout = -1
  7974.                             },
  7975.                             i._unrefActive = i.active = function (e) {
  7976.                                 clearTimeout(e._idleTimeoutId);
  7977.                                 var t = e._idleTimeout;
  7978.                                 t >= 0 && (e._idleTimeoutId = setTimeout(function () {
  7979.                                             e._onTimeout && e._onTimeout()
  7980.                                         }, t))
  7981.                             },
  7982.                             r(50),
  7983.                             i.setImmediate = t,
  7984.                             i.clearImmediate = n
  7985.                         }, function (e, t, n) {
  7986.                             var i = n(28);
  7987.                             e.exports = Function.prototype.bind || i
  7988.                         }, function (e, t, n) {
  7989.                             (function (t) {
  7990.                                 function i() {
  7991.                                     var e = new a;
  7992.                                     return e.destroy = function () {
  7993.                                         e._isDestroyed = !0
  7994.                                     },
  7995.                                     e
  7996.                                 }
  7997.                                 function r(e, n, i) {
  7998.                                     i = i || {};
  7999.                                     var r = c.chooseFormat(n.formats, i);
  8000.                                     if (r instanceof Error)
  8001.                                         return void t(function () {
  8002.                                             e.emit("error", r)
  8003.                                         });
  8004.                                     e.emit("info", n, r);
  8005.                                     var a = r.url;
  8006.                                     i.range && (a += "&range=" + i.range),
  8007.                                     o(e, a, i, 3)
  8008.                                 }
  8009.                                 function o(e, t, n, i) {
  8010.                                     if (!e._isDestroyed) {
  8011.                                         if (0 === i)
  8012.                                             return void e.emit("error", new Error("Too many redirects"));
  8013.                                         var r,
  8014.                                         a = n.request || s,
  8015.                                         l = a(t, n.requestOptions);
  8016.                                         e.destroy = function () {
  8017.                                             l.abort(),
  8018.                                             r && (r.destroy(), r.unpipe()),
  8019.                                             e.emit("abort")
  8020.                                         },
  8021.                                         l.on("error", function (t) {
  8022.                                             e.emit("error", t)
  8023.                                         }),
  8024.                                         l.on("response", function (t) {
  8025.                                             if (r = t, !e._isDestroyed) {
  8026.                                                 if (200 !== t.statusCode && 206 !== t.statusCode)
  8027.                                                     return h.has(t.statusCode) ? void o(e, t.headers.location, n, i - 1) : (e.emit("response", t), void e.emit("error", new Error("Status code " + t.statusCode)));
  8028.                                                 t.pipe(e),
  8029.                                                 e.emit("response", t)
  8030.                                             }
  8031.                                         }),
  8032.                                         e.emit("request", l)
  8033.                                     }
  8034.                                 }
  8035.                                 var a = n(6).PassThrough,
  8036.                                 s = n(10),
  8037.                                 l = n(33),
  8038.                                 c = n(9),
  8039.                                 u = n(18),
  8040.                                 d = e.exports = function (e, t) {
  8041.                                     var n = i();
  8042.                                     return l(e, t, function (e, i) {
  8043.                                         return e ? void n.emit("error", e) : void r(n, i, t)
  8044.                                     }),
  8045.                                     n
  8046.                                 };
  8047.                                 d.getInfo = l,
  8048.                                 d.chooseFormat = c.chooseFormat,
  8049.                                 d.filterFormats = c.filterFormats,
  8050.                                 d.cache = u;
  8051.                                 var h = new Set([301, 302, 303, 307]);
  8052.                                 d.downloadFromInfo = function (e, n) {
  8053.                                     var o = i();
  8054.                                     return t(function () {
  8055.                                         r(o, e, n)
  8056.                                     }),
  8057.                                     o
  8058.                                 }
  8059.                             }).call(t, n(24).setImmediate)
  8060.                         }, function (e, t, n) {
  8061.                             (function (e) {
  8062.                                 var n,
  8063.                                 i;
  8064.                                 !function (r) {
  8065.                                     function o(e, t) {
  8066.                                         if (e == t)
  8067.                                             return !0;
  8068.                                         if (!e || !t)
  8069.                                             return !1;
  8070.                                         if (!(e instanceof Set && t instanceof Set))
  8071.                                             throw new Error("Set comparision attempted with a non-set");
  8072.                                         if (e.size !== t.size)
  8073.                                             return !1;
  8074.                                         for (var n in e)
  8075.                                             if (!t.has(n))
  8076.                                                 return !1;
  8077.                                         return !0
  8078.                                     }
  8079.                                     "undefined" != typeof e && e && e.exports ? e.exports = o : (n = [], i = function () {
  8080.                                             return o
  8081.                                         }
  8082.                                             .apply(t, n), !(void 0 !== i && (e.exports = i)))
  8083.                                 }
  8084.                                 (this)
  8085.                             }).call(t, n(20)(e))
  8086.                         }, function (e, t) {
  8087.                             var n = "Function.prototype.bind called on incompatible ",
  8088.                             i = Array.prototype.slice,
  8089.                             r = Object.prototype.toString,
  8090.                             o = "[object Function]";
  8091.                             e.exports = function (e) {
  8092.                                 var t = this;
  8093.                                 if ("function" != typeof t || r.call(t) !== o)
  8094.                                     throw new TypeError(n + t);
  8095.                                 for (var a, s = i.call(arguments, 1), l = function () {
  8096.                                     if (this instanceof a) {
  8097.                                         var n = t.apply(this, s.concat(i.call(arguments)));
  8098.                                         return Object(n) === n ? n : this
  8099.                                     }
  8100.                                     return t.apply(e, s.concat(i.call(arguments)))
  8101.                                 }, c = Math.max(0, t.length - s.length), u = [], d = 0; c > d; d++)
  8102.                                     u.push("$" + d);
  8103.                                 if (a = Function("binder", "return function (" + u.join(",") + "){ return binder.apply(this,arguments); }")(l), t.prototype) {
  8104.                                     var h = function () {};
  8105.                                     h.prototype = t.prototype,
  8106.                                     a.prototype = new h,
  8107.                                     h.prototype = null
  8108.                                 }
  8109.                                 return a
  8110.                             }
  8111.                         }, function (e, t, n) {
  8112.                             e.exports = {
  8113.                                 XmlEntities: n(31),
  8114.                                 Html4Entities: n(30),
  8115.                                 Html5Entities: n(17),
  8116.                                 AllHtmlEntities: n(17)
  8117.                             }
  8118.                         }, function (e, t) {
  8119.                             function n() {}
  8120.                             for (var i = ["apos", "nbsp", "iexcl", "cent", "pound", "curren", "yen", "brvbar", "sect", "uml", "copy", "ordf", "laquo", "not", "shy", "reg", "macr", "deg", "plusmn", "sup2", "sup3", "acute", "micro", "para", "middot", "cedil", "sup1", "ordm", "raquo", "frac14", "frac12", "frac34", "iquest", "Agrave", "Aacute", "Acirc", "Atilde", "Auml", "Aring", "Aelig", "Ccedil", "Egrave", "Eacute", "Ecirc", "Euml", "Igrave", "Iacute", "Icirc", "Iuml", "ETH", "Ntilde", "Ograve", "Oacute", "Ocirc", "Otilde", "Ouml", "times", "Oslash", "Ugrave", "Uacute", "Ucirc", "Uuml", "Yacute", "THORN", "szlig", "agrave", "aacute", "acirc", "atilde", "auml", "aring", "aelig", "ccedil", "egrave", "eacute", "ecirc", "euml", "igrave", "iacute", "icirc", "iuml", "eth", "ntilde", "ograve", "oacute", "ocirc", "otilde", "ouml", "divide", "Oslash", "ugrave", "uacute", "ucirc", "uuml", "yacute", "thorn", "yuml", "quot", "amp", "lt", "gt", "oelig", "oelig", "scaron", "scaron", "yuml", "circ", "tilde", "ensp", "emsp", "thinsp", "zwnj", "zwj", "lrm", "rlm", "ndash", "mdash", "lsquo", "rsquo", "sbquo", "ldquo", "rdquo", "bdquo", "dagger", "dagger", "permil", "lsaquo", "rsaquo", "euro", "fnof", "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", "iota", "kappa", "lambda", "mu", "nu", "xi", "omicron", "pi", "rho", "sigma", "tau", "upsilon", "phi", "chi", "psi", "omega", "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", "iota", "kappa", "lambda", "mu", "nu", "xi", "omicron", "pi", "rho", "sigmaf", "sigma", "tau", "upsilon", "phi", "chi", "psi", "omega", "thetasym", "upsih", "piv", "bull", "hellip", "prime", "prime", "oline", "frasl", "weierp", "image", "real", "trade", "alefsym", "larr", "uarr", "rarr", "darr", "harr", "crarr", "larr", "uarr", "rarr", "darr", "harr", "forall", "part", "exist", "empty", "nabla", "isin", "notin", "ni", "prod", "sum", "minus", "lowast", "radic", "prop", "infin", "ang", "and", "or", "cap", "cup", "int", "there4", "sim", "cong", "asymp", "ne", "equiv", "le", "ge", "sub", "sup", "nsub", "sube", "supe", "oplus", "otimes", "perp", "sdot", "lceil", "rceil", "lfloor", "rfloor", "lang", "rang", "loz", "spades", "clubs", "hearts", "diams"], r = [39, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 34, 38, 60, 62, 338, 339, 352, 353, 376, 710, 732, 8194, 8195, 8201, 8204, 8205, 8206, 8207, 8211, 8212, 8216, 8217, 8218, 8220, 8221, 8222, 8224, 8225, 8240, 8249, 8250, 8364, 402, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 977, 978, 982, 8226, 8230, 8242, 8243, 8254, 8260, 8472, 8465, 8476, 8482, 8501, 8592, 8593, 8594, 8595, 8596, 8629, 8656, 8657, 8658, 8659, 8660, 8704, 8706, 8707, 8709, 8711, 8712, 8713, 8715, 8719, 8721, 8722, 8727, 8730, 8733, 8734, 8736, 8743, 8744, 8745, 8746, 8747, 8756, 8764, 8773, 8776, 8800, 8801, 8804, 8805, 8834, 8835, 8836, 8838, 8839, 8853, 8855, 8869, 8901, 8968, 8969, 8970, 8971, 9001, 9002, 9674, 9824, 9827, 9829, 9830], o = {}, a = {}, s = 0, l = i.length; l > s; ) {
  8121.                                 var c = i[s],
  8122.                                 u = r[s];
  8123.                                 o[c] = String.fromCharCode(u),
  8124.                                 a[u] = c,
  8125.                                 s++
  8126.                             }
  8127.                             n.prototype.decode = function (e) {
  8128.                                 return 0 === e.length ? "" : e.replace(/&(#?[\w\d]+);?/g, function (e, t) {
  8129.                                     var n;
  8130.                                     if ("#" === t.charAt(0)) {
  8131.                                         var i = "x" === t.charAt(1).toLowerCase() ? parseInt(t.substr(2), 16) : parseInt(t.substr(1));
  8132.                                         isNaN(i) || -32768 > i || i > 65535 || (n = String.fromCharCode(i))
  8133.                                     } else
  8134.                                         n = o[t];
  8135.                                     return n || e
  8136.                                 })
  8137.                             },
  8138.                             n.decode = function (e) {
  8139.                                 return (new n).decode(e)
  8140.                             },
  8141.                             n.prototype.encode = function (e) {
  8142.                                 var t = e.length;
  8143.                                 if (0 === t)
  8144.                                     return "";
  8145.                                 for (var n = "", i = 0; t > i; ) {
  8146.                                     var r = a[e.charCodeAt(i)];
  8147.                                     n += r ? "&" + r + ";" : e.charAt(i),
  8148.                                     i++
  8149.                                 }
  8150.                                 return n
  8151.                             },
  8152.                             n.encode = function (e) {
  8153.                                 return (new n).encode(e)
  8154.                             },
  8155.                             n.prototype.encodeNonUTF = function (e) {
  8156.                                 var t = e.length;
  8157.                                 if (0 === t)
  8158.                                     return "";
  8159.                                 for (var n = "", i = 0; t > i; ) {
  8160.                                     var r = e.charCodeAt(i),
  8161.                                     o = a[r];
  8162.                                     n += o ? "&" + o + ";" : 32 > r || r > 126 ? "&#" + r + ";" : e.charAt(i),
  8163.                                     i++
  8164.                                 }
  8165.                                 return n
  8166.                             },
  8167.                             n.encodeNonUTF = function (e) {
  8168.                                 return (new n).encodeNonUTF(e)
  8169.                             },
  8170.                             n.prototype.encodeNonASCII = function (e) {
  8171.                                 var t = e.length;
  8172.                                 if (0 === t)
  8173.                                     return "";
  8174.                                 for (var n = "", i = 0; t > i; ) {
  8175.                                     var r = e.charCodeAt(i);
  8176.                                     255 >= r ? n += e[i++] : (n += "&#" + r + ";", i++)
  8177.                                 }
  8178.                                 return n
  8179.                             },
  8180.                             n.encodeNonASCII = function (e) {
  8181.                                 return (new n).encodeNonASCII(e)
  8182.                             },
  8183.                             e.exports = n
  8184.                         }, function (e, t) {
  8185.                             function n() {}
  8186.                             var i = {
  8187.                                 "&lt": "<",
  8188.                                 "&gt": ">",
  8189.                                 "&quot": '"',
  8190.                                 "&apos": "'",
  8191.                                 "&amp": "&",
  8192.                                 "&lt;": "<",
  8193.                                 "&gt;": ">",
  8194.                                 "&quot;": '"',
  8195.                                 "&apos;": "'",
  8196.                                 "&amp;": "&"
  8197.                             },
  8198.                             r = {
  8199.                                 60: "lt",
  8200.                                 62: "gt",
  8201.                                 34: "quot",
  8202.                                 39: "apos",
  8203.                                 38: "amp"
  8204.                             },
  8205.                             o = {
  8206.                                 "<": "&lt;",
  8207.                                 ">": "&gt;",
  8208.                                 '"': "&quot;",
  8209.                                 "'": "&apos;",
  8210.                                 "&": "&amp;"
  8211.                             };
  8212.                             n.prototype.encode = function (e) {
  8213.                                 return 0 === e.length ? "" : e.replace(/<|>|"|'|&/g, function (e) {
  8214.                                     return o[e]
  8215.                                 })
  8216.                             },
  8217.                             n.encode = function (e) {
  8218.                                 return (new n).encode(e)
  8219.                             },
  8220.                             n.prototype.decode = function (e) {
  8221.                                 return 0 === e.length ? "" : e.replace(/&#?[0-9a-zA-Z]+;?/g, function (e) {
  8222.                                     if ("#" === e.charAt(1)) {
  8223.                                         var t = "x" === e.charAt(2).toLowerCase() ? parseInt(e.substr(3), 16) : parseInt(e.substr(2));
  8224.                                         return isNaN(t) || -32768 > t || t > 65535 ? "" : String.fromCharCode(t)
  8225.                                     }
  8226.                                     return i[e] || e
  8227.                                 })
  8228.                             },
  8229.                             n.decode = function (e) {
  8230.                                 return (new n).decode(e)
  8231.                             },
  8232.                             n.prototype.encodeNonUTF = function (e) {
  8233.                                 var t = e.length;
  8234.                                 if (0 === t)
  8235.                                     return "";
  8236.                                 for (var n = "", i = 0; t > i; ) {
  8237.                                     var o = e.charCodeAt(i),
  8238.                                     a = r[o];
  8239.                                     a ? (n += "&" + a + ";", i++) : (n += 32 > o || o > 126 ? "&#" + o + ";" : e.charAt(i), i++)
  8240.                                 }
  8241.                                 return n
  8242.                             },
  8243.                             n.encodeNonUTF = function (e) {
  8244.                                 return (new n).encodeNonUTF(e)
  8245.                             },
  8246.                             n.prototype.encodeNonASCII = function (e) {
  8247.                                 var t = e.length;
  8248.                                 if (0 === t)
  8249.                                     return "";
  8250.                                 for (var n = "", i = 0; t > i; ) {
  8251.                                     var r = e.charCodeAt(i);
  8252.                                     255 >= r ? n += e[i++] : (n += "&#" + r + ";", i++)
  8253.                                 }
  8254.                                 return n
  8255.                             },
  8256.                             n.encodeNonASCII = function (e) {
  8257.                                 return (new n).encodeNonASCII(e)
  8258.                             },
  8259.                             e.exports = n
  8260.                         }, function (e, t, n) {
  8261.                             (function (e) {
  8262.                                 !function (t) {
  8263.                                     function i(e, n) {
  8264.                                         if (!(this instanceof i))
  8265.                                             return new i(e, n);
  8266.                                         var r = this;
  8267.                                         o(r),
  8268.                                         r.q = r.c = "",
  8269.                                         r.bufferCheckPosition = t.MAX_BUFFER_LENGTH,
  8270.                                         r.opt = n || {},
  8271.                                         r.opt.lowercase = r.opt.lowercase || r.opt.lowercasetags,
  8272.                                         r.looseCase = r.opt.lowercase ? "toLowerCase" : "toUpperCase",
  8273.                                         r.tags = [],
  8274.                                         r.closed = r.closedRoot = r.sawRoot = !1,
  8275.                                         r.tag = r.error = null,
  8276.                                         r.strict = !!e,
  8277.                                         r.noscript = !(!e && !r.opt.noscript),
  8278.                                         r.state = Y.BEGIN,
  8279.                                         r.strictEntities = r.opt.strictEntities,
  8280.                                         r.ENTITIES = r.strictEntities ? Object.create(t.XML_ENTITIES) : Object.create(t.ENTITIES),
  8281.                                         r.attribList = [],
  8282.                                         r.opt.xmlns && (r.ns = Object.create(U)),
  8283.                                         r.trackPosition = r.opt.position !== !1,
  8284.                                         r.trackPosition && (r.position = r.line = r.column = 0),
  8285.                                         f(r, "onready")
  8286.                                     }
  8287.                                     function r(e) {
  8288.                                         for (var n = Math.max(t.MAX_BUFFER_LENGTH, 10), i = 0, r = 0, o = k.length; o > r; r++) {
  8289.                                             var a = e[k[r]].length;
  8290.                                             if (a > n)
  8291.                                                 switch (k[r]) {
  8292.                                                 case "textNode":
  8293.                                                     g(e);
  8294.                                                     break;
  8295.                                                 case "cdata":
  8296.                                                     m(e, "oncdata", e.cdata),
  8297.                                                     e.cdata = "";
  8298.                                                     break;
  8299.                                                 case "script":
  8300.                                                     m(e, "onscript", e.script),
  8301.                                                     e.script = "";
  8302.                                                     break;
  8303.                                                 default:
  8304.                                                     y(e, "Max buffer length exceeded: " + k[r])
  8305.                                                 }
  8306.                                             i = Math.max(i, a)
  8307.                                         }
  8308.                                         var s = t.MAX_BUFFER_LENGTH - i;
  8309.                                         e.bufferCheckPosition = s + e.position
  8310.                                     }
  8311.                                     function o(e) {
  8312.                                         for (var t = 0, n = k.length; n > t; t++)
  8313.                                             e[k[t]] = ""
  8314.                                     }
  8315.                                     function a(e) {
  8316.                                         g(e),
  8317.                                         "" !== e.cdata && (m(e, "oncdata", e.cdata), e.cdata = ""),
  8318.                                         "" !== e.script && (m(e, "onscript", e.script), e.script = "")
  8319.                                     }
  8320.                                     function s(e, t) {
  8321.                                         return new l(e, t)
  8322.                                     }
  8323.                                     function l(e, t) {
  8324.                                         if (!(this instanceof l))
  8325.                                             return new l(e, t);
  8326.                                         O.apply(this),
  8327.                                         this._parser = new i(e, t),
  8328.                                         this.writable = !0,
  8329.                                         this.readable = !0;
  8330.                                         var n = this;
  8331.                                         this._parser.onend = function () {
  8332.                                             n.emit("end")
  8333.                                         },
  8334.                                         this._parser.onerror = function (e) {
  8335.                                             n.emit("error", e),
  8336.                                             n._parser.error = null
  8337.                                         },
  8338.                                         this._decoder = null,
  8339.                                         $.forEach(function (e) {
  8340.                                             Object.defineProperty(n, "on" + e, {
  8341.                                                 get: function () {
  8342.                                                     return n._parser["on" + e]
  8343.                                                 },
  8344.                                                 set: function (t) {
  8345.                                                     return t ? void n.on(e, t) : (n.removeAllListeners(e), n._parser["on" + e] = t, t)
  8346.                                                 },
  8347.                                                 enumerable: !0,
  8348.                                                 configurable: !1
  8349.                                             })
  8350.                                         })
  8351.                                     }
  8352.                                     function c(e) {
  8353.                                         return e.split("").reduce(function (e, t) {
  8354.                                             return e[t] = !0,
  8355.                                             e
  8356.                                         }, {})
  8357.                                     }
  8358.                                     function u(e, t) {
  8359.                                         return e.test(t)
  8360.                                     }
  8361.                                     function d(e, t) {
  8362.                                         return e[t]
  8363.                                     }
  8364.                                     function h(e, t) {
  8365.                                         return !u(e, t)
  8366.                                     }
  8367.                                     function p(e, t) {
  8368.                                         return !d(e, t)
  8369.                                     }
  8370.                                     function f(e, t, n) {
  8371.                                         e[t] && e[t](n)
  8372.                                     }
  8373.                                     function m(e, t, n) {
  8374.                                         e.textNode && g(e),
  8375.                                         f(e, t, n)
  8376.                                     }
  8377.                                     function g(e) {
  8378.                                         e.textNode = v(e.opt, e.textNode),
  8379.                                         e.textNode && f(e, "ontext", e.textNode),
  8380.                                         e.textNode = ""
  8381.                                     }
  8382.                                     function v(e, t) {
  8383.                                         return e.trim && (t = t.trim()),
  8384.                                         e.normalize && (t = t.replace(/\s+/g, " ")),
  8385.                                         t
  8386.                                     }
  8387.                                     function y(e, t) {
  8388.                                         return g(e),
  8389.                                         e.trackPosition && (t += "\nLine: " + e.line + "\nColumn: " + e.column + "\nChar: " + e.c),
  8390.                                         t = new Error(t),
  8391.                                         e.error = t,
  8392.                                         f(e, "onerror", t),
  8393.                                         e
  8394.                                     }
  8395.                                     function b(e) {
  8396.                                         return e.sawRoot && !e.closedRoot && w(e, "Unclosed root tag"),
  8397.                                         e.state !== Y.BEGIN && e.state !== Y.BEGIN_WHITESPACE && e.state !== Y.TEXT && y(e, "Unexpected end"),
  8398.                                         g(e),
  8399.                                         e.c = "",
  8400.                                         e.closed = !0,
  8401.                                         f(e, "onend"),
  8402.                                         i.call(e, e.strict, e.opt),
  8403.                                         e
  8404.                                     }
  8405.                                     function w(e, t) {
  8406.                                         if ("object" != typeof e || !(e instanceof i))
  8407.                                             throw new Error("bad call to strictFail");
  8408.                                         e.strict && y(e, t)
  8409.                                     }
  8410.                                     function T(e) {
  8411.                                         e.strict || (e.tagName = e.tagName[e.looseCase]());
  8412.                                         var t = e.tags[e.tags.length - 1] || e,
  8413.                                         n = e.tag = {
  8414.                                             name: e.tagName,
  8415.                                             attributes: {}
  8416.                                         };
  8417.                                         e.opt.xmlns && (n.ns = t.ns),
  8418.                                         e.attribList.length = 0,
  8419.                                         m(e, "onopentagstart", n)
  8420.                                     }
  8421.                                     function E(e, t) {
  8422.                                         var n = e.indexOf(":"),
  8423.                                         i = 0 > n ? ["", e] : e.split(":"),
  8424.                                         r = i[0],
  8425.                                         o = i[1];
  8426.                                         return t && "xmlns" === e && (r = "xmlns", o = ""), {
  8427.                                             prefix: r,
  8428.                                             local: o
  8429.                                         }
  8430.                                     }
  8431.                                     function x(e) {
  8432.                                         if (e.strict || (e.attribName = e.attribName[e.looseCase]()), -1 !== e.attribList.indexOf(e.attribName) || e.tag.attributes.hasOwnProperty(e.attribName))
  8433.                                             return void(e.attribName = e.attribValue = "");
  8434.                                         if (e.opt.xmlns) {
  8435.                                             var t = E(e.attribName, !0),
  8436.                                             n = t.prefix,
  8437.                                             i = t.local;
  8438.                                             if ("xmlns" === n)
  8439.                                                 if ("xml" === i && e.attribValue !== q)
  8440.                                                     w(e, "xml: prefix must be bound to " + q + "\nActual: " + e.attribValue);
  8441.                                                 else if ("xmlns" === i && e.attribValue !== V)
  8442.                                                     w(e, "xmlns: prefix must be bound to " + V + "\nActual: " + e.attribValue);
  8443.                                                 else {
  8444.                                                     var r = e.tag,
  8445.                                                     o = e.tags[e.tags.length - 1] || e;
  8446.                                                     r.ns === o.ns && (r.ns = Object.create(o.ns)),
  8447.                                                     r.ns[i] = e.attribValue
  8448.                                                 }
  8449.                                             e.attribList.push([e.attribName, e.attribValue])
  8450.                                         } else
  8451.                                             e.tag.attributes[e.attribName] = e.attribValue, m(e, "onattribute", {
  8452.                                                 name: e.attribName,
  8453.                                                 value: e.attribValue
  8454.                                             });
  8455.                                         e.attribName = e.attribValue = ""
  8456.                                     }
  8457.                                     function I(e, t) {
  8458.                                         if (e.opt.xmlns) {
  8459.                                             var n = e.tag,
  8460.                                             i = E(e.tagName);
  8461.                                             n.prefix = i.prefix,
  8462.                                             n.local = i.local,
  8463.                                             n.uri = n.ns[i.prefix] || "",
  8464.                                             n.prefix && !n.uri && (w(e, "Unbound namespace prefix: " + JSON.stringify(e.tagName)),
  8465.                                                 n.uri = i.prefix);
  8466.                                             var r = e.tags[e.tags.length - 1] || e;
  8467.                                             n.ns && r.ns !== n.ns && Object.keys(n.ns).forEach(function (t) {
  8468.                                                 m(e, "onopennamespace", {
  8469.                                                     prefix: t,
  8470.                                                     uri: n.ns[t]
  8471.                                                 })
  8472.                                             });
  8473.                                             for (var o = 0, a = e.attribList.length; a > o; o++) {
  8474.                                                 var s = e.attribList[o],
  8475.                                                 l = s[0],
  8476.                                                 c = s[1],
  8477.                                                 u = E(l, !0),
  8478.                                                 d = u.prefix,
  8479.                                                 h = u.local,
  8480.                                                 p = "" === d ? "" : n.ns[d] || "",
  8481.                                                 f = {
  8482.                                                     name: l,
  8483.                                                     value: c,
  8484.                                                     prefix: d,
  8485.                                                     local: h,
  8486.                                                     uri: p
  8487.                                                 };
  8488.                                                 d && "xmlns" !== d && !p && (w(e, "Unbound namespace prefix: " + JSON.stringify(d)), f.uri = d),
  8489.                                                 e.tag.attributes[l] = f,
  8490.                                                 m(e, "onattribute", f)
  8491.                                             }
  8492.                                             e.attribList.length = 0
  8493.                                         }
  8494.                                         e.tag.isSelfClosing = !!t,
  8495.                                         e.sawRoot = !0,
  8496.                                         e.tags.push(e.tag),
  8497.                                         m(e, "onopentag", e.tag),
  8498.                                         t || (e.noscript || "script" !== e.tagName.toLowerCase() ? e.state = Y.TEXT : e.state = Y.SCRIPT, e.tag = null, e.tagName = ""),
  8499.                                         e.attribName = e.attribValue = "",
  8500.                                         e.attribList.length = 0
  8501.                                     }
  8502.                                     function S(e) {
  8503.                                         if (!e.tagName)
  8504.                                             return w(e, "Weird empty close tag."), e.textNode += "</>", void(e.state = Y.TEXT);
  8505.                                         if (e.script) {
  8506.                                             if ("script" !== e.tagName)
  8507.                                                 return e.script += "</" + e.tagName + ">", e.tagName = "", void(e.state = Y.SCRIPT);
  8508.                                             m(e, "onscript", e.script),
  8509.                                             e.script = ""
  8510.                                         }
  8511.                                         var t = e.tags.length,
  8512.                                         n = e.tagName;
  8513.                                         e.strict || (n = n[e.looseCase]());
  8514.                                         for (var i = n; t--; ) {
  8515.                                             var r = e.tags[t];
  8516.                                             if (r.name === i)
  8517.                                                 break;
  8518.                                             w(e, "Unexpected close tag")
  8519.                                         }
  8520.                                         if (0 > t)
  8521.                                             return w(e, "Unmatched closing tag: " + e.tagName), e.textNode += "</" + e.tagName + ">", void(e.state = Y.TEXT);
  8522.                                         e.tagName = n;
  8523.                                         for (var o = e.tags.length; o-- > t; ) {
  8524.                                             var a = e.tag = e.tags.pop();
  8525.                                             e.tagName = e.tag.name,
  8526.                                             m(e, "onclosetag", e.tagName);
  8527.                                             var s = {};
  8528.                                             for (var l in a.ns)
  8529.                                                 s[l] = a.ns[l];
  8530.                                             var c = e.tags[e.tags.length - 1] || e;
  8531.                                             e.opt.xmlns && a.ns !== c.ns && Object.keys(a.ns).forEach(function (t) {
  8532.                                                 var n = a.ns[t];
  8533.                                                 m(e, "onclosenamespace", {
  8534.                                                     prefix: t,
  8535.                                                     uri: n
  8536.                                                 })
  8537.                                             })
  8538.                                         }
  8539.                                         0 === t && (e.closedRoot = !0),
  8540.                                         e.tagName = e.attribValue = e.attribName = "",
  8541.                                         e.attribList.length = 0,
  8542.                                         e.state = Y.TEXT
  8543.                                     }
  8544.                                     function N(e) {
  8545.                                         var t,
  8546.                                         n = e.entity,
  8547.                                         i = n.toLowerCase(),
  8548.                                         r = "";
  8549.                                         return e.ENTITIES[n] ? e.ENTITIES[n] : e.ENTITIES[i] ? e.ENTITIES[i] : (n = i, "#" === n.charAt(0) && ("x" === n.charAt(1) ? (n = n.slice(2), t = parseInt(n, 16), r = t.toString(16)) : (n = n.slice(1), t = parseInt(n, 10), r = t.toString(10))), n = n.replace(/^0+/, ""), r.toLowerCase() !== n ? (w(e, "Invalid character entity"), "&" + e.entity + ";") : String.fromCodePoint(t))
  8550.                                     }
  8551.                                     function C(e, t) {
  8552.                                         "<" === t ? (e.state = Y.OPEN_WAKA, e.startTagPosition = e.position) : p(D, t) && (w(e, "Non-whitespace before first tag."), e.textNode = t, e.state = Y.TEXT)
  8553.                                     }
  8554.                                     function A(e, t) {
  8555.                                         var n = "";
  8556.                                         return t < e.length && (n = e.charAt(t)),
  8557.                                         n
  8558.                                     }
  8559.                                     function _(e) {
  8560.                                         var t = this;
  8561.                                         if (this.error)
  8562.                                             throw this.error;
  8563.                                         if (t.closed)
  8564.                                             return y(t, "Cannot write after close. Assign an onready handler.");
  8565.                                         if (null === e)
  8566.                                             return b(t);
  8567.                                         "object" == typeof e && (e = e.toString());
  8568.                                         for (var n = 0, i = ""; i = A(e, n++), t.c = i, i; )
  8569.                                             switch (t.trackPosition && (t.position++, "\n" === i ? (t.line++, t.column = 0) : t.column++), t.state) {
  8570.                                             case Y.BEGIN:
  8571.                                                 if (t.state = Y.BEGIN_WHITESPACE, "\ufeff" === i)
  8572.                                                     continue;
  8573.                                                 C(t, i);
  8574.                                                 continue;
  8575.                                             case Y.BEGIN_WHITESPACE:
  8576.                                                 C(t, i);
  8577.                                                 continue;
  8578.                                             case Y.TEXT:
  8579.                                                 if (t.sawRoot && !t.closedRoot) {
  8580.                                                     for (var o = n - 1; i && "<" !== i && "&" !== i; )
  8581.                                                         i = A(e, n++), i && t.trackPosition && (t.position++, "\n" === i ? (t.line++, t.column = 0) : t.column++);
  8582.                                                     t.textNode += e.substring(o, n - 1)
  8583.                                                 }
  8584.                                                 "<" !== i || t.sawRoot && t.closedRoot && !t.strict ? (!p(D, i) || t.sawRoot && !t.closedRoot || w(t, "Text data outside of root node."), "&" === i ? t.state = Y.TEXT_ENTITY : t.textNode += i) : (t.state = Y.OPEN_WAKA, t.startTagPosition = t.position);
  8585.                                                 continue;
  8586.                                             case Y.SCRIPT:
  8587.                                                 "<" === i ? t.state = Y.SCRIPT_ENDING : t.script += i;
  8588.                                                 continue;
  8589.                                             case Y.SCRIPT_ENDING:
  8590.                                                 "/" === i ? t.state = Y.CLOSE_TAG : (t.script += "<" + i, t.state = Y.SCRIPT);
  8591.                                                 continue;
  8592.                                             case Y.OPEN_WAKA:
  8593.                                                 if ("!" === i)
  8594.                                                     t.state = Y.SGML_DECL, t.sgmlDecl = "";
  8595.                                                 else if (d(D, i));
  8596.                                                 else if (u(H, i))
  8597.                                                     t.state = Y.OPEN_TAG, t.tagName = i;
  8598.                                                 else if ("/" === i)
  8599.                                                     t.state = Y.CLOSE_TAG, t.tagName = "";
  8600.                                                 else if ("?" === i)
  8601.                                                     t.state = Y.PROC_INST, t.procInstName = t.procInstBody = "";
  8602.                                                 else {
  8603.                                                     if (w(t, "Unencoded <"), t.startTagPosition + 1 < t.position) {
  8604.                                                         var a = t.position - t.startTagPosition;
  8605.                                                         i = new Array(a).join(" ") + i
  8606.                                                     }
  8607.                                                     t.textNode += "<" + i,
  8608.                                                     t.state = Y.TEXT
  8609.                                                 }
  8610.                                                 continue;
  8611.                                             case Y.SGML_DECL:
  8612.                                                 (t.sgmlDecl + i).toUpperCase() === R ? (m(t, "onopencdata"), t.state = Y.CDATA, t.sgmlDecl = "", t.cdata = "") : t.sgmlDecl + i === "--" ? (t.state = Y.COMMENT, t.comment = "", t.sgmlDecl = "") : (t.sgmlDecl + i).toUpperCase() === M ? (t.state = Y.DOCTYPE, (t.doctype || t.sawRoot) && w(t, "Inappropriately located doctype declaration"), t.doctype = "", t.sgmlDecl = "") : ">" === i ? (m(t, "onsgmldeclaration", t.sgmlDecl), t.sgmlDecl = "", t.state = Y.TEXT) : d(B, i) ? (t.state = Y.SGML_DECL_QUOTED, t.sgmlDecl += i) : t.sgmlDecl += i;
  8613.                                                 continue;
  8614.                                             case Y.SGML_DECL_QUOTED:
  8615.                                                 i === t.q && (t.state = Y.SGML_DECL, t.q = ""),
  8616.                                                 t.sgmlDecl += i;
  8617.                                                 continue;
  8618.                                             case Y.DOCTYPE:
  8619.                                                 ">" === i ? (t.state = Y.TEXT, m(t, "ondoctype", t.doctype), t.doctype = !0) : (t.doctype += i, "[" === i ? t.state = Y.DOCTYPE_DTD : d(B, i) && (t.state = Y.DOCTYPE_QUOTED, t.q = i));
  8620.                                                 continue;
  8621.                                             case Y.DOCTYPE_QUOTED:
  8622.                                                 t.doctype += i,
  8623.                                                 i === t.q && (t.q = "", t.state = Y.DOCTYPE);
  8624.                                                 continue;
  8625.                                             case Y.DOCTYPE_DTD:
  8626.                                                 t.doctype += i,
  8627.                                                 "]" === i ? t.state = Y.DOCTYPE : d(B, i) && (t.state = Y.DOCTYPE_DTD_QUOTED, t.q = i);
  8628.                                                 continue;
  8629.                                             case Y.DOCTYPE_DTD_QUOTED:
  8630.                                                 t.doctype += i,
  8631.                                                 i === t.q && (t.state = Y.DOCTYPE_DTD, t.q = "");
  8632.                                                 continue;
  8633.                                             case Y.COMMENT:
  8634.                                                 "-" === i ? t.state = Y.COMMENT_ENDING : t.comment += i;
  8635.                                                 continue;
  8636.                                             case Y.COMMENT_ENDING:
  8637.                                                 "-" === i ? (t.state = Y.COMMENT_ENDED, t.comment = v(t.opt, t.comment), t.comment && m(t, "oncomment", t.comment), t.comment = "") : (t.comment += "-" + i, t.state = Y.COMMENT);
  8638.                                                 continue;
  8639.                                             case Y.COMMENT_ENDED:
  8640.                                                 ">" !== i ? (w(t, "Malformed comment"), t.comment += "--" + i, t.state = Y.COMMENT) : t.state = Y.TEXT;
  8641.                                                 continue;
  8642.                                             case Y.CDATA:
  8643.                                                 "]" === i ? t.state = Y.CDATA_ENDING : t.cdata += i;
  8644.                                                 continue;
  8645.                                             case Y.CDATA_ENDING:
  8646.                                                 "]" === i ? t.state = Y.CDATA_ENDING_2 : (t.cdata += "]" + i, t.state = Y.CDATA);
  8647.                                                 continue;
  8648.                                             case Y.CDATA_ENDING_2:
  8649.                                                 ">" === i ? (t.cdata && m(t, "oncdata", t.cdata), m(t, "onclosecdata"), t.cdata = "", t.state = Y.TEXT) : "]" === i ? t.cdata += "]" : (t.cdata += "]]" + i, t.state = Y.CDATA);
  8650.                                                 continue;
  8651.                                             case Y.PROC_INST:
  8652.                                                 "?" === i ? t.state = Y.PROC_INST_ENDING : d(D, i) ? t.state = Y.PROC_INST_BODY : t.procInstName += i;
  8653.                                                 continue;
  8654.                                             case Y.PROC_INST_BODY:
  8655.                                                 if (!t.procInstBody && d(D, i))
  8656.                                                     continue;
  8657.                                                 "?" === i ? t.state = Y.PROC_INST_ENDING : t.procInstBody += i;
  8658.                                                 continue;
  8659.                                             case Y.PROC_INST_ENDING:
  8660.                                                 ">" === i ? (m(t, "onprocessinginstruction", {
  8661.                                                         name: t.procInstName,
  8662.                                                         body: t.procInstBody
  8663.                                                     }), t.procInstName = t.procInstBody = "", t.state = Y.TEXT) : (t.procInstBody += "?" + i, t.state = Y.PROC_INST_BODY);
  8664.                                                 continue;
  8665.                                             case Y.OPEN_TAG:
  8666.                                                 u(j, i) ? t.tagName += i : (T(t), ">" === i ? I(t) : "/" === i ? t.state = Y.OPEN_TAG_SLASH : (p(D, i) && w(t, "Invalid character in tag name"), t.state = Y.ATTRIB));
  8667.                                                 continue;
  8668.                                             case Y.OPEN_TAG_SLASH:
  8669.                                                 ">" === i ? (I(t, !0), S(t)) : (w(t, "Forward-slash in opening tag not followed by >"), t.state = Y.ATTRIB);
  8670.                                                 continue;
  8671.                                             case Y.ATTRIB:
  8672.                                                 if (d(D, i))
  8673.                                                     continue;
  8674.                                                 ">" === i ? I(t) : "/" === i ? t.state = Y.OPEN_TAG_SLASH : u(H, i) ? (t.attribName = i, t.attribValue = "", t.state = Y.ATTRIB_NAME) : w(t, "Invalid attribute name");
  8675.                                                 continue;
  8676.                                             case Y.ATTRIB_NAME:
  8677.                                                 "=" === i ? t.state = Y.ATTRIB_VALUE : ">" === i ? (w(t, "Attribute without value"), t.attribValue = t.attribName, x(t), I(t)) : d(D, i) ? t.state = Y.ATTRIB_NAME_SAW_WHITE : u(j, i) ? t.attribName += i : w(t, "Invalid attribute name");
  8678.                                                 continue;
  8679.                                             case Y.ATTRIB_NAME_SAW_WHITE:
  8680.                                                 if ("=" === i)
  8681.                                                     t.state = Y.ATTRIB_VALUE;
  8682.                                                 else {
  8683.                                                     if (d(D, i))
  8684.                                                         continue;
  8685.                                                     w(t, "Attribute without value"),
  8686.                                                     t.tag.attributes[t.attribName] = "",
  8687.                                                     t.attribValue = "",
  8688.                                                     m(t, "onattribute", {
  8689.                                                         name: t.attribName,
  8690.                                                         value: ""
  8691.                                                     }),
  8692.                                                     t.attribName = "",
  8693.                                                     ">" === i ? I(t) : u(H, i) ? (t.attribName = i, t.state = Y.ATTRIB_NAME) : (w(t, "Invalid attribute name"), t.state = Y.ATTRIB)
  8694.                                                 }
  8695.                                                 continue;
  8696.                                             case Y.ATTRIB_VALUE:
  8697.                                                 if (d(D, i))
  8698.                                                     continue;
  8699.                                                 d(B, i) ? (t.q = i, t.state = Y.ATTRIB_VALUE_QUOTED) : (w(t, "Unquoted attribute value"), t.state = Y.ATTRIB_VALUE_UNQUOTED, t.attribValue = i);
  8700.                                                 continue;
  8701.                                             case Y.ATTRIB_VALUE_QUOTED:
  8702.                                                 if (i !== t.q) {
  8703.                                                     "&" === i ? t.state = Y.ATTRIB_VALUE_ENTITY_Q : t.attribValue += i;
  8704.                                                     continue
  8705.                                                 }
  8706.                                                 x(t),
  8707.                                                 t.q = "",
  8708.                                                 t.state = Y.ATTRIB_VALUE_CLOSED;
  8709.                                                 continue;
  8710.                                             case Y.ATTRIB_VALUE_CLOSED:
  8711.                                                 d(D, i) ? t.state = Y.ATTRIB : ">" === i ? I(t) : "/" === i ? t.state = Y.OPEN_TAG_SLASH : u(H, i) ? (w(t, "No whitespace between attributes"), t.attribName = i, t.attribValue = "", t.state = Y.ATTRIB_NAME) : w(t, "Invalid attribute name");
  8712.                                                 continue;
  8713.                                             case Y.ATTRIB_VALUE_UNQUOTED:
  8714.                                                 if (p(P, i)) {
  8715.                                                     "&" === i ? t.state = Y.ATTRIB_VALUE_ENTITY_U : t.attribValue += i;
  8716.                                                     continue
  8717.                                                 }
  8718.                                                 x(t),
  8719.                                                 ">" === i ? I(t) : t.state = Y.ATTRIB;
  8720.                                                 continue;
  8721.                                             case Y.CLOSE_TAG:
  8722.                                                 if (t.tagName)
  8723.                                                     ">" === i ? S(t) : u(j, i) ? t.tagName += i : t.script ? (t.script += "</" + t.tagName, t.tagName = "", t.state = Y.SCRIPT) : (p(D, i) && w(t, "Invalid tagname in closing tag"), t.state = Y.CLOSE_TAG_SAW_WHITE);
  8724.                                                 else {
  8725.                                                     if (d(D, i))
  8726.                                                         continue;
  8727.                                                     h(H, i) ? t.script ? (t.script += "</" + i, t.state = Y.SCRIPT) : w(t, "Invalid tagname in closing tag.") : t.tagName = i
  8728.                                                 }
  8729.                                                 continue;
  8730.                                             case Y.CLOSE_TAG_SAW_WHITE:
  8731.                                                 if (d(D, i))
  8732.                                                     continue;
  8733.                                                 ">" === i ? S(t) : w(t, "Invalid characters in closing tag");
  8734.                                                 continue;
  8735.                                             case Y.TEXT_ENTITY:
  8736.                                             case Y.ATTRIB_VALUE_ENTITY_Q:
  8737.                                             case Y.ATTRIB_VALUE_ENTITY_U:
  8738.                                                 var s,
  8739.                                                 l;
  8740.                                                 switch (t.state) {
  8741.                                                 case Y.TEXT_ENTITY:
  8742.                                                     s = Y.TEXT,
  8743.                                                     l = "textNode";
  8744.                                                     break;
  8745.                                                 case Y.ATTRIB_VALUE_ENTITY_Q:
  8746.                                                     s = Y.ATTRIB_VALUE_QUOTED,
  8747.                                                     l = "attribValue";
  8748.                                                     break;
  8749.                                                 case Y.ATTRIB_VALUE_ENTITY_U:
  8750.                                                     s = Y.ATTRIB_VALUE_UNQUOTED,
  8751.                                                     l = "attribValue"
  8752.                                                 }
  8753.                                                 ";" === i ? (t[l] += N(t), t.entity = "", t.state = s) : u(t.entity.length ? G : F, i) ? t.entity += i : (w(t, "Invalid character in entity name"), t[l] += "&" + t.entity + i, t.entity = "", t.state = s);
  8754.                                                 continue;
  8755.                                             default:
  8756.                                                 throw new Error(t, "Unknown state: " + t.state)
  8757.                                             }
  8758.                                         return t.position >= t.bufferCheckPosition && r(t),
  8759.                                         t
  8760.                                     }
  8761.                                     t.parser = function (e, t) {
  8762.                                         return new i(e, t)
  8763.                                     },
  8764.                                     t.SAXParser = i,
  8765.                                     t.SAXStream = l,
  8766.                                     t.createStream = s,
  8767.                                     t.MAX_BUFFER_LENGTH = 65536;
  8768.                                     var k = ["comment", "sgmlDecl", "textNode", "tagName", "doctype", "procInstName", "procInstBody", "entity", "attribName", "attribValue", "cdata", "script"];
  8769.                                     t.EVENTS = ["text", "processinginstruction", "sgmldeclaration", "doctype", "comment", "opentagstart", "attribute", "opentag", "closetag", "opencdata", "cdata", "closecdata", "error", "end", "ready", "script", "opennamespace", "closenamespace"],
  8770.                                     Object.create || (Object.create = function (e) {
  8771.                                         function t() {}
  8772.                                         t.prototype = e;
  8773.                                         var n = new t;
  8774.                                         return n
  8775.                                     }),
  8776.                                     Object.keys || (Object.keys = function (e) {
  8777.                                         var t = [];
  8778.                                         for (var n in e)
  8779.                                             e.hasOwnProperty(n) && t.push(n);
  8780.                                         return t
  8781.                                     }),
  8782.                                     i.prototype = {
  8783.                                         end: function () {
  8784.                                             b(this)
  8785.                                         },
  8786.                                         write: _,
  8787.                                         resume: function () {
  8788.                                             return this.error = null,
  8789.                                             this
  8790.                                         },
  8791.                                         close: function () {
  8792.                                             return this.write(null)
  8793.                                         },
  8794.                                         flush: function () {
  8795.                                             a(this)
  8796.                                         }
  8797.                                     };
  8798.                                     var O;
  8799.                                     try {
  8800.                                         O = n(6).Stream
  8801.                                     } catch (L) {
  8802.                                         O = function () {}
  8803.                                     }
  8804.                                     var $ = t.EVENTS.filter(function (e) {
  8805.                                             return "error" !== e && "end" !== e
  8806.                                         });
  8807.                                     l.prototype = Object.create(O.prototype, {
  8808.                                             constructor: {
  8809.                                                 value: l
  8810.                                             }
  8811.                                         }),
  8812.                                     l.prototype.write = function (t) {
  8813.                                         if ("function" == typeof e && "function" == typeof e.isBuffer && e.isBuffer(t)) {
  8814.                                             if (!this._decoder) {
  8815.                                                 var i = n(16).StringDecoder;
  8816.                                                 this._decoder = new i("utf8")
  8817.                                             }
  8818.                                             t = this._decoder.write(t)
  8819.                                         }
  8820.                                         return this._parser.write(t.toString()),
  8821.                                         this.emit("data", t),
  8822.                                         !0
  8823.                                     },
  8824.                                     l.prototype.end = function (e) {
  8825.                                         return e && e.length && this.write(e),
  8826.                                         this._parser.end(),
  8827.                                         !0
  8828.                                     },
  8829.                                     l.prototype.on = function (e, t) {
  8830.                                         var n = this;
  8831.                                         return n._parser["on" + e] || -1 === $.indexOf(e) || (n._parser["on" + e] = function () {
  8832.                                             var t = 1 === arguments.length ? [arguments[0]] : Array.apply(null, arguments);
  8833.                                             t.splice(0, 0, e),
  8834.                                             n.emit.apply(n, t)
  8835.                                         }),
  8836.                                         O.prototype.on.call(n, e, t)
  8837.                                     };
  8838.                                     var D = "\r\n    ",
  8839.                                     B = "'\"",
  8840.                                     P = D + ">",
  8841.                                     R = "[CDATA[",
  8842.                                     M = "DOCTYPE",
  8843.                                     q = "http://www.w3.org/XML/1998/namespace",
  8844.                                     V = "http://www.w3.org/2000/xmlns/",
  8845.                                     U = {
  8846.                                         xml: q,
  8847.                                         xmlns: V
  8848.                                     };
  8849.                                     D = c(D);
  8850.                                     var H = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,
  8851.                                     j = /[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,
  8852.                                     F = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,
  8853.                                     G = /[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;
  8854.                                     B = c(B),
  8855.                                     P = c(P);
  8856.                                     var Y = 0;
  8857.                                     t.STATE = {
  8858.                                         BEGIN: Y++,
  8859.                                         BEGIN_WHITESPACE: Y++,
  8860.                                         TEXT: Y++,
  8861.                                         TEXT_ENTITY: Y++,
  8862.                                         OPEN_WAKA: Y++,
  8863.                                         SGML_DECL: Y++,
  8864.                                         SGML_DECL_QUOTED: Y++,
  8865.                                         DOCTYPE: Y++,
  8866.                                         DOCTYPE_QUOTED: Y++,
  8867.                                         DOCTYPE_DTD: Y++,
  8868.                                         DOCTYPE_DTD_QUOTED: Y++,
  8869.                                         COMMENT_STARTING: Y++,
  8870.                                         COMMENT: Y++,
  8871.                                         COMMENT_ENDING: Y++,
  8872.                                         COMMENT_ENDED: Y++,
  8873.                                         CDATA: Y++,
  8874.                                         CDATA_ENDING: Y++,
  8875.                                         CDATA_ENDING_2: Y++,
  8876.                                         PROC_INST: Y++,
  8877.                                         PROC_INST_BODY: Y++,
  8878.                                         PROC_INST_ENDING: Y++,
  8879.                                         OPEN_TAG: Y++,
  8880.                                         OPEN_TAG_SLASH: Y++,
  8881.                                         ATTRIB: Y++,
  8882.                                         ATTRIB_NAME: Y++,
  8883.                                         ATTRIB_NAME_SAW_WHITE: Y++,
  8884.                                         ATTRIB_VALUE: Y++,
  8885.                                         ATTRIB_VALUE_QUOTED: Y++,
  8886.                                         ATTRIB_VALUE_CLOSED: Y++,
  8887.                                         ATTRIB_VALUE_UNQUOTED: Y++,
  8888.                                         ATTRIB_VALUE_ENTITY_Q: Y++,
  8889.                                         ATTRIB_VALUE_ENTITY_U: Y++,
  8890.                                         CLOSE_TAG: Y++,
  8891.                                         CLOSE_TAG_SAW_WHITE: Y++,
  8892.                                         SCRIPT: Y++,
  8893.                                         SCRIPT_ENDING: Y++
  8894.                                     },
  8895.                                     t.XML_ENTITIES = {
  8896.                                         amp: "&",
  8897.                                         gt: ">",
  8898.                                         lt: "<",
  8899.                                         quot: '"',
  8900.                                         apos: "'"
  8901.                                     },
  8902.                                     t.ENTITIES = {
  8903.                                         amp: "&",
  8904.                                         gt: ">",
  8905.                                         lt: "<",
  8906.                                         quot: '"',
  8907.                                         apos: "'",
  8908.                                         AElig: 198,
  8909.                                         Aacute: 193,
  8910.                                         Acirc: 194,
  8911.                                         Agrave: 192,
  8912.                                         Aring: 197,
  8913.                                         Atilde: 195,
  8914.                                         Auml: 196,
  8915.                                         Ccedil: 199,
  8916.                                         ETH: 208,
  8917.                                         Eacute: 201,
  8918.                                         Ecirc: 202,
  8919.                                         Egrave: 200,
  8920.                                         Euml: 203,
  8921.                                         Iacute: 205,
  8922.                                         Icirc: 206,
  8923.                                         Igrave: 204,
  8924.                                         Iuml: 207,
  8925.                                         Ntilde: 209,
  8926.                                         Oacute: 211,
  8927.                                         Ocirc: 212,
  8928.                                         Ograve: 210,
  8929.                                         Oslash: 216,
  8930.                                         Otilde: 213,
  8931.                                         Ouml: 214,
  8932.                                         THORN: 222,
  8933.                                         Uacute: 218,
  8934.                                         Ucirc: 219,
  8935.                                         Ugrave: 217,
  8936.                                         Uuml: 220,
  8937.                                         Yacute: 221,
  8938.                                         aacute: 225,
  8939.                                         acirc: 226,
  8940.                                         aelig: 230,
  8941.                                         agrave: 224,
  8942.                                         aring: 229,
  8943.                                         atilde: 227,
  8944.                                         auml: 228,
  8945.                                         ccedil: 231,
  8946.                                         eacute: 233,
  8947.                                         ecirc: 234,
  8948.                                         egrave: 232,
  8949.                                         eth: 240,
  8950.                                         euml: 235,
  8951.                                         iacute: 237,
  8952.                                         icirc: 238,
  8953.                                         igrave: 236,
  8954.                                         iuml: 239,
  8955.                                         ntilde: 241,
  8956.                                         oacute: 243,
  8957.                                         ocirc: 244,
  8958.                                         ograve: 242,
  8959.                                         oslash: 248,
  8960.                                         otilde: 245,
  8961.                                         ouml: 246,
  8962.                                         szlig: 223,
  8963.                                         thorn: 254,
  8964.                                         uacute: 250,
  8965.                                         ucirc: 251,
  8966.                                         ugrave: 249,
  8967.                                         uuml: 252,
  8968.                                         yacute: 253,
  8969.                                         yuml: 255,
  8970.                                         copy: 169,
  8971.                                         reg: 174,
  8972.                                         nbsp: 160,
  8973.                                         iexcl: 161,
  8974.                                         cent: 162,
  8975.                                         pound: 163,
  8976.                                         curren: 164,
  8977.                                         yen: 165,
  8978.                                         brvbar: 166,
  8979.                                         sect: 167,
  8980.                                         uml: 168,
  8981.                                         ordf: 170,
  8982.                                         laquo: 171,
  8983.                                         not: 172,
  8984.                                         shy: 173,
  8985.                                         macr: 175,
  8986.                                         deg: 176,
  8987.                                         plusmn: 177,
  8988.                                         sup1: 185,
  8989.                                         sup2: 178,
  8990.                                         sup3: 179,
  8991.                                         acute: 180,
  8992.                                         micro: 181,
  8993.                                         para: 182,
  8994.                                         middot: 183,
  8995.                                         cedil: 184,
  8996.                                         ordm: 186,
  8997.                                         raquo: 187,
  8998.                                         frac14: 188,
  8999.                                         frac12: 189,
  9000.                                         frac34: 190,
  9001.                                         iquest: 191,
  9002.                                         times: 215,
  9003.                                         divide: 247,
  9004.                                         OElig: 338,
  9005.                                         oelig: 339,
  9006.                                         Scaron: 352,
  9007.                                         scaron: 353,
  9008.                                         Yuml: 376,
  9009.                                         fnof: 402,
  9010.                                         circ: 710,
  9011.                                         tilde: 732,
  9012.                                         Alpha: 913,
  9013.                                         Beta: 914,
  9014.                                         Gamma: 915,
  9015.                                         Delta: 916,
  9016.                                         Epsilon: 917,
  9017.                                         Zeta: 918,
  9018.                                         Eta: 919,
  9019.                                         Theta: 920,
  9020.                                         Iota: 921,
  9021.                                         Kappa: 922,
  9022.                                         Lambda: 923,
  9023.                                         Mu: 924,
  9024.                                         Nu: 925,
  9025.                                         Xi: 926,
  9026.                                         Omicron: 927,
  9027.                                         Pi: 928,
  9028.                                         Rho: 929,
  9029.                                         Sigma: 931,
  9030.                                         Tau: 932,
  9031.                                         Upsilon: 933,
  9032.                                         Phi: 934,
  9033.                                         Chi: 935,
  9034.                                         Psi: 936,
  9035.                                         Omega: 937,
  9036.                                         alpha: 945,
  9037.                                         beta: 946,
  9038.                                         gamma: 947,
  9039.                                         delta: 948,
  9040.                                         epsilon: 949,
  9041.                                         zeta: 950,
  9042.                                         eta: 951,
  9043.                                         theta: 952,
  9044.                                         iota: 953,
  9045.                                         kappa: 954,
  9046.                                         lambda: 955,
  9047.                                         mu: 956,
  9048.                                         nu: 957,
  9049.                                         xi: 958,
  9050.                                         omicron: 959,
  9051.                                         pi: 960,
  9052.                                         rho: 961,
  9053.                                         sigmaf: 962,
  9054.                                         sigma: 963,
  9055.                                         tau: 964,
  9056.                                         upsilon: 965,
  9057.                                         phi: 966,
  9058.                                         chi: 967,
  9059.                                         psi: 968,
  9060.                                         omega: 969,
  9061.                                         thetasym: 977,
  9062.                                         upsih: 978,
  9063.                                         piv: 982,
  9064.                                         ensp: 8194,
  9065.                                         emsp: 8195,
  9066.                                         thinsp: 8201,
  9067.                                         zwnj: 8204,
  9068.                                         zwj: 8205,
  9069.                                         lrm: 8206,
  9070.                                         rlm: 8207,
  9071.                                         ndash: 8211,
  9072.                                         mdash: 8212,
  9073.                                         lsquo: 8216,
  9074.                                         rsquo: 8217,
  9075.                                         sbquo: 8218,
  9076.                                         ldquo: 8220,
  9077.                                         rdquo: 8221,
  9078.                                         bdquo: 8222,
  9079.                                         dagger: 8224,
  9080.                                         Dagger: 8225,
  9081.                                         bull: 8226,
  9082.                                         hellip: 8230,
  9083.                                         permil: 8240,
  9084.                                         prime: 8242,
  9085.                                         Prime: 8243,
  9086.                                         lsaquo: 8249,
  9087.                                         rsaquo: 8250,
  9088.                                         oline: 8254,
  9089.                                         frasl: 8260,
  9090.                                         euro: 8364,
  9091.                                         image: 8465,
  9092.                                         weierp: 8472,
  9093.                                         real: 8476,
  9094.                                         trade: 8482,
  9095.                                         alefsym: 8501,
  9096.                                         larr: 8592,
  9097.                                         uarr: 8593,
  9098.                                         rarr: 8594,
  9099.                                         darr: 8595,
  9100.                                         harr: 8596,
  9101.                                         crarr: 8629,
  9102.                                         lArr: 8656,
  9103.                                         uArr: 8657,
  9104.                                         rArr: 8658,
  9105.                                         dArr: 8659,
  9106.                                         hArr: 8660,
  9107.                                         forall: 8704,
  9108.                                         part: 8706,
  9109.                                         exist: 8707,
  9110.                                         empty: 8709,
  9111.                                         nabla: 8711,
  9112.                                         isin: 8712,
  9113.                                         notin: 8713,
  9114.                                         ni: 8715,
  9115.                                         prod: 8719,
  9116.                                         sum: 8721,
  9117.                                         minus: 8722,
  9118.                                         lowast: 8727,
  9119.                                         radic: 8730,
  9120.                                         prop: 8733,
  9121.                                         infin: 8734,
  9122.                                         ang: 8736,
  9123.                                         and: 8743,
  9124.                                         or: 8744,
  9125.                                         cap: 8745,
  9126.                                         cup: 8746,
  9127.                                         "int": 8747,
  9128.                                         there4: 8756,
  9129.                                         sim: 8764,
  9130.                                         cong: 8773,
  9131.                                         asymp: 8776,
  9132.                                         ne: 8800,
  9133.                                         equiv: 8801,
  9134.                                         le: 8804,
  9135.                                         ge: 8805,
  9136.                                         sub: 8834,
  9137.                                         sup: 8835,
  9138.                                         nsub: 8836,
  9139.                                         sube: 8838,
  9140.                                         supe: 8839,
  9141.                                         oplus: 8853,
  9142.                                         otimes: 8855,
  9143.                                         perp: 8869,
  9144.                                         sdot: 8901,
  9145.                                         lceil: 8968,
  9146.                                         rceil: 8969,
  9147.                                         lfloor: 8970,
  9148.                                         rfloor: 8971,
  9149.                                         lang: 9001,
  9150.                                         rang: 9002,
  9151.                                         loz: 9674,
  9152.                                         spades: 9824,
  9153.                                         clubs: 9827,
  9154.                                         hearts: 9829,
  9155.                                         diams: 9830
  9156.                                     },
  9157.                                     Object.keys(t.ENTITIES).forEach(function (e) {
  9158.                                         var n = t.ENTITIES[e],
  9159.                                         i = "number" == typeof n ? String.fromCharCode(n) : n;
  9160.                                         t.ENTITIES[e] = i
  9161.                                     });
  9162.                                     for (var z in t.STATE)
  9163.                                         t.STATE[t.STATE[z]] = z;
  9164.                                     Y = t.STATE,
  9165.                                     String.fromCodePoint || !function () {
  9166.                                         var e = String.fromCharCode,
  9167.                                         t = Math.floor,
  9168.                                         n = function () {
  9169.                                             var n,
  9170.                                             i,
  9171.                                             r = 16384,
  9172.                                             o = [],
  9173.                                             a = -1,
  9174.                                             s = arguments.length;
  9175.                                             if (!s)
  9176.                                                 return "";
  9177.                                             for (var l = ""; ++a < s; ) {
  9178.                                                 var c = Number(arguments[a]);
  9179.                                                 if (!isFinite(c) || 0 > c || c > 1114111 || t(c) !== c)
  9180.                                                     throw RangeError("Invalid code point: " + c);
  9181.                                                 65535 >= c ? o.push(c) : (c -= 65536, n = (c >> 10) + 55296, i = c % 1024 + 56320, o.push(n, i)),
  9182.                                                 (a + 1 === s || o.length > r) && (l += e.apply(null, o), o.length = 0)
  9183.                                             }
  9184.                                             return l
  9185.                                         };
  9186.                                         Object.defineProperty ? Object.defineProperty(String, "fromCodePoint", {
  9187.                                             value: n,
  9188.                                             configurable: !0,
  9189.                                             writable: !0
  9190.                                         }) : String.fromCodePoint = n
  9191.                                     }
  9192.                                     ()
  9193.                                 }
  9194.                                 (t)
  9195.                             }).call(t, n(0).Buffer)
  9196.                         }, function (e, t, n) {
  9197.                             function i(e, t, n, i, u) {
  9198.                                 if ("fail" === i.status)
  9199.                                     return new Error(i.errorcode && i.reason ? "Code " + i.errorcode + ": " + i.reason : "Video not found");
  9200.                                 var g = l.format({
  9201.                                         protocol: "https",
  9202.                                         host: y,
  9203.                                         pathname: b,
  9204.                                         query: {
  9205.                                             video_id: e,
  9206.                                             eurl: v + e,
  9207.                                             ps: "default",
  9208.                                             gl: "US",
  9209.                                             hl: "en",
  9210.                                             sts: i.sts
  9211.                                         }
  9212.                                     }),
  9213.                                 T = t.request || d;
  9214.                                 T(g, t.requestOptions, function (e, d) {
  9215.                                     if (e)
  9216.                                         return u(e);
  9217.                                     var g = c.parse(d);
  9218.                                     if ("fail" === g.status)
  9219.                                         g = i.args;
  9220.                                     else if ("1" === g.requires_purchase)
  9221.                                         return u(new Error(g.ypc_video_rental_bar_text));
  9222.                                     if (w.forEach(function (e) {
  9223.                                             g[e] && (g[e] = g[e].split(",").filter(function (e) {
  9224.                                                         return "" !== e
  9225.                                                     }))
  9226.                                         }), g.fmt_list = g.fmt_list ? g.fmt_list.map(function (e) {
  9227.                                                 return e.split("/")
  9228.                                             }) : [], g.formats = h.parseFormats(g), g = h.objectAssign(g, n, !1), g.formats.some(function (e) {
  9229.                                             return !!e.s
  9230.                                         }) || i.args.dashmpd || g.dashmpd || g.hlsvp) {
  9231.                                         var v = l.resolve(m, i.assets.js);
  9232.                                         p.getTokens(v, t, function (e, n) {
  9233.                                             if (e)
  9234.                                                 return u(e);
  9235.                                             p.decipherFormats(g.formats, n, t.debug);
  9236.                                             var l,
  9237.                                             c = [];
  9238.                                             i.args.dashmpd && (l = r(i.args.dashmpd, n), c.push(a.bind(null, l, t))),
  9239.                                             g.dashmpd && g.dashmpd !== i.args.dashmpd && (l = r(g.dashmpd, n), c.push(a.bind(null, l, t))),
  9240.                                             g.hlsvp && (g.hlsvp = r(g.hlsvp, n), c.push(s.bind(null, g.hlsvp, t))),
  9241.                                             h.parallel(c, function (e, n) {
  9242.                                                 return e ? u(e) : (n[0] && o(g, n[0]), n[1] && o(g, n[1]), n[2] && o(g, n[2]), g.formats.length ? (t.debug && g.formats.forEach(function (e) {
  9243.                                                             var t = e.itag;
  9244.                                                             !f[t]
  9245.                                                         }), g.formats.sort(h.sortFormats), void u(null, g)) : void u(new Error("No formats found")))
  9246.                                             })
  9247.                                         })
  9248.                                     } else {
  9249.                                         if (!g.formats.length)
  9250.                                             return void u(new Error("Video does not contain any available formats"));
  9251.                                         p.decipherFormats(g.formats, null, t.debug),
  9252.                                         g.formats.sort(h.sortFormats),
  9253.                                         u(null, g)
  9254.                                     }
  9255.                                 })
  9256.                             }
  9257.                             function r(e, t) {
  9258.                                 return e.replace(/\/s\/([a-fA-F0-9\.]+)/, function (e, n) {
  9259.                                     return "/signature/" + p.decipher(t, n)
  9260.                                 })
  9261.                             }
  9262.                             function o(e, t) {
  9263.                                 e.formats.forEach(function (e) {
  9264.                                     var n = t[e.itag];
  9265.                                     if (n)
  9266.                                         for (var i in e)
  9267.                                             n[i] = e[i];
  9268.                                     else
  9269.                                         t[e.itag] = e
  9270.                                 }),
  9271.                                 e.formats = [];
  9272.                                 for (var n in t)
  9273.                                     e.formats.push(t[n])
  9274.                             }
  9275.                             function a(e, t, n) {
  9276.                                 var i = t.request || d,
  9277.                                 r = {},
  9278.                                 o = null,
  9279.                                 a = !1,
  9280.                                 s = u.parser(!1);
  9281.                                 s.onerror = n,
  9282.                                 s.onopentag = function (e) {
  9283.                                     if ("REPRESENTATION" === e.name) {
  9284.                                         var t = e.attributes.ID,
  9285.                                         n = f[t];
  9286.                                         o = {
  9287.                                             itag: t
  9288.                                         };
  9289.                                         for (var i in n)
  9290.                                             o[i] = n[i];
  9291.                                         r[t] = o
  9292.                                     }
  9293.                                     a = "BASEURL" === e.name
  9294.                                 },
  9295.                                 s.ontext = function (e) {
  9296.                                     a && (o.url = e)
  9297.                                 },
  9298.                                 s.onend = function () {
  9299.                                     n(null, r)
  9300.                                 };
  9301.                                 var c = i(l.resolve(m, e), t.requestOptions);
  9302.                                 c.on("error", n),
  9303.                                 c.on("response", function (e) {
  9304.                                     return 200 !== e.statusCode && 206 !== e.statusCode ? s.close() : (e.setEncoding("utf8"), e.on("error", n), e.on("data", function (e) {
  9305.                                             s.write(e)
  9306.                                         }), void e.on("end", s.close.bind(s)))
  9307.                                 })
  9308.                             }
  9309.                             function s(e, t, n) {
  9310.                                 var i = t.request || d;
  9311.                                 i(l.resolve(m, e), t.requestOptions, function (e, i) {
  9312.                                     if (e)
  9313.                                         return n(e);
  9314.                                     var r = {};
  9315.                                     i.split("\n").filter(function (e) {
  9316.                                         return e.trim().length && "#" !== e[0]
  9317.                                     }).forEach(function (e) {
  9318.                                         var n = e.match(/\/itag\/(\d+)\//)[1];
  9319.                                         if (!n)
  9320.                                             return void t.debug;
  9321.                                         var i = f[n],
  9322.                                         o = {
  9323.                                             itag: n,
  9324.                                             url: e
  9325.                                         };
  9326.                                         for (var a in i)
  9327.                                             o[a] = i[a];
  9328.                                         r[n] = o
  9329.                                     }),
  9330.                                     n(null, r)
  9331.                                 })
  9332.                             }
  9333.                             var l = n(8),
  9334.                             c = n(13),
  9335.                             u = n(32),
  9336.                             d = n(10),
  9337.                             h = n(9),
  9338.                             p = n(34),
  9339.                             f = n(19),
  9340.                             m = "https://www.youtube.com/watch?v=",
  9341.                             g = "https://www.youtube.com/embed/",
  9342.                             v = "https://youtube.googleapis.com/v/",
  9343.                             y = "www.youtube.com",
  9344.                             b = "/get_video_info",
  9345.                             w = ["keywords", "fmt_list", "fexp", "watermark"];
  9346.                             e.exports = function T(e, t, n) {
  9347.                                 if ("function" == typeof t ? (n = t, t = {}) : t || (t = {}), !n)
  9348.                                     return new Promise(function (n, i) {
  9349.                                         T(e, t, function (e, t) {
  9350.                                             return e ? i(e) : void n(t)
  9351.                                         })
  9352.                                     });
  9353.                                 var r = t.request || d,
  9354.                                 o = h.getVideoID(e),
  9355.                                 a = m + o;
  9356.                                 r(a, t.requestOptions, function (e, s) {
  9357.                                     if (e)
  9358.                                         return n(e);
  9359.                                     var l = h.between(s, '<div id="player-unavailable"', ">");
  9360.                                     if (!/\bhid\b/.test(h.between(l, 'class="', '"')) && (l = h.between(s, '<h1 id="unavailable-message" class="message">', "</h1>").trim(), "Content Warning" !== l))
  9361.                                         return n(new Error(l));
  9362.                                     var c = {
  9363.                                         author: h.getAuthor(s),
  9364.                                         published: h.getPublished(s),
  9365.                                         description: h.getVideoDescription(s),
  9366.                                         relatedVideos: h.getRelatedVideos(s),
  9367.                                         video_url: a
  9368.                                     },
  9369.                                     u = h.between(s, "ytplayer.config = ", "</script>");
  9370.                                     if (u) {
  9371.                                         u = u.slice(0, u.lastIndexOf(";ytplayer.load"));
  9372.                                         var d;
  9373.                                         try {
  9374.                                             d = JSON.parse(u)
  9375.                                         } catch (e) {
  9376.                                             return n(new Error("Error parsing config: " + e.message))
  9377.                                         }
  9378.                                         if (!d)
  9379.                                             return n(new Error("Could not parse video page config"));
  9380.                                         i(o, t, c, d, n)
  9381.                                     } else
  9382.                                         a = g + o, r(a, t.requestOptions, function (e, r) {
  9383.                                             if (e)
  9384.                                                 return n(e);
  9385.                                             if (d = h.between(r, "t.setConfig({'PLAYER_CONFIG': ", "},'"), !d)
  9386.                                                 return n(new Error("Could not find `player config`"));
  9387.                                             try {
  9388.                                                 d = JSON.parse(d + "}")
  9389.                                             } catch (e) {
  9390.                                                 return n(new Error("Error parsing config: " + e.message))
  9391.                                             }
  9392.                                             i(o, t, c, d, n)
  9393.                                         })
  9394.                                 })
  9395.                             }
  9396.                         }, function (e, t, n) {
  9397.                             (function (e) {
  9398.                                 function i(e, t) {
  9399.                                     var n = e[0];
  9400.                                     return e[0] = e[t % e.length],
  9401.                                     e[t] = n,
  9402.                                     e
  9403.                                 }
  9404.                                 var r = n(35),
  9405.                                 o = n(40),
  9406.                                 a = n(8),
  9407.                                 s = n(10),
  9408.                                 l = n(18);
  9409.                                 t.getTokens = function (i, a, c) {
  9410.                                     var u,
  9411.                                     d,
  9412.                                     h = /(?:html5)?player-([a-zA-Z0-9\-_]+)(?:\.js|\/)/.exec(i);
  9413.                                     if (h && (u = h[1], d = l.get(u)), d)
  9414.                                         c(null, d);
  9415.                                     else {
  9416.                                         var p = a.request || s;
  9417.                                         p(i, a.requestOptions, function (i, s) {
  9418.                                             if (i)
  9419.                                                 return c(i);
  9420.                                             var d = t.extractActions(s);
  9421.                                             if (u && (!d || !d.length)) {
  9422.                                                 if (a.debug) {
  9423.                                                     var h = o.resolve(e, "../test/files/html5player/" + u + ".js");
  9424.                                                     r.writeFileSync(h, s);
  9425.                                                     var p = n(36);
  9426.                                                     p[u] = [],
  9427.                                                     r.writeFileSync(o.resolve(e, "../test/html5player.json"), JSON.stringify(p, null, 2))
  9428.                                                 }
  9429.                                                 return void c(new Error("Could not extract signature deciphering actions"))
  9430.                                             }
  9431.                                             l.set(u, d),
  9432.                                             c(null, d)
  9433.                                         })
  9434.                                     }
  9435.                                 },
  9436.                                 t.decipher = function (e, t) {
  9437.                                     t = t.split("");
  9438.                                     for (var n, r = 0, o = e.length; o > r; r++) {
  9439.                                         var a = e[r];
  9440.                                         switch (a[0]) {
  9441.                                         case "r":
  9442.                                             t = t.reverse();
  9443.                                             break;
  9444.                                         case "w":
  9445.                                             n = ~~a.slice(1),
  9446.                                             t = i(t, n);
  9447.                                             break;
  9448.                                         case "s":
  9449.                                             n = ~~a.slice(1),
  9450.                                             t = t.slice(n);
  9451.                                             break;
  9452.                                         case "p":
  9453.                                             n = ~~a.slice(1),
  9454.                                             t.splice(0, n)
  9455.                                         }
  9456.                                     }
  9457.                                     return t.join("")
  9458.                                 };
  9459.                                 var c = "[a-zA-Z_\\$][a-zA-Z_0-9]*",
  9460.                                 u = ":function\\(a\\)\\{(?:return )?a\\.reverse\\(\\)\\}",
  9461.                                 d = ":function\\(a,b\\)\\{return a\\.slice\\(b\\)\\}",
  9462.                                 h = ":function\\(a,b\\)\\{a\\.splice\\(0,b\\)\\}",
  9463.                                 p = ":function\\(a,b\\)\\{var c=a\\[0\\];a\\[0\\]=a\\[b(?:%a\\.length)?\\];a\\[b(?:%a\\.length)?\\]=c(?:;return a)?\\}",
  9464.                                 f = new RegExp("var (" + c + ")=\\{((?:(?:" + c + u + "|" + c + d + "|" + c + h + "|" + c + p + "),?\\n?)+)\\};"),
  9465.                                 m = new RegExp("function(?: " + c + ')?\\(a\\)\\{a=a\\.split\\(""\\);\\s*((?:(?:a=)?' + c + "\\." + c + '\\(a,\\d+\\);)+)return a\\.join\\(""\\)\\}'),
  9466.                                 g = new RegExp("(?:^|,)(" + c + ")" + u, "m"),
  9467.                                 v = new RegExp("(?:^|,)(" + c + ")" + d, "m"),
  9468.                                 y = new RegExp("(?:^|,)(" + c + ")" + h, "m"),
  9469.                                 b = new RegExp("(?:^|,)(" + c + ")" + p, "m");
  9470.                                 t.extractActions = function (e) {
  9471.                                     var t = f.exec(e),
  9472.                                     n = m.exec(e);
  9473.                                     if (!t || !n)
  9474.                                         return null;
  9475.                                     var i = t[1].replace(/\$/g, "\\$"),
  9476.                                     r = t[2].replace(/\$/g, "\\$"),
  9477.                                     o = n[1].replace(/\$/g, "\\$"),
  9478.                                     a = g.exec(r),
  9479.                                     s = a && a[1].replace(/\$/g, "\\$");
  9480.                                     a = v.exec(r);
  9481.                                     var l = a && a[1].replace(/\$/g, "\\$");
  9482.                                     a = y.exec(r);
  9483.                                     var c = a && a[1].replace(/\$/g, "\\$");
  9484.                                     a = b.exec(r);
  9485.                                     for (var u = a && a[1].replace(/\$/g, "\\$"), d = "(?:a=)?" + i + "\\.(" + [s, l, c, u].join("|") + ")\\(a,(\\d+)\\)", h = new RegExp(d, "g"), p = []; null !== (a = h.exec(o)); )
  9486.                                         switch (a[1]) {
  9487.                                         case u:
  9488.                                             p.push("w" + a[2]);
  9489.                                             break;
  9490.                                         case s:
  9491.                                             p.push("r");
  9492.                                             break;
  9493.                                         case l:
  9494.                                             p.push("s" + a[2]);
  9495.                                             break;
  9496.                                         case c:
  9497.                                             p.push("p" + a[2])
  9498.                                         }
  9499.                                     return p
  9500.                                 },
  9501.                                 t.setDownloadURL = function (e, t, n) {
  9502.                                     var i;
  9503.                                     if (e.url) {
  9504.                                         i = e.url;
  9505.                                         try {
  9506.                                             i = decodeURIComponent(i)
  9507.                                         } catch (r) {
  9508.                                             return
  9509.                                         }
  9510.                                         var o = a.parse(i, !0);
  9511.                                         delete o.search;
  9512.                                         var s = o.query;
  9513.                                         t && (s.signature = t),
  9514.                                         e.url = a.format(o)
  9515.                                     }
  9516.                                 },
  9517.                                 t.decipherFormats = function (e, n, i) {
  9518.                                     e.forEach(function (e) {
  9519.                                         var r = n && e.s ? t.decipher(n, e.s) : null;
  9520.                                         t.setDownloadURL(e, r, i)
  9521.                                     })
  9522.                                 }
  9523.                             }).call(t, "/")
  9524.                         }, function (e, t, n) {
  9525.                             "use strict";
  9526.                             var i = {};
  9527.                             e.exports = {
  9528.                                 writeFileSync: function (e, t) {
  9529.                                     i[e] = t
  9530.                                 },
  9531.                                 readFileSync: function (e) {
  9532.                                     return i[e]
  9533.                                 }
  9534.                             }
  9535.                         }, function (e, t) {
  9536.                             e.exports = {
  9537.                                 "en_US-vfl0Cbn9e": ["w15", "w44", "r", "w24", "s3", "r", "w2", "w50"],
  9538.                                 "en_US-vfl5aDZwb": ["w15", "w44", "r", "w24", "s3", "r", "w2", "w50"],
  9539.                                 "en_US-vflqZIm5b": ["w1", "w32", "s1", "r", "s3", "r", "s3", "r"],
  9540.                                 "en_US-vfl9FYC6l": ["w28", "r", "p1", "w26", "w40", "r", "p1"],
  9541.                                 "en_US-vflbHLA_P": ["r", "w20", "r", "w20", "p2", "r"],
  9542.                                 "en_US-vflvmwLwg": ["p2", "w44", "r", "p3", "w17", "p1"],
  9543.                                 "en_US-vfljDEtYP": ["r", "p1", "w32", "p3", "r"],
  9544.                                 "id_ID-vflA4yxG-": ["r", "p1", "w32", "p3", "r"],
  9545.                                 "en_US-vflUpjAy9": ["w26", "p3", "r", "p3", "r", "p3", "w61", "p3", "r"]
  9546.                             }
  9547.                         }, function (e, t, n) {
  9548.                             "use strict";
  9549.                             (function (t) {
  9550.                                 function n() {
  9551.                                     this.events = {}
  9552.                                 }
  9553.                                 n.prototype = {
  9554.                                     addListener: function (e, t) {
  9555.                                         this.events[e] = this.events[e] || [],
  9556.                                         this.events[e].push(t)
  9557.                                     },
  9558.                                     once: function (e, n) {
  9559.                                         var i = this;
  9560.                                         if (DEVELOP) {
  9561.                                             if (2 !== arguments.length)
  9562.                                                 throw new Error(t + ": wrong arguments number");
  9563.                                             if ("string" != typeof e || 0 === e.length)
  9564.                                                 throw new Error(t + ": wrong or empty name");
  9565.                                             if ("function" != typeof n)
  9566.                                                 throw new Error(t + ": wrong callback type")
  9567.                                         }
  9568.                                         this.events[e] = this.events[e] || [],
  9569.                                         this.events[e].push(function r() {
  9570.                                             n.apply(i, arguments),
  9571.                                             i.removeListener(e, r)
  9572.                                         })
  9573.                                     },
  9574.                                     addListeners: function (e) {
  9575.                                         var n;
  9576.                                         if (DEVELOP) {
  9577.                                             if (1 !== arguments.length)
  9578.                                                 throw new Error(t + ": wrong arguments number");
  9579.                                             if ("object" != typeof e)
  9580.                                                 throw new Error(t + ": wrong callbacks type");
  9581.                                             if (0 === Object.keys(e).length)
  9582.                                                 throw new Error(t + ": no callbacks given")
  9583.                                         }
  9584.                                         for (n in e)
  9585.                                             e.hasOwnProperty(n) && this.addListener(n, e[n])
  9586.                                     },
  9587.                                     removeListener: function (e, n) {
  9588.                                         if (DEVELOP) {
  9589.                                             if (2 !== arguments.length)
  9590.                                                 throw new Error(t + ": wrong arguments number");
  9591.                                             if ("string" != typeof e || 0 === e.length)
  9592.                                                 throw new Error(t + ": wrong or empty name");
  9593.                                             if ("function" != typeof n)
  9594.                                                 throw new Error(t + ": wrong callback type");
  9595.                                             if (this.events[e] && !Array.isArray(this.events[e]))
  9596.                                                 throw new Error(t + ": corrupted inner data")
  9597.                                         }
  9598.                                         this.events[e] && (this.events[e] = this.events[e].filter(function (e) {
  9599.                                                     return e !== n
  9600.                                                 }), 0 === this.events[e].length && (this.events[e] = void 0))
  9601.                                     },
  9602.                                     emit: function (e) {
  9603.                                         var n,
  9604.                                         i = this.events[e];
  9605.                                         if (DEVELOP) {
  9606.                                             if (arguments.length < 1)
  9607.                                                 throw new Error(t + ": wrong arguments number");
  9608.                                             if ("string" != typeof e || 0 === e.length)
  9609.                                                 throw new Error(t + ": wrong or empty name")
  9610.                                         }
  9611.                                         if (i) {
  9612.                                             if (DEVELOP && !Array.isArray(i))
  9613.                                                 throw new Error(t + ": wrong event type");
  9614.                                             for (n = 0; n < i.length; n++) {
  9615.                                                 if (DEVELOP && "function" != typeof i[n])
  9616.                                                     throw new Error(t + ": wrong event callback type");
  9617.                                                 i[n].apply(this, Array.prototype.slice.call(arguments, 1))
  9618.                                             }
  9619.                                         }
  9620.                                     }
  9621.                                 },
  9622.                                 n.prototype.constructor = n,
  9623.                                 e.exports = n
  9624.                             }).call(t, "/index.js")
  9625.                         }, function (e, t, n) {
  9626.                             "use strict";
  9627.                             function i(e) {
  9628.                                 var t = e.length;
  9629.                                 if (t % 4 > 0)
  9630.                                     throw new Error("Invalid string. Length must be a multiple of 4");
  9631.                                 return "=" === e[t - 2] ? 2 : "=" === e[t - 1] ? 1 : 0
  9632.                             }
  9633.                             function r(e) {
  9634.                                 return 3 * e.length / 4 - i(e)
  9635.                             }
  9636.                             function o(e) {
  9637.                                 var t,
  9638.                                 n,
  9639.                                 r,
  9640.                                 o,
  9641.                                 a,
  9642.                                 s,
  9643.                                 l = e.length;
  9644.                                 a = i(e),
  9645.                                 s = new d(3 * l / 4 - a),
  9646.                                 r = a > 0 ? l - 4 : l;
  9647.                                 var c = 0;
  9648.                                 for (t = 0, n = 0; r > t; t += 4, n += 3)
  9649.                                     o = u[e.charCodeAt(t)] << 18 | u[e.charCodeAt(t + 1)] << 12 | u[e.charCodeAt(t + 2)] << 6 | u[e.charCodeAt(t + 3)], s[c++] = o >> 16 & 255, s[c++] = o >> 8 & 255, s[c++] = 255 & o;
  9650.                                 return 2 === a ? (o = u[e.charCodeAt(t)] << 2 | u[e.charCodeAt(t + 1)] >> 4, s[c++] = 255 & o) : 1 === a && (o = u[e.charCodeAt(t)] << 10 | u[e.charCodeAt(t + 1)] << 4 | u[e.charCodeAt(t + 2)] >> 2, s[c++] = o >> 8 & 255, s[c++] = 255 & o),
  9651.                                 s
  9652.                             }
  9653.                             function a(e) {
  9654.                                 return c[e >> 18 & 63] + c[e >> 12 & 63] + c[e >> 6 & 63] + c[63 & e]
  9655.                             }
  9656.                             function s(e, t, n) {
  9657.                                 for (var i, r = [], o = t; n > o; o += 3)
  9658.                                     i = (e[o] << 16) + (e[o + 1] << 8) + e[o + 2], r.push(a(i));
  9659.                                 return r.join("")
  9660.                             }
  9661.                             function l(e) {
  9662.                                 for (var t, n = e.length, i = n % 3, r = "", o = [], a = 16383, l = 0, u = n - i; u > l; l += a)
  9663.                                     o.push(s(e, l, l + a > u ? u : l + a));
  9664.                                 return 1 === i ? (t = e[n - 1], r += c[t >> 2], r += c[t << 4 & 63], r += "==") : 2 === i && (t = (e[n - 2] << 8) + e[n - 1], r += c[t >> 10], r += c[t >> 4 & 63], r += c[t << 2 & 63], r += "="),
  9665.                                 o.push(r),
  9666.                                 o.join("")
  9667.                             }
  9668.                             t.byteLength = r,
  9669.                             t.toByteArray = o,
  9670.                             t.fromByteArray = l;
  9671.                             for (var c = [], u = [], d = "undefined" != typeof Uint8Array ? Uint8Array : Array, h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", p = 0, f = h.length; f > p; ++p)
  9672.                                 c[p] = h[p], u[h.charCodeAt(p)] = p;
  9673.                             u["-".charCodeAt(0)] = 62,
  9674.                             u["_".charCodeAt(0)] = 63
  9675.                         }, function (e, t) {
  9676.                             t.read = function (e, t, n, i, r) {
  9677.                                 var o,
  9678.                                 a,
  9679.                                 s = 8 * r - i - 1,
  9680.                                 l = (1 << s) - 1,
  9681.                                 c = l >> 1,
  9682.                                 u = -7,
  9683.                                 d = n ? r - 1 : 0,
  9684.                                 h = n ? -1 : 1,
  9685.                                 p = e[t + d];
  9686.                                 for (d += h, o = p & (1 << -u) - 1, p >>= -u, u += s; u > 0; o = 256 * o + e[t + d], d += h, u -= 8);
  9687.                                 for (a = o & (1 << -u) - 1, o >>= -u, u += i; u > 0; a = 256 * a + e[t + d], d += h, u -= 8);
  9688.                                 if (0 === o)
  9689.                                     o = 1 - c;
  9690.                                 else {
  9691.                                     if (o === l)
  9692.                                         return a ? NaN : (p ? -1 : 1) * (1 / 0);
  9693.                                     a += Math.pow(2, i),
  9694.                                     o -= c
  9695.                                 }
  9696.                                 return (p ? -1 : 1) * a * Math.pow(2, o - i)
  9697.                             },
  9698.                             t.write = function (e, t, n, i, r, o) {
  9699.                                 var a,
  9700.                                 s,
  9701.                                 l,
  9702.                                 c = 8 * o - r - 1,
  9703.                                 u = (1 << c) - 1,
  9704.                                 d = u >> 1,
  9705.                                 h = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
  9706.                                 p = i ? 0 : o - 1,
  9707.                                 f = i ? 1 : -1,
  9708.                                 m = 0 > t || 0 === t && 0 > 1 / t ? 1 : 0;
  9709.                                 for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = u) : (a = Math.floor(Math.log(t) / Math.LN2), t * (l = Math.pow(2, -a)) < 1 && (a--, l *= 2), t += a + d >= 1 ? h / l : h * Math.pow(2, 1 - d), t * l >= 2 && (a++, l /= 2), a + d >= u ? (s = 0, a = u) : a + d >= 1 ? (s = (t * l - 1) * Math.pow(2, r), a += d) : (s = t * Math.pow(2, d - 1) * Math.pow(2, r), a = 0)); r >= 8; e[n + p] = 255 & s, p += f, s /= 256, r -= 8);
  9710.                                 for (a = a << r | s, c += r; c > 0; e[n + p] = 255 & a, p += f, a /= 256, c -= 8);
  9711.                                 e[n + p - f] |= 128 * m
  9712.                             }
  9713.                         }, function (e, t, n) {
  9714.                             (function (e) {
  9715.                                 function n(e, t) {
  9716.                                     for (var n = 0, i = e.length - 1; i >= 0; i--) {
  9717.                                         var r = e[i];
  9718.                                         "." === r ? e.splice(i, 1) : ".." === r ? (e.splice(i, 1), n++) : n && (e.splice(i, 1), n--)
  9719.                                     }
  9720.                                     if (t)
  9721.                                         for (; n--; n)
  9722.                                             e.unshift("..");
  9723.                                     return e
  9724.                                 }
  9725.                                 function i(e, t) {
  9726.                                     if (e.filter)
  9727.                                         return e.filter(t);
  9728.                                     for (var n = [], i = 0; i < e.length; i++)
  9729.                                         t(e[i], i, e) && n.push(e[i]);
  9730.                                     return n
  9731.                                 }
  9732.                                 var r = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,
  9733.                                 o = function (e) {
  9734.                                     return r.exec(e).slice(1)
  9735.                                 };
  9736.                                 t.resolve = function () {
  9737.                                     for (var t = "", r = !1, o = arguments.length - 1; o >= -1 && !r; o--) {
  9738.                                         var a = o >= 0 ? arguments[o] : e.cwd();
  9739.                                         if ("string" != typeof a)
  9740.                                             throw new TypeError("Arguments to path.resolve must be strings");
  9741.                                         a && (t = a + "/" + t, r = "/" === a.charAt(0))
  9742.                                     }
  9743.                                     return t = n(i(t.split("/"), function (e) {
  9744.                                                 return !!e
  9745.                                             }), !r).join("/"),
  9746.                                     (r ? "/" : "") + t || "."
  9747.                                 },
  9748.                                 t.normalize = function (e) {
  9749.                                     var r = t.isAbsolute(e),
  9750.                                     o = "/" === a(e, -1);
  9751.                                     return e = n(i(e.split("/"), function (e) {
  9752.                                                 return !!e
  9753.                                             }), !r).join("/"),
  9754.                                     e || r || (e = "."),
  9755.                                     e && o && (e += "/"),
  9756.                                     (r ? "/" : "") + e
  9757.                                 },
  9758.                                 t.isAbsolute = function (e) {
  9759.                                     return "/" === e.charAt(0)
  9760.                                 },
  9761.                                 t.join = function () {
  9762.                                     var e = Array.prototype.slice.call(arguments, 0);
  9763.                                     return t.normalize(i(e, function (e, t) {
  9764.                                             if ("string" != typeof e)
  9765.                                                 throw new TypeError("Arguments to path.join must be strings");
  9766.                                             return e
  9767.                                         }).join("/"))
  9768.                                 },
  9769.                                 t.relative = function (e, n) {
  9770.                                     function i(e) {
  9771.                                         for (var t = 0; t < e.length && "" === e[t]; t++);
  9772.                                         for (var n = e.length - 1; n >= 0 && "" === e[n]; n--);
  9773.                                         return t > n ? [] : e.slice(t, n - t + 1)
  9774.                                     }
  9775.                                     e = t.resolve(e).substr(1),
  9776.                                     n = t.resolve(n).substr(1);
  9777.                                     for (var r = i(e.split("/")), o = i(n.split("/")), a = Math.min(r.length, o.length), s = a, l = 0; a > l; l++)
  9778.                                         if (r[l] !== o[l]) {
  9779.                                             s = l;
  9780.                                             break
  9781.                                         }
  9782.                                     for (var c = [], l = s; l < r.length; l++)
  9783.                                         c.push("..");
  9784.                                     return c = c.concat(o.slice(s)),
  9785.                                     c.join("/")
  9786.                                 },
  9787.                                 t.sep = "/",
  9788.                                 t.delimiter = ":",
  9789.                                 t.dirname = function (e) {
  9790.                                     var t = o(e),
  9791.                                     n = t[0],
  9792.                                     i = t[1];
  9793.                                     return n || i ? (i && (i = i.substr(0, i.length - 1)), n + i) : "."
  9794.                                 },
  9795.                                 t.basename = function (e, t) {
  9796.                                     var n = o(e)[2];
  9797.                                     return t && n.substr(-1 * t.length) === t && (n = n.substr(0, n.length - t.length)),
  9798.                                     n
  9799.                                 },
  9800.                                 t.extname = function (e) {
  9801.                                     return o(e)[3]
  9802.                                 };
  9803.                                 var a = "b" === "ab".substr(-1) ? function (e, t, n) {
  9804.                                     return e.substr(t, n)
  9805.                                 }
  9806.                                  : function (e, t, n) {
  9807.                                     return 0 > t && (t = e.length + t),
  9808.                                     e.substr(t, n)
  9809.                                 }
  9810.                             }).call(t, n(4))
  9811.                         }, function (e, t, n) {
  9812.                             (function (e, i) {
  9813.                                 var r;
  9814.                                 !function (o) {
  9815.                                     function a(e) {
  9816.                                         throw new RangeError(L[e])
  9817.                                     }
  9818.                                     function s(e, t) {
  9819.                                         for (var n = e.length, i = []; n--; )
  9820.                                             i[n] = t(e[n]);
  9821.                                         return i
  9822.                                     }
  9823.                                     function l(e, t) {
  9824.                                         var n = e.split("@"),
  9825.                                         i = "";
  9826.                                         n.length > 1 && (i = n[0] + "@", e = n[1]),
  9827.                                         e = e.replace(O, ".");
  9828.                                         var r = e.split("."),
  9829.                                         o = s(r, t).join(".");
  9830.                                         return i + o
  9831.                                     }
  9832.                                     function c(e) {
  9833.                                         for (var t, n, i = [], r = 0, o = e.length; o > r; )
  9834.                                             t = e.charCodeAt(r++), t >= 55296 && 56319 >= t && o > r ? (n = e.charCodeAt(r++), 56320 == (64512 & n) ? i.push(((1023 & t) << 10) + (1023 & n) + 65536) : (i.push(t), r--)) : i.push(t);
  9835.                                         return i
  9836.                                     }
  9837.                                     function u(e) {
  9838.                                         return s(e, function (e) {
  9839.                                             var t = "";
  9840.                                             return e > 65535 && (e -= 65536, t += B(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e),
  9841.                                             t += B(e)
  9842.                                         }).join("")
  9843.                                     }
  9844.                                     function d(e) {
  9845.                                         return 10 > e - 48 ? e - 22 : 26 > e - 65 ? e - 65 : 26 > e - 97 ? e - 97 : T
  9846.                                     }
  9847.                                     function h(e, t) {
  9848.                                         return e + 22 + 75 * (26 > e) - ((0 != t) << 5)
  9849.                                     }
  9850.                                     function p(e, t, n) {
  9851.                                         var i = 0;
  9852.                                         for (e = n ? D(e / S) : e >> 1, e += D(e / t); e > $ * x >> 1; i += T)
  9853.                                             e = D(e / $);
  9854.                                         return D(i + ($ + 1) * e / (e + I))
  9855.                                     }
  9856.                                     function f(e) {
  9857.                                         var t,
  9858.                                         n,
  9859.                                         i,
  9860.                                         r,
  9861.                                         o,
  9862.                                         s,
  9863.                                         l,
  9864.                                         c,
  9865.                                         h,
  9866.                                         f,
  9867.                                         m = [],
  9868.                                         g = e.length,
  9869.                                         v = 0,
  9870.                                         y = C,
  9871.                                         b = N;
  9872.                                         for (n = e.lastIndexOf(A), 0 > n && (n = 0), i = 0; n > i; ++i)
  9873.                                             e.charCodeAt(i) >= 128 && a("not-basic"), m.push(e.charCodeAt(i));
  9874.                                         for (r = n > 0 ? n + 1 : 0; g > r; ) {
  9875.                                             for (o = v, s = 1, l = T; r >= g && a("invalid-input"), c = d(e.charCodeAt(r++)), (c >= T || c > D((w - v) / s)) && a("overflow"), v += c * s, h = b >= l ? E : l >= b + x ? x : l - b, !(h > c); l += T)
  9876.                                                 f = T - h, s > D(w / f) && a("overflow"), s *= f;
  9877.                                             t = m.length + 1,
  9878.                                             b = p(v - o, t, 0 == o),
  9879.                                             D(v / t) > w - y && a("overflow"),
  9880.                                             y += D(v / t),
  9881.                                             v %= t,
  9882.                                             m.splice(v++, 0, y)
  9883.                                         }
  9884.                                         return u(m)
  9885.                                     }
  9886.                                     function m(e) {
  9887.                                         var t,
  9888.                                         n,
  9889.                                         i,
  9890.                                         r,
  9891.                                         o,
  9892.                                         s,
  9893.                                         l,
  9894.                                         u,
  9895.                                         d,
  9896.                                         f,
  9897.                                         m,
  9898.                                         g,
  9899.                                         v,
  9900.                                         y,
  9901.                                         b,
  9902.                                         I = [];
  9903.                                         for (e = c(e), g = e.length, t = C, n = 0, o = N, s = 0; g > s; ++s)
  9904.                                             m = e[s], 128 > m && I.push(B(m));
  9905.                                         for (i = r = I.length, r && I.push(A); g > i; ) {
  9906.                                             for (l = w, s = 0; g > s; ++s)
  9907.                                                 m = e[s], m >= t && l > m && (l = m);
  9908.                                             for (v = i + 1, l - t > D((w - n) / v) && a("overflow"), n += (l - t) * v, t = l, s = 0; g > s; ++s)
  9909.                                                 if (m = e[s], t > m && ++n > w && a("overflow"), m == t) {
  9910.                                                     for (u = n, d = T; f = o >= d ? E : d >= o + x ? x : d - o, !(f > u); d += T)
  9911.                                                         b = u - f, y = T - f, I.push(B(h(f + b % y, 0))), u = D(b / y);
  9912.                                                     I.push(B(h(u, 0))),
  9913.                                                     o = p(n, v, i == r),
  9914.                                                     n = 0,
  9915.                                                     ++i
  9916.                                                 }
  9917.                                             ++n,
  9918.                                             ++t
  9919.                                         }
  9920.                                         return I.join("")
  9921.                                     }
  9922.                                     function g(e) {
  9923.                                         return l(e, function (e) {
  9924.                                             return _.test(e) ? f(e.slice(4).toLowerCase()) : e
  9925.                                         })
  9926.                                     }
  9927.                                     function v(e) {
  9928.                                         return l(e, function (e) {
  9929.                                             return k.test(e) ? "xn--" + m(e) : e
  9930.                                         })
  9931.                                     }
  9932.                                     var y = ("object" == typeof t && t && !t.nodeType && t, "object" == typeof e && e && !e.nodeType && e, "object" == typeof i && i);
  9933.                                     y.global !== y && y.window !== y && y.self !== y || (o = y);
  9934.                                     var b,
  9935.                                     w = 2147483647,
  9936.                                     T = 36,
  9937.                                     E = 1,
  9938.                                     x = 26,
  9939.                                     I = 38,
  9940.                                     S = 700,
  9941.                                     N = 72,
  9942.                                     C = 128,
  9943.                                     A = "-",
  9944.                                     _ = /^xn--/,
  9945.                                     k = /[^\x20-\x7E]/,
  9946.                                     O = /[\x2E\u3002\uFF0E\uFF61]/g,
  9947.                                     L = {
  9948.                                         overflow: "Overflow: input needs wider integers to process",
  9949.                                         "not-basic": "Illegal input >= 0x80 (not a basic code point)",
  9950.                                         "invalid-input": "Invalid input"
  9951.                                     },
  9952.                                     $ = T - E,
  9953.                                     D = Math.floor,
  9954.                                     B = String.fromCharCode;
  9955.                                     b = {
  9956.                                         version: "1.4.1",
  9957.                                         ucs2: {
  9958.                                             decode: c,
  9959.                                             encode: u
  9960.                                         },
  9961.                                         decode: f,
  9962.                                         encode: m,
  9963.                                         toASCII: v,
  9964.                                         toUnicode: g
  9965.                                     },
  9966.                                     r = function () {
  9967.                                         return b
  9968.                                     }
  9969.                                     .call(t, n, t, e),
  9970.                                     !(void 0 !== r && (e.exports = r))
  9971.                                 }
  9972.                                 (this)
  9973.                             }).call(t, n(20)(e), n(2))
  9974.                         }, function (e, t, n) {
  9975.                             "use strict";
  9976.                             function i(e, t) {
  9977.                                 return Object.prototype.hasOwnProperty.call(e, t)
  9978.                             }
  9979.                             e.exports = function (e, t, n, o) {
  9980.                                 t = t || "&",
  9981.                                 n = n || "=";
  9982.                                 var a = {};
  9983.                                 if ("string" != typeof e || 0 === e.length)
  9984.                                     return a;
  9985.                                 var s = /\+/g;
  9986.                                 e = e.split(t);
  9987.                                 var l = 1e3;
  9988.                                 o && "number" == typeof o.maxKeys && (l = o.maxKeys);
  9989.                                 var c = e.length;
  9990.                                 l > 0 && c > l && (c = l);
  9991.                                 for (var u = 0; c > u; ++u) {
  9992.                                     var d,
  9993.                                     h,
  9994.                                     p,
  9995.                                     f,
  9996.                                     m = e[u].replace(s, "%20"),
  9997.                                     g = m.indexOf(n);
  9998.                                     g >= 0 ? (d = m.substr(0, g), h = m.substr(g + 1)) : (d = m, h = ""),
  9999.                                     p = decodeURIComponent(d),
  10000.                                     f = decodeURIComponent(h),
  10001.                                     i(a, p) ? r(a[p]) ? a[p].push(f) : a[p] = [a[p], f] : a[p] = f
  10002.                                 }
  10003.                                 return a
  10004.                             };
  10005.                             var r = Array.isArray || function (e) {
  10006.                                 return "[object Array]" === Object.prototype.toString.call(e)
  10007.                             }
  10008.                         }, function (e, t, n) {
  10009.                             "use strict";
  10010.                             function i(e, t) {
  10011.                                 if (e.map)
  10012.                                     return e.map(t);
  10013.                                 for (var n = [], i = 0; i < e.length; i++)
  10014.                                     n.push(t(e[i], i));
  10015.                                 return n
  10016.                             }
  10017.                             var r = function (e) {
  10018.                                 switch (typeof e) {
  10019.                                 case "string":
  10020.                                     return e;
  10021.                                 case "boolean":
  10022.                                     return e ? "true" : "false";
  10023.                                 case "number":
  10024.                                     return isFinite(e) ? e : "";
  10025.                                 default:
  10026.                                     return ""
  10027.                                 }
  10028.                             };
  10029.                             e.exports = function (e, t, n, s) {
  10030.                                 return t = t || "&",
  10031.                                 n = n || "=",
  10032.                                 null === e && (e = void 0),
  10033.                                 "object" == typeof e ? i(a(e), function (a) {
  10034.                                     var s = encodeURIComponent(r(a)) + n;
  10035.                                     return o(e[a]) ? i(e[a], function (e) {
  10036.                                         return s + encodeURIComponent(r(e))
  10037.                                     }).join(t) : s + encodeURIComponent(r(e[a]))
  10038.                                 }).join(t) : s ? encodeURIComponent(r(s)) + n + encodeURIComponent(r(e)) : ""
  10039.                             };
  10040.                             var o = Array.isArray || function (e) {
  10041.                                 return "[object Array]" === Object.prototype.toString.call(e)
  10042.                             },
  10043.                             a = Object.keys || function (e) {
  10044.                                 var t = [];
  10045.                                 for (var n in e)
  10046.                                     Object.prototype.hasOwnProperty.call(e, n) && t.push(n);
  10047.                                 return t
  10048.                             }
  10049.                         }, function (e, t, n) {
  10050.                             e.exports = n(1)
  10051.                         }, function (e, t, n) {
  10052.                             "use strict";
  10053.                             function i() {
  10054.                                 this.head = null,
  10055.                                 this.tail = null,
  10056.                                 this.length = 0
  10057.                             }
  10058.                             var r = (n(0).Buffer, n(11));
  10059.                             e.exports = i,
  10060.                             i.prototype.push = function (e) {
  10061.                                 var t = {
  10062.                                     data: e,
  10063.                                     next: null
  10064.                                 };
  10065.                                 this.length > 0 ? this.tail.next = t : this.head = t,
  10066.                                 this.tail = t,
  10067.                                 ++this.length
  10068.                             },
  10069.                             i.prototype.unshift = function (e) {
  10070.                                 var t = {
  10071.                                     data: e,
  10072.                                     next: this.head
  10073.                                 };
  10074.                                 0 === this.length && (this.tail = t),
  10075.                                 this.head = t,
  10076.                                 ++this.length
  10077.                             },
  10078.                             i.prototype.shift = function () {
  10079.                                 if (0 !== this.length) {
  10080.                                     var e = this.head.data;
  10081.                                     return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next,
  10082.                                     --this.length,
  10083.                                     e
  10084.                                 }
  10085.                             },
  10086.                             i.prototype.clear = function () {
  10087.                                 this.head = this.tail = null,
  10088.                                 this.length = 0
  10089.                             },
  10090.                             i.prototype.join = function (e) {
  10091.                                 if (0 === this.length)
  10092.                                     return "";
  10093.                                 for (var t = this.head, n = "" + t.data; t = t.next; )
  10094.                                     n += e + t.data;
  10095.                                 return n
  10096.                             },
  10097.                             i.prototype.concat = function (e) {
  10098.                                 if (0 === this.length)
  10099.                                     return r.alloc(0);
  10100.                                 if (1 === this.length)
  10101.                                     return this.head.data;
  10102.                                 for (var t = r.allocUnsafe(e >>> 0), n = this.head, i = 0; n; )
  10103.                                     n.data.copy(t, i), i += n.data.length, n = n.next;
  10104.                                 return t
  10105.                             }
  10106.                         }, function (e, t, n) {
  10107.                             e.exports = n(22)
  10108.                         }, function (e, t, n) {
  10109.                             (function (i) {
  10110.                                 var r = function () {
  10111.                                     try {
  10112.                                         return n(6)
  10113.                                     } catch (e) {}
  10114.                                 }
  10115.                                 ();
  10116.                                 t = e.exports = n(23),
  10117.                                 t.Stream = r || t,
  10118.                                 t.Readable = t,
  10119.                                 t.Writable = n(15),
  10120.                                 t.Duplex = n(1),
  10121.                                 t.Transform = n(14),
  10122.                                 t.PassThrough = n(22),
  10123.                                 !i.browser && "disable" === i.env.READABLE_STREAM && r && (e.exports = r)
  10124.                             }).call(t, n(4))
  10125.                         }, function (e, t, n) {
  10126.                             e.exports = n(14)
  10127.                         }, function (e, t, n) {
  10128.                             e.exports = n(15)
  10129.                         }, function (e, t, n) {
  10130.                             (function (e, t) {
  10131.                                 !function (e, n) {
  10132.                                     "use strict";
  10133.                                     function i(e) {
  10134.                                         "function" != typeof e && (e = new Function("" + e));
  10135.                                         for (var t = new Array(arguments.length - 1), n = 0; n < t.length; n++)
  10136.                                             t[n] = arguments[n + 1];
  10137.                                         var i = {
  10138.                                             callback: e,
  10139.                                             args: t
  10140.                                         };
  10141.                                         return m[f] = i,
  10142.                                         p(f),
  10143.                                         f++
  10144.                                     }
  10145.                                     function r(e) {
  10146.                                         delete m[e]
  10147.                                     }
  10148.                                     function o(e) {
  10149.                                         var t = e.callback,
  10150.                                         i = e.args;
  10151.                                         switch (i.length) {
  10152.                                         case 0:
  10153.                                             t();
  10154.                                             break;
  10155.                                         case 1:
  10156.                                             t(i[0]);
  10157.                                             break;
  10158.                                         case 2:
  10159.                                             t(i[0], i[1]);
  10160.                                             break;
  10161.                                         case 3:
  10162.                                             t(i[0], i[1], i[2]);
  10163.                                             break;
  10164.                                         default:
  10165.                                             t.apply(n, i)
  10166.                                         }
  10167.                                     }
  10168.                                     function a(e) {
  10169.                                         if (g)
  10170.                                             setTimeout(a, 0, e);
  10171.                                         else {
  10172.                                             var t = m[e];
  10173.                                             if (t) {
  10174.                                                 g = !0;
  10175.                                                 try {
  10176.                                                     o(t)
  10177.                                                 }
  10178.                                                 finally {
  10179.                                                     r(e),
  10180.                                                     g = !1
  10181.                                                 }
  10182.                                             }
  10183.                                         }
  10184.                                     }
  10185.                                     function s() {
  10186.                                         p = function (e) {
  10187.                                             t.nextTick(function () {
  10188.                                                 a(e)
  10189.                                             })
  10190.                                         }
  10191.                                     }
  10192.                                     function l() {
  10193.                                         if (e.postMessage && !e.importScripts) {
  10194.                                             var t = !0,
  10195.                                             n = e.onmessage;
  10196.                                             return e.onmessage = function () {
  10197.                                                 t = !1
  10198.                                             },
  10199.                                             e.postMessage("", "*"),
  10200.                                             e.onmessage = n,
  10201.                                             t
  10202.                                         }
  10203.                                     }
  10204.                                     function c() {
  10205.                                         var t = "setImmediate$" + Math.random() + "$",
  10206.                                         n = function (n) {
  10207.                                             n.source === e && "string" == typeof n.data && 0 === n.data.indexOf(t) && a(+n.data.slice(t.length))
  10208.                                         };
  10209.                                         e.addEventListener ? e.addEventListener("message", n, !1) : e.attachEvent("onmessage", n),
  10210.                                         p = function (n) {
  10211.                                             e.postMessage(t + n, "*")
  10212.                                         }
  10213.                                     }
  10214.                                     function u() {
  10215.                                         var e = new MessageChannel;
  10216.                                         e.port1.onmessage = function (e) {
  10217.                                             var t = e.data;
  10218.                                             a(t)
  10219.                                         },
  10220.                                         p = function (t) {
  10221.                                             e.port2.postMessage(t)
  10222.                                         }
  10223.                                     }
  10224.                                     function d() {
  10225.                                         var e = v.documentElement;
  10226.                                         p = function (t) {
  10227.                                             var n = v.createElement("script");
  10228.                                             n.onreadystatechange = function () {
  10229.                                                 a(t),
  10230.                                                 n.onreadystatechange = null,
  10231.                                                 e.removeChild(n),
  10232.                                                 n = null
  10233.                                             },
  10234.                                             e.appendChild(n)
  10235.                                         }
  10236.                                     }
  10237.                                     function h() {
  10238.                                         p = function (e) {
  10239.                                             setTimeout(a, 0, e)
  10240.                                         }
  10241.                                     }
  10242.                                     if (!e.setImmediate) {
  10243.                                         var p,
  10244.                                         f = 1,
  10245.                                         m = {},
  10246.                                         g = !1,
  10247.                                         v = e.document,
  10248.                                         y = Object.getPrototypeOf && Object.getPrototypeOf(e);
  10249.                                         y = y && y.setTimeout ? y : e,
  10250.                                         "[object process]" === {}
  10251.                                         .toString.call(e.process) ? s() : l() ? c() : e.MessageChannel ? u() : v && "onreadystatechange" in v.createElement("script") ? d() : h(),
  10252.                                         y.setImmediate = i,
  10253.                                         y.clearImmediate = r
  10254.                                     }
  10255.                                 }
  10256.                                 ("undefined" == typeof self ? "undefined" == typeof e ? this : e : self)
  10257.                             }).call(t, n(2), n(4))
  10258.                         }, function (e, t, n) {
  10259.                             "use strict";
  10260.                             e.exports = {
  10261.                                 isString: function (e) {
  10262.                                     return "string" == typeof e
  10263.                                 },
  10264.                                 isObject: function (e) {
  10265.                                     return "object" == typeof e && null !== e
  10266.                                 },
  10267.                                 isNull: function (e) {
  10268.                                     return null === e
  10269.                                 },
  10270.                                 isNullOrUndefined: function (e) {
  10271.                                     return null == e
  10272.                                 }
  10273.                             }
  10274.                         }, function (e, t, n) {
  10275.                             (function (t) {
  10276.                                 function n(e, t) {
  10277.                                     function n() {
  10278.                                         if (!r) {
  10279.                                             if (i("throwDeprecation"))
  10280.                                                 throw new Error(t);
  10281.                                             i("traceDeprecation"),
  10282.                                             r = !0
  10283.                                         }
  10284.                                         return e.apply(this, arguments)
  10285.                                     }
  10286.                                     if (i("noDeprecation"))
  10287.                                         return e;
  10288.                                     var r = !1;
  10289.                                     return n
  10290.                                 }
  10291.                                 function i(e) {
  10292.                                     try {
  10293.                                         if (!t.localStorage)
  10294.                                             return !1
  10295.                                     } catch (n) {
  10296.                                         return !1
  10297.                                     }
  10298.                                     var i = t.localStorage[e];
  10299.                                     return null == i ? !1 : "true" === String(i).toLowerCase()
  10300.                                 }
  10301.                                 e.exports = n
  10302.                             }).call(t, n(2))
  10303.                         }, function (e, t) {}, function (e, t, n) {
  10304.                             (function (t) {
  10305.                                 var i,
  10306.                                 r;
  10307.                                 t.DEVELOP = !0,
  10308.                                 Function.prototype.bind = n(25),
  10309.                                 window.Set = n(27),
  10310.                                 r = n(26),
  10311.                                 i = {
  10312.                                     getInfo: function (e, t, n) {
  10313.                                         return r.getInfo(e, n, function (e, n) {
  10314.                                             return e ? void t(e) : n instanceof Error ? void t(n) : void t(!1, n)
  10315.                                         }),
  10316.                                         !1
  10317.                                     },
  10318.                                     choseFormat: function (e, t) {
  10319.                                         return t || (t = {}),
  10320.                                         r.chooseFormat(e.formats, t)
  10321.                                     }
  10322.                                 },
  10323.                                 e.exports = i
  10324.                             }).call(t, n(2))
  10325.                         }
  10326.                     ])
  10327.             }).call(t, n(17).setImmediate, n(17).clearImmediate)
  10328.         }, function (e, t, n) {
  10329.             "use strict";
  10330.             function i(e, t) {
  10331.                 var n,
  10332.                 i,
  10333.                 r,
  10334.                 o,
  10335.                 a,
  10336.                 s,
  10337.                 l,
  10338.                 c,
  10339.                 u,
  10340.                 d,
  10341.                 h,
  10342.                 p = [];
  10343.                 for (l = e.split("channels-content-item"), h = 0; h < l.length; h++)
  10344.                     d = l[h], -1 !== d.indexOf("yt-lockup-video") && (c = d.indexOf('="https://i.ytimg') + 2, u = d.indexOf('"', c), s = d.substring(c, u), c = d.indexOf('data-context-item-id="') + 22, u = d.indexOf('"', c), n = d.substring(c, u), c = d.indexOf('<span class="video-time" aria-hidden="true">') + 44, c = d.indexOf(">", c) + 1, u = d.indexOf("</span>", c), i = d.substring(c, u), c = d.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, u = d.indexOf(" ", c), r = d.substring(c, u), c = d.indexOf("</li><li>", c) + 9, u = d.indexOf("</li>", c), o = d.substring(c, u), c = d.indexOf('" href="/watch?v=') + 17, c = d.indexOf(">", c) + 1, u = d.indexOf("</a><span", c), a = d.substring(c, u), p.push({
  10345.                             value: 1,
  10346.                             id: n,
  10347.                             channelTitle: t.title,
  10348.                             duration: i,
  10349.                             realDuration: i,
  10350.                             viewCount: r,
  10351.                             publishedAt: o,
  10352.                             dimension: "",
  10353.                             definition: "",
  10354.                             title: a,
  10355.                             icon: s,
  10356.                             channelId: t.id,
  10357.                             type: "video",
  10358.                             locale: {
  10359.                                 publishedAt: o,
  10360.                                 viewCount: r,
  10361.                                 channelTitle: t.title
  10362.                             }
  10363.                         }));
  10364.                 return p
  10365.             }
  10366.             function r() {
  10367.                 s.call(this),
  10368.                 this.channelId = null,
  10369.                 this.pages = {}
  10370.             }
  10371.             var o = n(18),
  10372.             a = o.ajax,
  10373.             s = n(5);
  10374.             r.prototype = Object.create(s.prototype),
  10375.             r.prototype.constructor = r,
  10376.             r.prototype.getInfo = function (e, t) {
  10377.                 return e = e || {},
  10378.                 !e.channelId && this.channelId && (e.channelId = this.channelId),
  10379.                 e.channelId ? void a("get", "https://www.youtube.com/channel/" + e.channelId + "/about", function (n, i) {
  10380.                     var r,
  10381.                     o,
  10382.                     a,
  10383.                     s,
  10384.                     l,
  10385.                     c,
  10386.                     u;
  10387.                     r = n.indexOf('img class="channel-header-profile-image" src="') + 46,
  10388.                     o = n.indexOf('"', r),
  10389.                     a = n.substring(r, o),
  10390.                     r = n.indexOf("yt-subscription-button-subscriber-count-branded-horizontal"),
  10391.                     r = n.indexOf('title="', r) + 7,
  10392.                     o = n.indexOf('"', r),
  10393.                     s = n.substring(r, o),
  10394.                     r = n.indexOf('class="qualified-channel-title-text"'),
  10395.                     r = n.indexOf('title="', r) + 7,
  10396.                     o = n.indexOf('"', r),
  10397.                     l = n.substring(r, o),
  10398.                     r = n.indexOf('<div class="about-description'),
  10399.                     o = n.indexOf('<div class="about-metadata-label', r),
  10400.                     c = n.substring(r, o),
  10401.                     r = n.indexOf(".hd-banner-image {"),
  10402.                     r = n.indexOf("background-image: url(", r) + 22,
  10403.                     o = n.indexOf(");", r),
  10404.                     u = "http:" + n.substring(r, o),
  10405.                     t(null, {
  10406.                         icon: a,
  10407.                         subscribers: s,
  10408.                         background: u,
  10409.                         title: l,
  10410.                         id: e.channelId,
  10411.                         description: c
  10412.                     })
  10413.                 }) : void t({
  10414.                     message: "error: field arguments[0].channelId is empty"
  10415.                 })
  10416.             },
  10417.             r.prototype.getPage = function (e, t) {
  10418.                 var n = this;
  10419.                 return e = e || {},
  10420.                 !e.channelId && this.channelId && (e.channelId = this.channelId),
  10421.                 e.page = +e.page || 0,
  10422.                 e.channelId ? void(this.pages[e.page] && this.pages[e.page].parseId ? this.pages[e.page].cached ? t(null, this.pages[e.page].data) : a("get", "https://www.youtube.com" + this.pages[e.page].parseId, function (r, o) {
  10423.                         var a,
  10424.                         s,
  10425.                         l,
  10426.                         c,
  10427.                         u,
  10428.                         d = "";
  10429.                         try {
  10430.                             a = JSON.parse(r)
  10431.                         } catch (h) {
  10432.                             s = h,
  10433.                             a = ""
  10434.                         }
  10435.                         a || t({
  10436.                             message: "parse error for page id " + n.pages[e.page].parseId,
  10437.                             code: s
  10438.                         }),
  10439.                         a.load_more_widget_html.trim().length > 10 ? (l = a.load_more_widget_html.indexOf('data-uix-load-more-href="/browse_ajax') + 25, c = a.load_more_widget_html.indexOf('"', l), u = a.load_more_widget_html.substring(l, c)) : u = "",
  10440.                         n.pages[e.page + 1] = {
  10441.                             parseId: u,
  10442.                             cached: !1
  10443.                         },
  10444.                         n.pages[e.page].cached = !0,
  10445.                         n.pages[e.page].data = i(a.content_html, {
  10446.                                 id: e.channelId,
  10447.                                 title: d
  10448.                             }),
  10449.                         t(null, n.pages[e.page].data)
  10450.                     }) : e.page ? this.pages[e.page] && !this.pages[e.page].parseId ? t(null, []) : t({
  10451.                         message: "wrong page number (page id not found in cache)"
  10452.                     }) : a("get", "https://www.youtube.com/channel/" + e.channelId + "/videos", function (r, o) {
  10453.                         var a,
  10454.                         s,
  10455.                         l,
  10456.                         c = "";
  10457.                         s = r.indexOf('data-uix-load-more-href="/browse_ajax') + 25,
  10458.                         l = r.indexOf('"', s),
  10459.                         n.pages[e.page + 1] = {
  10460.                             parseId: r.substring(s, l),
  10461.                             cached: !1
  10462.                         },
  10463.                         a = r.slice(r.indexOf('id="channels-browse-content-grid"'), r.indexOf("browse-items-load-more-button")),
  10464.                         n.pages[0] = {
  10465.                             cached: !0,
  10466.                             parseId: "   ",
  10467.                             data: i(a, {
  10468.                                 id: e.channelId,
  10469.                                 title: c
  10470.                             })
  10471.                         },
  10472.                         t(null, n.pages[0].data)
  10473.                     })) : void t({
  10474.                     message: "error: field arguments[0].channelId is empty"
  10475.                 })
  10476.             },
  10477.             r.prototype.filter = function () {
  10478.                 return !1
  10479.             },
  10480.             e.exports = r
  10481.         }, function (e, t, n) {
  10482.             "use strict";
  10483.             function i(e) {
  10484.                 var t,
  10485.                 n,
  10486.                 i,
  10487.                 r,
  10488.                 o,
  10489.                 a,
  10490.                 s,
  10491.                 l,
  10492.                 c,
  10493.                 u,
  10494.                 d,
  10495.                 h,
  10496.                 p,
  10497.                 f,
  10498.                 m,
  10499.                 g,
  10500.                 v = [];
  10501.                 for (c = e.split('<li class="yt-shelf-grid-item'), p = 0; p < c.length; p++)
  10502.                     if (h = c[p], -1 !== h.indexOf("yt-lockup-content")) {
  10503.                         if (-1 !== h.indexOf("yt-lockup-playlist"))
  10504.                             f = "playlist";
  10505.                         else {
  10506.                             if (-1 === h.indexOf("yt-lockup-video") || -1 !== h.indexOf("branded-page-module") || -1 !== h.indexOf("data-set-reminder-text"))
  10507.                                 continue;
  10508.                             f = "video",
  10509.                             g = -1 !== h.indexOf("yt-badge-live")
  10510.                         }
  10511.                         u = h.indexOf("//i.ytimg"),
  10512.                         d = h.indexOf('"', u),
  10513.                         s = "https:" + h.substring(u, d).replace(/&amp;/g, "&"),
  10514.                         u = h.indexOf(' data-ytid="') + 12,
  10515.                         d = h.indexOf('"', u),
  10516.                         l = h.substring(u, d),
  10517.                         "playlist" === f && (u = h.indexOf('" dir="ltr">') + 12, d = h.indexOf("</a><span", u), a = h.substring(u, d), -1 !== h.indexOf('<div class="yt-lockup-byline ">YouTube</div>') && (l = ""), u = h.indexOf('<a href="/watch?v=') + 9, d = h.indexOf('"', u), m = h.substring(u, d).replace("&amp;", "&"), u = h.indexOf('" dir="ltr">') + 12, d = h.indexOf("<", u), n = h.substring(u, d), v.push({
  10518.                                 value: 1,
  10519.                                 playlistId: m,
  10520.                                 channel: {
  10521.                                     title: n.substr(0, 100),
  10522.                                     id: l
  10523.                                 },
  10524.                                 title: a.substr(0, 100),
  10525.                                 icon: s,
  10526.                                 type: "playlist",
  10527.                                 channelTitle: n.substr(0, 100),
  10528.                                 viewCount: " ",
  10529.                                 duration: " ",
  10530.                                 publishedAt: " ",
  10531.                                 locale: {
  10532.                                     publishedAt: " ",
  10533.                                     viewCount: " ",
  10534.                                     channelTitle: n.substr(0, 100)
  10535.                                 }
  10536.                             })),
  10537.                         "video" === f && (u = h.indexOf('data-context-item-id="') + 22, d = h.indexOf('"', u), t = h.substring(u, d), u = h.indexOf('<span class="video-time" aria-hidden="true">') + 44, d = h.indexOf("</span>", u), i = h.substring(u, d), u = h.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, d = h.indexOf(" ", u), r = h.substring(u, d), u = h.indexOf("</li><li>", u) + 9, d = h.indexOf("</li></ul></div>", u), o = h.substring(u, d), u = h.indexOf('" dir="ltr">') + 12, 11 === u && (u = h.indexOf(' dir="ltr">') + 11, 10 === u && (u = h.indexOf('" dir="rtl">') + 12)), d = h.indexOf("</", u), a = h.substring(u, d), u = h.indexOf(' data-ytid="'), u = h.indexOf(">", u) + 1, d = h.indexOf("</a>", u), n = h.substring(u, d), v.push({
  10538.                                 value: 1,
  10539.                                 id: t,
  10540.                                 channelTitle: n.substr(0, 100),
  10541.                                 duration: g ? "" : i.substr(0, 100),
  10542.                                 realDuration: g ? "" : i.substr(0, 100),
  10543.                                 viewCount: r.substr(0, 100),
  10544.                                 publishedAt: g ? "" : o.substr(0, 100),
  10545.                                 dimension: "",
  10546.                                 definition: "",
  10547.                                 title: a.substr(0, 100),
  10548.                                 icon: s,
  10549.                                 channelId: l,
  10550.                                 type: "video",
  10551.                                 locale: {
  10552.                                     publishedAt: g ? "" : o.substr(0, 100),
  10553.                                     viewCount: r.substr(0, 100),
  10554.                                     channelTitle: n.substr(0, 100)
  10555.                                 }
  10556.                             }))
  10557.                     }
  10558.                 return v
  10559.             }
  10560.             function r() {
  10561.                 s.call(this),
  10562.                 this.pages = {}
  10563.             }
  10564.             var o = n(18),
  10565.             a = o.ajax,
  10566.             s = n(5);
  10567.             r.prototype = Object.create(s.prototype),
  10568.             r.prototype.constructor = r,
  10569.             r.prototype.getPage = function (e, t) {
  10570.                 var n = this;
  10571.                 e.page = +e.page || 0,
  10572.                 this.pages[e.page] && this.pages[e.page].parseId ? this.pages[e.page].cached ? t(null, this.pages[e.page].data) : a("get", "https://www.youtube.com" + this.pages[e.page].parseId, function (r, o) {
  10573.                     var a,
  10574.                     s,
  10575.                     l,
  10576.                     c,
  10577.                     u;
  10578.                     try {
  10579.                         a = JSON.parse(r)
  10580.                     } catch (d) {
  10581.                         s = d,
  10582.                         a = ""
  10583.                     }
  10584.                     a || t({
  10585.                         message: "parse error for page id " + n.pages[e.page].parseId,
  10586.                         code: s
  10587.                     }),
  10588.                     a.load_more_widget_html.trim().length > 10 ? (l = a.load_more_widget_html.indexOf('data-uix-load-more-href="') + 25, c = a.load_more_widget_html.indexOf('"', l), u = a.load_more_widget_html.substring(l, c)) : u = "",
  10589.                     n.pages[e.page + 1] = {
  10590.                         parseId: u,
  10591.                         cached: !1
  10592.                     },
  10593.                     n.pages[e.page].cached = !0,
  10594.                     n.pages[e.page].data = i(a.content_html),
  10595.                     t(null, n.pages[e.page].data)
  10596.                 }) : e.page ? this.pages[e.page] && !this.pages[e.page].parseId ? t(null, []) : t({
  10597.                     message: "wrong page number (page id not found in cache)"
  10598.                 }) : a("get", "https://www.youtube.com/", function (r, o) {
  10599.                     var a,
  10600.                     s,
  10601.                     l;
  10602.                     s = r.indexOf('data-uix-load-more-href="') + 25,
  10603.                     l = r.indexOf('"', s),
  10604.                     n.pages[e.page + 1] = {
  10605.                         parseId: r.substring(s, l),
  10606.                         cached: !1
  10607.                     },
  10608.                     a = r.slice(r.indexOf('id="feed-main-'), r.indexOf('id="feed-error"')),
  10609.                     n.pages[0] = {
  10610.                         cached: !0,
  10611.                         parseId: "   ",
  10612.                         data: i(a)
  10613.                     },
  10614.                     t(null, n.pages[0].data)
  10615.                 })
  10616.             },
  10617.             r.prototype.filter = function () {
  10618.                 return !1
  10619.             },
  10620.             e.exports = r
  10621.         }, function (e, t, n) {
  10622.             "use strict";
  10623.             function i(e) {
  10624.                 var t,
  10625.                 n,
  10626.                 i,
  10627.                 r,
  10628.                 o,
  10629.                 a,
  10630.                 s,
  10631.                 l,
  10632.                 c,
  10633.                 u,
  10634.                 d = [];
  10635.                 for (a = e.split('<li class="yt-uix-scroller-scroll-unit'), u = 0; u < a.length; u++)
  10636.                     c = a[u], -1 !== c.indexOf('<div class="playlist-video-description">') && (s = c.indexOf('<span class="video-uploader-byline">') + 36, l = c.indexOf("</span>", s), c.substring(s, l).trim() && (s = c.indexOf('data-video-id="') + 15, l = c.indexOf('"', s), t = c.substring(s, l), s = c.indexOf('data-video-title="') + 18, l = c.indexOf('"', s), i = c.substring(s, l), s = c.indexOf('="https://i.ytimg') + 2, l = c.indexOf('"', s), r = c.substring(s, l).replace(/&amp;/g, "&"), s = c.indexOf(' data-ytid="UC') + 12, l = c.indexOf('"', s), o = c.substring(s, l), s = c.indexOf(">", s) + 1, l = c.indexOf("</", s), n = c.substring(s, l), d.push({
  10637.                                 value: 1,
  10638.                                 id: t,
  10639.                                 channelTitle: n,
  10640.                                 duration: " ",
  10641.                                 realDuration: " ",
  10642.                                 viewCount: " ",
  10643.                                 publishedAt: " ",
  10644.                                 dimension: "",
  10645.                                 definition: "",
  10646.                                 title: i,
  10647.                                 icon: r,
  10648.                                 channelId: o,
  10649.                                 type: "video",
  10650.                                 locale: {
  10651.                                     publishedAt: " ",
  10652.                                     viewCount: " ",
  10653.                                     channelTitle: n
  10654.                                 }
  10655.                             })));
  10656.                 return d
  10657.             }
  10658.             function r() {
  10659.                 s.call(this),
  10660.                 this.pages = {}
  10661.             }
  10662.             var o = n(18),
  10663.             a = o.ajax,
  10664.             s = n(5);
  10665.             r.prototype = Object.create(s.prototype),
  10666.             r.prototype.constructor = r,
  10667.             r.prototype.getPage = function (e, t) {
  10668.                 var n = this;
  10669.                 return e.page = e.page || 0,
  10670.                 e.playlistId ? e.page ? void t(null, []) : void(this.pages[0] ? t(null, this.pages[0].data) : a("get", "https://www.youtube.com" + e.playlistId, function (r, o) {
  10671.                         var a,
  10672.                         s,
  10673.                         l;
  10674.                         s = r.indexOf('id="playlist-autoscroll-list"'),
  10675.                         l = r.indexOf('id="placeholder-player"', s),
  10676.                         a = r.slice(s, l),
  10677.                         n.pages[0] = {
  10678.                             cached: !0,
  10679.                             parseId: e.playlistId,
  10680.                             data: i(a)
  10681.                         },
  10682.                         t(null, n.pages[0].data)
  10683.                     })) : void t({
  10684.                     message: "error: field arguments[0].playlistId is empty"
  10685.                 })
  10686.             },
  10687.             r.prototype.filter = function () {
  10688.                 return !1
  10689.             },
  10690.             e.exports = r
  10691.         }, function (e, t, n) {
  10692.             "use strict";
  10693.             function i(e) {
  10694.                 var t,
  10695.                 n,
  10696.                 i,
  10697.                 r,
  10698.                 o,
  10699.                 a,
  10700.                 s,
  10701.                 l,
  10702.                 c,
  10703.                 u,
  10704.                 d,
  10705.                 h,
  10706.                 p,
  10707.                 f,
  10708.                 m,
  10709.                 g,
  10710.                 v,
  10711.                 y,
  10712.                 b = [];
  10713.                 for (m = e.split('<div class="yt-lockup yt-lockup-tile '), g = 0; g < m.length; g++)
  10714.                     if (v = m[g], -1 !== v.indexOf("yt-lockup-content")) {
  10715.                         if (-1 !== v.indexOf("yt-lockup-playlist"))
  10716.                             t = "playlist";
  10717.                         else if (-1 !== v.indexOf("yt-lockup-channel"))
  10718.                             t = "channel";
  10719.                         else {
  10720.                             if (-1 === v.indexOf("yt-lockup-video") || -1 !== v.indexOf("branded-page-module") || -1 !== v.indexOf("data-set-reminder-text"))
  10721.                                 continue;
  10722.                             y = -1 !== v.indexOf("yt-badge-live"),
  10723.                             t = "video"
  10724.                         }
  10725.                         p = v.indexOf("//i.ytimg"),
  10726.                         f = v.indexOf('"', p),
  10727.                         l = "https:" + v.substring(p, f).replace(/&amp;/g, "&"),
  10728.                         p = v.indexOf('" dir="ltr">') + 12,
  10729.                         11 === p && (p = v.indexOf(' dir="ltr">') + 11, 10 === p && (p = v.indexOf('" dir="rtl">') + 12)),
  10730.                         f = v.indexOf("</", p),
  10731.                         s = v.substring(p, f),
  10732.                         p = v.indexOf(' data-ytid="') + 12,
  10733.                         f = v.indexOf('"', p),
  10734.                         c = v.substring(p, f),
  10735.                         "playlist" === t && (-1 !== v.indexOf('<div class="yt-lockup-byline ">YouTube</div>') && (c = ""), p = v.indexOf('<a href="/watch?v=') + 9, f = v.indexOf('"', p), u = v.substring(p, f).replace("&amp;", "&"), p = v.indexOf('" dir="ltr">') + 12, f = v.indexOf("<", p), i = v.substring(p, f), b.push({
  10736.                                 value: 1,
  10737.                                 playlistId: u,
  10738.                                 channel: {
  10739.                                     title: i.substr(0, 100),
  10740.                                     id: c
  10741.                                 },
  10742.                                 title: s.substr(0, 100),
  10743.                                 icon: l,
  10744.                                 type: "playlist",
  10745.                                 channelTitle: i.substr(0, 100),
  10746.                                 viewCount: " ",
  10747.                                 duration: " ",
  10748.                                 publishedAt: " ",
  10749.                                 locale: {
  10750.                                     publishedAt: " ",
  10751.                                     viewCount: " ",
  10752.                                     channelTitle: i.substr(0, 100)
  10753.                                 }
  10754.                             })),
  10755.                         "video" === t && (p = v.indexOf('href="/watch?v=') + 15, f = v.indexOf('"', p), n = v.substring(p, f), p = v.indexOf('<span class="video-time" aria-hidden="true">') + 44, 43 === p && (p = v.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36), f = v.indexOf("</", p), r = v.substring(p, f), p = v.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, f = v.indexOf("</", p), a = v.substring(p, f), y ? (p = v.indexOf('<ul class="yt-lockup-meta-info"><li>') + 36, f = v.indexOf("<", p)) : (p = v.indexOf("</li><li>", p) + 9, f = v.indexOf("<", p)), o = v.substring(p, f), p = v.indexOf(' data-ytid="'), p = v.indexOf(">", p) + 1, f = v.indexOf("</a>", p), i = v.substring(p, f), b.push({
  10756.                                 value: 1,
  10757.                                 id: n,
  10758.                                 channelTitle: i.substr(0, 100),
  10759.                                 duration: y ? "" : r.substr(0, 100),
  10760.                                 realDuration: y ? "" : r.substr(0, 100),
  10761.                                 viewCount: o.substr(0, 100),
  10762.                                 publishedAt: y ? "" : a.substr(0, 100),
  10763.                                 dimension: "",
  10764.                                 definition: "",
  10765.                                 title: s.substr(0, 100),
  10766.                                 icon: l,
  10767.                                 channelId: c,
  10768.                                 type: "video",
  10769.                                 locale: {
  10770.                                     publishedAt: y ? "" : a.substr(0, 100),
  10771.                                     viewCount: o.substr(0, 100),
  10772.                                     channelTitle: i.substr(0, 100)
  10773.                                 }
  10774.                             })),
  10775.                         "channel" === t && (p = v.indexOf("//yt"), f = v.indexOf('"', p), l = "https:" + v.substring(p, f), p = v.indexOf('" dir="ltr">') + 12, f = v.indexOf("<", p), s = v.substring(p, f), -1 !== v.indexOf("yt-channel-title-autogenerated") ? d = "" : (p = v.indexOf('"yt-lockup-meta-info"><li>') + 26, f = v.indexOf(" ", p), d = v.substring(p, f)), p = v.indexOf('yt-subscriber-count" title="') + 28, f = v.indexOf('"', p), h = v.substring(p, f), b.push({
  10776.                                 value: 1,
  10777.                                 id: c,
  10778.                                 title: s.substr(0, 100),
  10779.                                 icon: l,
  10780.                                 type: "channel",
  10781.                                 viewCount: "",
  10782.                                 commentCount: "",
  10783.                                 subscriberCount: h.substr(0, 100),
  10784.                                 hiddenSubscriberCount: "",
  10785.                                 videoCount: d.substr(0, 100),
  10786.                                 locale: {
  10787.                                     subscriberCount: h.substr(0, 100)
  10788.                                 }
  10789.                             }))
  10790.                     }
  10791.                 return b
  10792.             }
  10793.             function r(e) {
  10794.                 s.call(this),
  10795.                 this.pages = {},
  10796.                 this.searchQuery = "",
  10797.                 this.filter(e)
  10798.             }
  10799.             var o = n(18),
  10800.             a = o.ajax,
  10801.             s = n(5);
  10802.             r.prototype = Object.create(s.prototype),
  10803.             r.prototype.constructor = r,
  10804.             r.prototype.getPage = function (e, t) {
  10805.                 var n = this;
  10806.                 e.page = +e.page || 0,
  10807.                 this.pages[e.page] && this.pages[e.page].parseId ? this.pages[e.page].cached ? t(null, this.pages[e.page].data) : a("get", "https://www.youtube.com" + this.pages[e.page].parseId, function (r, o) {
  10808.                     var a,
  10809.                     s,
  10810.                     l,
  10811.                     c;
  10812.                     s = r.indexOf('class="branded-page-box search-pager'),
  10813.                     l = r.indexOf('class="branded-page-v2-secondary-col', s),
  10814.                     a = r.substring(s, l),
  10815.                     a = a.split('<a href="'),
  10816.                     a[a.length - 1] && -1 !== a[a.length - 1].indexOf("»") ? (s = a[a.length - 1].indexOf("/results?q="), l = a[a.length - 1].indexOf('"', s), c = a[a.length - 1].substring(s, l).replace("&amp;", "&")) : c = "",
  10817.                     n.pages[e.page + 1] = {
  10818.                         parseId: c,
  10819.                         cached: !1
  10820.                     },
  10821.                     a = r.slice(r.indexOf('id="item-section-'), r.indexOf('class="branded-page-box search-pager')),
  10822.                     n.pages[e.page] = {
  10823.                         cached: !0,
  10824.                         data: i(a)
  10825.                     },
  10826.                     t(null, n.pages[e.page].data)
  10827.                 }) : e.page ? this.pages[e.page] && !this.pages[e.page].parseId ? t(null, []) : t({
  10828.                     message: "wrong page number (page id not found in cache)"
  10829.                 }) : a("get", "https://www.youtube.com/results?search_query=" + this.searchQuery, function (r, o) {
  10830.                     var a,
  10831.                     s,
  10832.                     l,
  10833.                     c;
  10834.                     s = r.indexOf('class="branded-page-box search-pager'),
  10835.                     l = r.indexOf('class="branded-page-v2-secondary-col', s),
  10836.                     a = r.substring(s, l),
  10837.                     a = a.split('<a href="'),
  10838.                     a[a.length - 1] && -1 !== a[a.length - 1].indexOf("»") ? (s = a[a.length - 1].indexOf("/results?q="), l = a[a.length - 1].indexOf('"', s), c = a[a.length - 1].substring(s, l).replace("&amp;", "&")) : c = "",
  10839.                     n.pages[e.page + 1] = {
  10840.                         parseId: c,
  10841.                         cached: !1
  10842.                     },
  10843.                     a = r.slice(r.indexOf('id="item-section-'), r.indexOf('class="branded-page-box search-pager')),
  10844.                     n.pages[0] = {
  10845.                         cached: !0,
  10846.                         parseId: "/results?search_query=" + n.searchQuery,
  10847.                         data: i(a)
  10848.                     },
  10849.                     t(null, n.pages[0].data)
  10850.                 })
  10851.             },
  10852.             r.prototype.filter = function (e) {
  10853.                 var t = !1;
  10854.                 return void 0 !== e.searchQuery && this.searchQuery !== e.searchQuery && (t = !0, this.searchQuery = e.searchQuery),
  10855.                 t ? (this.pages = {}, this.emit("content:changed", e), !0) : !1
  10856.             },
  10857.             e.exports = r
  10858.         }, function (e, t) {
  10859.             "use strict";
  10860.             e.exports = function (e, t) {
  10861.                 var n;
  10862.                 return function () {
  10863.                     var i = this,
  10864.                     r = arguments;
  10865.                     clearTimeout(n),
  10866.                     n = setTimeout(function () {
  10867.                             n = null,
  10868.                             e.apply(i, r)
  10869.                         }, t)
  10870.                 }
  10871.             }
  10872.         }, function (e, t, n) {
  10873.             "use strict";
  10874.             function i(e, t) {
  10875.                 return new r(function (n, i) {
  10876.                     e.onload = function () {
  10877.                         200 === this.status ? n(this.responseText) : i(this.statusText)
  10878.                     },
  10879.                     e.onerror = function () {
  10880.                         i()
  10881.                     },
  10882.                     e.send(t)
  10883.                 })
  10884.             }
  10885.             var r = n(11);
  10886.             e.exports = i
  10887.         }, function (e, t, n) {
  10888.             "use strict";
  10889.             var i = "pi",
  10890.             r = n(16),
  10891.             o = new r({
  10892.                     $node: document.getElementById(i)
  10893.                 });
  10894.             e.exports = o
  10895.         }, function (e, t, n) {
  10896.             "use strict";
  10897.             function i(e) {
  10898.                 return "window." + e + ".id"
  10899.             }
  10900.             function r(e, t) {
  10901.                 var n,
  10902.                 r = i(e),
  10903.                 o = stbStorage.getItem(r);
  10904.                 if (o)
  10905.                     try {
  10906.                         n = JSON.parse(stbWindowMgr.windowInfo(o)),
  10907.                         -1 === n.result.url.indexOf(t) && stbWebWindow.messageSend(o, "window.load", t),
  10908.                         e === d.BROWSER ? (o = stbWindowMgr.openWebFace(t), stbStorage.setItem(r, o)) : stbWindowMgr.windowShow(o)
  10909.                     } catch (a) {
  10910.                         stbWindowMgr.openWebFace(t)
  10911.                     }
  10912.                 else
  10913.                     o = e === d.BROWSER ? stbWindowMgr.openWebFace(t) : stbWindowMgr.windowInit(JSON.stringify({
  10914.                                 url: t,
  10915.                                 backgroundColor: "#000"
  10916.                             })), stbStorage.setItem(r, o);
  10917.                 return o
  10918.             }
  10919.             var o = n(3),
  10920.             a = n(2),
  10921.             s = n(16),
  10922.             l = n(15),
  10923.             c = n(9),
  10924.             u = new s({
  10925.                     $node: document.getElementById("pl")
  10926.                 }),
  10927.             d = {
  10928.                 PORTAL: "portal",
  10929.                 HELP: "help",
  10930.                 DOWNLOAD_MANAGER: "dlman",
  10931.                 PVR: "recordsManager",
  10932.                 BROWSER: "ibman",
  10933.                 BROWSER_VIEW: "ibmanView",
  10934.                 PORTALS_LOADER: "portalsLoader",
  10935.                 SYSTEM_SETTINGS: "systemSettings"
  10936.             };
  10937.             u.id = "pl",
  10938.             u.addListener("show", function () {
  10939.                 var e,
  10940.                 t,
  10941.                 n = -1,
  10942.                 s = 0,
  10943.                 u = {
  10944.                     480: {
  10945.                         x: 47,
  10946.                         y: 0,
  10947.                         w: 640,
  10948.                         h: 432
  10949.                     },
  10950.                     576: {
  10951.                         x: 55,
  10952.                         y: 0,
  10953.                         w: 637,
  10954.                         h: 528
  10955.                     },
  10956.                     720: {
  10957.                         x: 15,
  10958.                         y: 0,
  10959.                         w: 1280,
  10960.                         h: 720
  10961.                     },
  10962.                     1080: {
  10963.                         x: 10,
  10964.                         y: 0,
  10965.                         w: 1920,
  10966.                         h: 1080
  10967.                     }
  10968.                 };
  10969.                 l.updateView({}, "pageLogin"),
  10970.                 t = u[window.screen.height],
  10971.                 setTimeout(function () {
  10972.                     r(d.BROWSER, "file:///home/web/public/app/ibman/index.html?mode=2&view=1&url=" + encodeURIComponent(c.AUTH_URL))
  10973.                 }, 0),
  10974.                 n = setInterval(function () {
  10975.                         var r,
  10976.                         l = stbWindowMgr.getCurrWebUrl(),
  10977.                         u = {};
  10978.                         if (e = stbStorage.getItem(i(d.BROWSER)), 0 === l.length && s > 10) {
  10979.                             try {
  10980.                                 stbWebWindow.messageSend(e, "close")
  10981.                             } catch (h) {}
  10982.                             return clearInterval(n),
  10983.                             void a.back()
  10984.                         }
  10985.                         ++s,
  10986.                         stbWindowMgr.SetVirtualKeyboardCoord("bottom"),
  10987.                         stbWindowMgr.resizeWebWindow(t.x, t.y, t.w, t.h),
  10988.                         -1 !== l.indexOf("#") && -1 !== l.indexOf("code") && (l = l.split("?")[1].replace("#", "").split("&"), l.forEach(function (e) {
  10989.                                 r = e.split("="),
  10990.                                 u[r[0]] = r[1]
  10991.                             }), u.code && (clearInterval(n), stbWebWindow.messageSend(e, "close"), c.postAuth(u.code).then(function (e) {
  10992.                                     o.settings.refreshToken = e.refreshToken,
  10993.                                     o.settings.sessionToken = e.sessionToken,
  10994.                                     o.settings.credentialsIndex = c.credentialsIndex,
  10995.                                     location.reload()
  10996.                                 }, function () {
  10997.                                     location.reload()
  10998.                                 })))
  10999.                     }, 1e3)
  11000.             }),
  11001.             e.exports = u
  11002.         }, function (e, t, n) {
  11003.             "use strict";
  11004.             var i,
  11005.             r,
  11006.             o,
  11007.             a = n(2),
  11008.             s = n(1),
  11009.             l = n(3),
  11010.             c = n(16),
  11011.             u = "pm",
  11012.             d = n(15),
  11013.             h = new c({
  11014.                     $node: document.getElementById(u)
  11015.                 });
  11016.             h.addListener("keydown", function (e) {
  11017.                 e.code === s.info ? i.visible ? r.content.tabs[r.activeTab].activate() : i.focus() : e.code === s.f3 ? a.navigate("ps") : e.code === s.back && (a.back() || l.emit("keydown", {
  11018.                         code: s.exit
  11019.                     }))
  11020.             }),
  11021.             h.addListener("show", function (e) {
  11022.                 r = n(21),
  11023.                 d.updateView({
  11024.                     SEARCH: {
  11025.                         icon: "search",
  11026.                         visible: !0,
  11027.                         text: gettext("Search")
  11028.                     },
  11029.                     MORE: {
  11030.                         icon: "more",
  11031.                         visible: !1,
  11032.                         text: ""
  11033.                     },
  11034.                     GUIDE: {
  11035.                         icon: "info",
  11036.                         visible: !0,
  11037.                         text: gettext("Guide")
  11038.                     },
  11039.                     BACK: {
  11040.                         icon: "back",
  11041.                         visible: !0,
  11042.                         text: gettext("Exit")
  11043.                     }
  11044.                 }, "pageMain"),
  11045.                 e.data && e.data.channel ? (o = r.activeTab, r.content.tabs[r.activeTab].hide(), r.activeTab = 1, r.content.tabs[r.activeTab].activate(e.data.channel)) : r.content.tabs.length > 0 && (o || (o = 3), r.content.tabs[r.activeTab].hide(), r.activeTab = o, r.content.tabs[r.activeTab].activate())
  11046.             }),
  11047.             h.addListener("hide", function () {
  11048.                 n(8).hide()
  11049.             }),
  11050.             h.addListener("load", function () {
  11051.                 r = n(21),
  11052.                 h.add(i = n(14)),
  11053.                 i.addListener("show", function () {
  11054.                     d.updateView({
  11055.                         SEARCH: {
  11056.                             icon: "search",
  11057.                             visible: !1,
  11058.                             text: gettext("Search")
  11059.                         },
  11060.                         GUIDE: {
  11061.                             icon: "info",
  11062.                             visible: !0,
  11063.                             text: gettext("Close Guide")
  11064.                         }
  11065.                     }, "pageMain")
  11066.                 }),
  11067.                 i.addListener("hide", function () {
  11068.                     d.updateView({
  11069.                         SEARCH: {
  11070.                             icon: "search",
  11071.                             visible: !0,
  11072.                             text: gettext("Search")
  11073.                         },
  11074.                         GUIDE: {
  11075.                             icon: "info",
  11076.                             visible: !0,
  11077.                             text: gettext("Guide")
  11078.                         }
  11079.                     }, "pageMain")
  11080.                 }),
  11081.                 r.content.tabs.push(n(41)),
  11082.                 r.content.tabs.push(n(42)),
  11083.                 r.content.tabs.push(n(44)),
  11084.                 r.content.tabs.push(n(43)),
  11085.                 r.content.tabs.forEach(function (e) {
  11086.                     h.add(e)
  11087.                 }),
  11088.                 r.content.tabs[r.activeTab].activate(),
  11089.                 n(9).token ? n(30).getMine().then(function (e) {
  11090.                     window.pmUserInfo.data = {
  11091.                         disabled: !0
  11092.                     },
  11093.                     window.pmUserInfo.appendChild(document.createElement("div")),
  11094.                     window.pmUserInfo.firstChild.style.backgroundImage = "url(" + e.icon + ")",
  11095.                     window.pmUserInfo.firstChild.classList.add("userImage"),
  11096.                     window.pmUserInfo.appendChild(document.createElement("div")),
  11097.                     window.pmUserInfo.children[1].innerHTML = e.title,
  11098.                     window.pmUserInfo.children[1].classList.add("userName")
  11099.                 })["catch"](function (e) {}) : window.pmUserInfo.style.display = "none"
  11100.             }),
  11101.             e.exports = h
  11102.         }, function (e, t, n) {
  11103.             "use strict";
  11104.             function i(e, t) {
  11105.                 return e ? (window.ppVideoParseErrorMessage.innerHTML = gettext("11105 Video is not available"), o.hide(), l.show(), void(S = !1)) : (I.url = t.url, void s.play(t.url, {
  11106.                         proxy: g.params.proxy
  11107.                     }))
  11108.             }
  11109.             var r,
  11110.             o,
  11111.             a,
  11112.             s,
  11113.             l,
  11114.             c,
  11115.             u = n(16),
  11116.             d = n(68),
  11117.             h = n(6),
  11118.             p = new u({
  11119.                     $node: window.pp
  11120.                 }),
  11121.             f = n(2),
  11122.             m = n(1),
  11123.             g = n(3),
  11124.             v = n(65),
  11125.             y = n(12),
  11126.             b = n(71),
  11127.             w = new b({
  11128.                     $node: window.playerProgressBar
  11129.                 }),
  11130.             T = n(15),
  11131.             E = n(8),
  11132.             x = n(52),
  11133.             I = {
  11134.                 channel: {},
  11135.                 video: null,
  11136.                 playlist: null,
  11137.                 position: 0
  11138.             },
  11139.             S = ("MAG200" !== gSTB.GetDeviceModelExt(), !1),
  11140.             N = !1;
  11141.             p.addListener("show", function (e) {
  11142.                 T.updateView({
  11143.                     SEARCH: {
  11144.                         icon: "search",
  11145.                         visible: !0,
  11146.                         text: gettext("Search")
  11147.                     },
  11148.                     MORE: {
  11149.                         icon: "more",
  11150.                         visible: !1,
  11151.                         text: gettext("More")
  11152.                     },
  11153.                     GUIDE: {
  11154.                         icon: "info",
  11155.                         visible: !1,
  11156.                         text: gettext("Guide")
  11157.                     },
  11158.                     BACK: {
  11159.                         icon: "back",
  11160.                         visible: !0,
  11161.                         text: gettext("Back")
  11162.                     }
  11163.                 }),
  11164.                 a.hide(),
  11165.                 w.set(0),
  11166.                 e.data && s.playContent(e.data)
  11167.             }),
  11168.             p.addListener("load", function () {
  11169.                 var e = [{
  11170.                         icon: "home",
  11171.                         value: gettext("To the main"),
  11172.                         onclick: function () {
  11173.                             f.back()
  11174.                         }
  11175.                     }, {
  11176.                         icon: "player-prev",
  11177.                         value: gettext("Previous"),
  11178.                         onclick: function () {
  11179.                             I.playlist && I.playlist.length && I.position > 0 && (--I.position, s.playContent({
  11180.                                     video: I.playlist[I.position]
  11181.                                 }))
  11182.                         }
  11183.                     }, {
  11184.                         icon: "player-rew",
  11185.                         value: gettext("Back"),
  11186.                         onclick: function () {
  11187.                             s.rewind(!1, 10)
  11188.                         }
  11189.                     }, {
  11190.                         icon: "player-play",
  11191.                         value: gettext("Play"),
  11192.                         onclick: function () {
  11193.                             s.playPause(),
  11194.                             s.isPause ? (this.$icon.className = "icon player-play", this.$text.innerText = gettext("Play")) : (this.$icon.className = "icon player-pause", this.$text.innerText = gettext("Pause"))
  11195.                         }
  11196.                     }, {
  11197.                         icon: "player-ff",
  11198.                         value: gettext("Forward"),
  11199.                         onclick: function () {
  11200.                             s.rewind(!0, 10)
  11201.                         }
  11202.                     }, {
  11203.                         icon: "player-next",
  11204.                         value: gettext("Next"),
  11205.                         onclick: function () {
  11206.                             I.playlist && I.playlist.length && I.playlist.length > I.position + 1 && (++I.position, s.playContent({
  11207.                                     video: I.playlist[I.position]
  11208.                                 }))
  11209.                         }
  11210.                     }
  11211.                 ];
  11212.                 n(31);
  11213.                 p.add(r = new h({
  11214.                             $node: window.playerPanelButtons,
  11215.                             data: e,
  11216.                             size: e.length,
  11217.                             type: h.prototype.TYPE_HORIZONTAL,
  11218.                             render: function (e, t) {
  11219.                                 e.button = new d({
  11220.                                         $node: e,
  11221.                                         icon: t.icon,
  11222.                                         value: t.value,
  11223.                                         events: {
  11224.                                             click: t.onclick
  11225.                                         }
  11226.                                     }),
  11227.                                 e.classList.add(t.icon),
  11228.                                 p.add(e.button)
  11229.                             },
  11230.                             events: {
  11231.                                 "click:item": function (e) {
  11232.                                     e.$item.button.emit("click")
  11233.                                 },
  11234.                                 keydown: function (e) {
  11235.                                     switch (e.code) {
  11236.                                     case m.right:
  11237.                                     case m.left:
  11238.                                     case m.home:
  11239.                                     case m.end:
  11240.                                         o.display(5),
  11241.                                         this.move(e.code);
  11242.                                         break;
  11243.                                     case m.ok:
  11244.                                         this.events["click:item"] && this.emit("click:item", {
  11245.                                             $item: this.$focusItem,
  11246.                                             event: e
  11247.                                         });
  11248.                                         break;
  11249.                                     case m.info:
  11250.                                         e.stop = !0,
  11251.                                         o.display();
  11252.                                         break;
  11253.                                     case m.up:
  11254.                                     case m.down:
  11255.                                         break;
  11256.                                     case m.space:
  11257.                                     case m.playPause:
  11258.                                         s.playPause(),
  11259.                                         e.stop = !0;
  11260.                                         break;
  11261.                                     case m.forward:
  11262.                                         s.rewind(!0, 10);
  11263.                                         break;
  11264.                                     case m.rewind:
  11265.                                         s.rewind(!1, 10);
  11266.                                         break;
  11267.                                     case m.pageDown:
  11268.                                         I.playlist && I.playlist.length && I.playlist.length > I.position + 1 && (++I.position, s.playContent({
  11269.                                                 video: I.playlist[I.position]
  11270.                                             }));
  11271.                                         break;
  11272.                                     case m.pageUp:
  11273.                                         I.playlist && I.playlist.length && I.position > 0 && (--I.position, s.playContent({
  11274.                                                 video: I.playlist[I.position]
  11275.                                             }))
  11276.                                     }
  11277.                                 }
  11278.                             }
  11279.                         })),
  11280.                 c = r.$body.children[3].button,
  11281.                 a = n(45),
  11282.                 a.addListener("show", function () {
  11283.                     T.updateView({
  11284.                         SEARCH: {
  11285.                             icon: "search",
  11286.                             visible: !0,
  11287.                             text: gettext("Search")
  11288.                         },
  11289.                         MORE: {
  11290.                             visible: falseagent
  11291.                         },
  11292.                         GUIDE: {
  11293.                             icon: "info",
  11294.                             visible: !1,
  11295.                             text: gettext("Guide")
  11296.                         },
  11297.                         BACK: {
  11298.                             icon: "back",
  11299.                             visible: !0,
  11300.                             text: gettext("Back")
  11301.                         }
  11302.                     })
  11303.                 }),
  11304.                 a.addListener("hide", function () {
  11305.                     T.updateView({
  11306.                         SEARCH: {
  11307.                             icon: "search",
  11308.                             visible: !0,
  11309.                             text: gettext("Search")
  11310.                         },
  11311.                         MORE: {
  11312.                             icon: "more",
  11313.                             visible: !1,
  11314.                             text: gettext("More")
  11315.                         },
  11316.                         GUIDE: {
  11317.                             visible: !1
  11318.                         },
  11319.                         BACK: {
  11320.                             icon: "back",
  11321.                             visible: !0,
  11322.                             text: gettext("Back")
  11323.                         }
  11324.                     })
  11325.                 }),
  11326.                 p.add(a),
  11327.                 s = new v({
  11328.                         $node: window.playerSpace,
  11329.                         rewindTimeout: 600,
  11330.                         events: {
  11331.                             keydown: function (e) {
  11332.                                 switch (e.code) {
  11333.                                 case m.up:
  11334.                                 case m.down:
  11335.                                 case m.info:
  11336.                                     return void o.display();
  11337.                                 case m.ok:
  11338.                                 case m.playPause:
  11339.                                 case m.space:
  11340.                                     e.stop = !0,
  11341.                                     this.playPause();
  11342.                                     break;
  11343.                                 case m.forward:
  11344.                                 case m.right:
  11345.                                     this.rewind(!0, 10);
  11346.                                     break;
  11347.                                 case m.rewind:
  11348.                                 case m.left:
  11349.                                     this.rewind(!1, 10);
  11350.                                     break;
  11351.                                 case m.pageDown:
  11352.                                     I.playlist && I.playlist.length && I.position > 0 && (--I.position, s.playContent({
  11353.                                             video: I.playlist[I.position]
  11354.                                         }));
  11355.                                     break;
  11356.                                 case m.pageUp:
  11357.                                     I.playlist && I.playlist.length && I.playlist.length > I.position + 1 && (++I.position, s.playContent({
  11358.                                             video: I.playlist[I.position]
  11359.                                         }))
  11360.                                 }
  11361.                             }
  11362.                         }
  11363.                     }),
  11364.                 o = new y({
  11365.                         $node: window.playerGrid,
  11366.                         visible: !1,
  11367.                         events: {
  11368.                             show: function () {
  11369.                                 r.focus(),
  11370.                                 r.focusIndex(3),
  11371.                                 T.updateView({
  11372.                                     SEARCH: {
  11373.                                         icon: "search",
  11374.                                         visible: !0,
  11375.                                         text: gettext("Search")
  11376.                                     },
  11377.                                     MORE: {
  11378.                                         icon: "more",
  11379.                                         visible: !1,
  11380.                                         text: gettext("More")
  11381.                                     },
  11382.                                     GUIDE: {
  11383.                                         icon: "info",
  11384.                                         visible: !1,
  11385.                                         text: gettext("Guide")
  11386.                                     },
  11387.                                     BACK: {
  11388.                                         icon: "back",
  11389.                                         visible: !0,
  11390.                                         text: gettext("Back")
  11391.                                     }
  11392.                                 }),
  11393.                                 T.show()
  11394.                             },
  11395.                             hide: function () {
  11396.                                 f.current && (T.hide(), s.focus())
  11397.                             }
  11398.                         }
  11399.                     }),
  11400.                 o.displayTimeout = -1,
  11401.                 o.display = function (e) {
  11402.                     var t = this;
  11403.                     e ? (e = 1e3 * e, this.show(), this.displayTimeout && (clearTimeout(this.displayTimeout), this.displayTimeout = 0), this.displayTimeout = setTimeout(function () {
  11404.                                 t.hide(),
  11405.                                 t.displayTimeout = 0
  11406.                             }, e)) : this.displayTimeout ? (clearTimeout(this.displayTimeout), this.displayTimeout = 0) : this.visible ? this.hide() : this.show()
  11407.                 },
  11408.                 p.add(s),
  11409.                 s.add(o),
  11410.                 g.player = s,
  11411.                 s.playContent = function (e) {
  11412.                     var t;
  11413.                     return window.playerChannelIcon.style.visibility = "hidden",
  11414.                     window.playerChannelName.style.visibility = "hidden",
  11415.                     S = !0,
  11416.                     l.hide(),
  11417.                     E.show(),
  11418.                     window.ppPanelPlayer.classList.remove("transparent"),
  11419.                     e.urlParseErrorCount || (e.urlParseErrorCount = 0),
  11420.                     void 0 !== e.channel ? I.channel = e.channel : (t = e.video.channelId === I.channel.id ? I.channel.icon : !1, I.channel = {
  11421.                                 title: e.video.channelTitle,
  11422.                                 id: e.video.channelId,
  11423.                                 icon: t
  11424.                             }),
  11425.                     void 0 !== e.playlist && (I.playlist = e.playlist),
  11426.                     void 0 !== e.position && (I.position = e.position),
  11427.                     I.video = e.video,
  11428.                     I.video.viewCount = I.video.viewCount.replace(/./g, ""),
  11429.                     window.playerChannelName.innerText = I.channel.title,
  11430.                     window.playerVideoName.innerHTML = I.video.title,
  11431.                     window.playerVideoPublishedAt.innerText = gettext("Upload date") + ": " + I.video.publishedAt,
  11432.                     window.playerVideoViewCount.innerText = ngettext("View", "Views", +I.video.viewCount) + ": " + I.video.viewCount,
  11433.                     a.hide(),
  11434.                     w.set(0),
  11435.                     o.show(),
  11436.                     T.show(),
  11437.                     "" === e.video.duration ? (window.ppVideoParseErrorMessage.innerHTML = gettext("Live broadcasts are not supported"), o.hide(), l.show(), void(S = !1)) : void x.getInfo("https://www.youtube.com/watch?v=" + e.video.id, function (t, n) {
  11438.                         var r,
  11439.                         a,
  11440.                         s;
  11441.                         if (t)
  11442.                             return "0:00" === e.video.duration ? window.ppVideoParseErrorMessage.innerHTML = gettext("Live broadcasts are not supported") : window.ppVideoParseErrorMessage.innerHTML = gettext("11442 Video is not available " + t), o.hide(), l.show(), void(S = !1);
  11443.                         if (0 === n.formats.length)
  11444.                             return "0:00" === e.video.duration ? window.ppVideoParseErrorMessage.innerHTML = gettext("Live broadcasts are not supported") : window.ppVideoParseErrorMessage.innerHTML = gettext("11445 Video is not available"), o.hide(), l.show(), void(S = !1);
  11445.                         for (a = 0, s = n.formats.length; s > a; ++a)
  11446.                             n.formats[a].resolution = n.formats[a].resolution || "", "mp4" === n.formats[a].container && n.formats[a].audioBitrate && (r ? r.resolution < n.formats[a].resolution && -1 !== n.formats[a].type.indexOf("video") && (r = n.formats[a]) : -1 !== n.formats[a].type.indexOf("video") && (r = n.formats[a]));
  11447.                         r || (r = n.formats[0]),
  11448.                         i(null, r)
  11449.                     })
  11450.                 },
  11451.                 s.addListeners({
  11452.                     pause: function (e) {
  11453.                         e.state ? (c.$icon.className = "icon player-play", c.$text.innerText = gettext("Play")) : (c.$icon.className = "icon player-pause", c.$text.innerText = gettext("Pause")),
  11454.                         e.state ? a.visible || o.display() : o.display(5)
  11455.                     },
  11456.                     duration: function (e) {
  11457.                         this.rewindHelper.isActive || this.setModeHelper.active || (w.set(e.sec), window.playerCurrentDuration.innerText = e.time)
  11458.                     },
  11459.                     "playback:begin": function () {
  11460.                         I.urlParseErrorCount = !1,
  11461.                         window.ppPanelPlayer.classList.add("transparent"),
  11462.                         E.hide(),
  11463.                         window.playerTotalDuration.innerText = I.video.duration,
  11464.                         w.init({
  11465.                             value: 0,
  11466.                             max: gSTB.GetMediaLen()
  11467.                         }),
  11468.                         I.channel.icon ? (window.playerChannelIcon.style.backgroundImage !== 'url("' + I.channel.icon + '")' && (window.playerChannelIcon.style.backgroundImage = 'url("' + I.channel.icon + '")'), window.playerChannelIcon.style.visibility = "", window.playerChannelName.style.visibility = "") : window.playerChannelIcon.style.backgroundImage = "none",
  11469.                         c.$icon.className = "icon player-pause",
  11470.                         c.$text.innerText = gettext("Pause"),
  11471.                         S = !1,
  11472.                         o.display(5),
  11473.                         N || T.updateView({
  11474.                             SEARCH: {
  11475.                                 icon: "search",
  11476.                                 visible: !0,
  11477.                                 text: gettext("Search")
  11478.                             },
  11479.                             MORE: {
  11480.                                 icon: "more",
  11481.                                 visible: !1,
  11482.                                 text: gettext("More")
  11483.                             },
  11484.                             GUIDE: {
  11485.                                 icon: "info",
  11486.                                 visible: !1,
  11487.                                 text: gettext("Guide")
  11488.                             },
  11489.                             BACK: {
  11490.                                 icon: "back",
  11491.                                 visible: !0,
  11492.                                 text: gettext("Back")
  11493.                             }
  11494.                         }),
  11495.                         N = !0
  11496.                     },
  11497.                     "get:info": function () {
  11498.                         window.ppPanelPlayer.classList.add("transparent"),
  11499.                         E.hide()
  11500.                     },
  11501.                     rewind: function (e) {
  11502.                         var t = s.parseTime(e.time),
  11503.                         n = "";
  11504.                         w.set(e.time),
  11505.                         +t.hour && (n += t.hour + ":"),
  11506.                         n += t.min + ":" + t.sec,
  11507.                         window.playerCurrentDuration.innerText = n
  11508.                     },
  11509.                     "rewind:start": function () {
  11510.                         w.$node.classList.add("rewind"),
  11511.                         a.visible || o.display()
  11512.                     },
  11513.                     "rewind:apply": function () {
  11514.                         w.$node.classList.remove("rewind"),
  11515.                         o.display(6)
  11516.                     },
  11517.                     "position:input": function (e) {
  11518.                         e.start && window.playerCurrentDuration.classList.add("setMode"),
  11519.                         e.end && window.playerCurrentDuration.classList.remove("setMode"),
  11520.                         w.set(e.sec),
  11521.                         window.playerCurrentDuration.innerText = e.time
  11522.                     },
  11523.                     "content:end": function () {
  11524.                         var e = JSON.parse(JSON.stringify(I));
  11525.                         e.playlist && e.playlist.length > e.position + 1 ? (++e.position, e.video = e.playlist[e.position], e.channel = {
  11526.                                 title: e.video.channelTitle,
  11527.                                 id: e.video.channelId
  11528.                             }, e.urlParseErrorCount = !1, s.playContent(e)) : o.show()
  11529.                     },
  11530.                     "content:error": function () {
  11531.                         I.urlParseErrorCount || (I.urlParseErrorCount = 0),
  11532.                         I.urlParseErrorCount > 2 ? (window.ppVideoParseErrorMessage.innerHTML = gettext("11532 Video is not available"), l.show(), S = !1) : (++I.urlParseErrorCount, S = !1, s.playContent(I))
  11533.                     }
  11534.                 }),
  11535.                 l = new y({
  11536.                         $node: document.getElementById("ppVideoParseError"),
  11537.                         visible: !1,
  11538.                         focusable: !0,
  11539.                         events: {
  11540.                             show: function () {
  11541.                                 E.hide(),
  11542.                                 o.hide(),
  11543.                                 this.focus(),
  11544.                                 window.ppPanelPlayer.classList.remove("transparent")
  11545.                             },
  11546.                             keydown: function (e) {
  11547.                                 e.stop = !0,
  11548.                                 l.hide(),
  11549.                                 o.show()
  11550.                             }
  11551.                         }
  11552.                     }),
  11553.                 window.ppVideoParseErrorHeader.innerHTML = gettext("Error playing"),
  11554.                 window.ppVideoParseErrorMessage.innerHTML = gettext("11554 Video is not available")
  11555.             }),
  11556.             p.addListener("keydown", function (e) {
  11557.                 switch (e.code) {
  11558.                 case m.exit:
  11559.                     S && (event.stop = !0);
  11560.                     break;
  11561.                 case m.back:
  11562.                     a.visible ? (a.hide(), 0 === w.value ? f.back() : (T.show(), o.show())) : p.activeComponent === s ? f.back() : s.totalDurationSec === s.currentSec ? f.back() : o.hide();
  11563.                     break;
  11564.                 case m.stop:
  11565.                     s.stop(),
  11566.                     s.isPause = !1,
  11567.                     c.emit("click"),
  11568.                     E.hide(),
  11569.                     window.ppPanelPlayer.classList.remove("transparent"),
  11570.                     o.show();
  11571.                     break;
  11572.                 case m.down:
  11573.                     break;
  11574.                 case m.playPause:
  11575.                     s.playPause();
  11576.                     break;
  11577.                 case m.f3:
  11578.                     f.navigate("ps")
  11579.                 }
  11580.             }),
  11581.             p.addListener("hide", function () {
  11582.                 E.hide(),
  11583.                 s.stop(),
  11584.                 o.hide(),
  11585.                 a.hide()
  11586.             }),
  11587.             e.exports = p
  11588.         }, function (e, t, n) {
  11589.             "use strict";
  11590.             var i,
  11591.             r,
  11592.             o,
  11593.             a = "ps",
  11594.             s = n(1),
  11595.             l = n(2),
  11596.             c = n(16),
  11597.             u = n(40),
  11598.             d = n(13),
  11599.             h = n(56),
  11600.             p = new(n(55)),
  11601.             f = n(57),
  11602.             m = n(15),
  11603.             g = (n(7), new c({
  11604.                     $node: document.getElementById(a)
  11605.                 })),
  11606.             v = new u({
  11607.                     $node: document.getElementById("psSearch"),
  11608.                     $body: document.getElementById("psSearchInput")
  11609.                 }),
  11610.             y = n(8),
  11611.             b = !0,
  11612.             w = " ",
  11613.             T = null,
  11614.             E = -1;
  11615.             g.addListener("keydown", function (e) {
  11616.                 e.code === s.back && l.back()
  11617.             }),
  11618.             g.addListener("hide", function () {
  11619.                 y.hide()
  11620.             }),
  11621.             r = f(function (e) {
  11622.                     w = e.value,
  11623.                     T.model.filter({
  11624.                         searchQuery: e.value
  11625.                     }),
  11626.                     clearTimeout(E),
  11627.                     E = setTimeout(function () {
  11628.                             y.hide()
  11629.                         }, 5e3)
  11630.                 }, 1e3),
  11631.             g.addListener("show", function () {
  11632.                 m.updateView({
  11633.                     SEARCH: {
  11634.                         icon: "search",
  11635.                         visible: !1,
  11636.                         text: ""
  11637.                     },
  11638.                     MORE: {
  11639.                         icon: "more",
  11640.                         visible: !1,
  11641.                         text: ""
  11642.                     },
  11643.                     GUIDE: {
  11644.                         icon: "info",
  11645.                         visible: !1,
  11646.                         text: ""
  11647.                     },
  11648.                     BACK: {
  11649.                         icon: "back",
  11650.                         visible: !0,
  11651.                         text: gettext("Back")
  11652.                     }
  11653.                 }),
  11654.                 y.hide(),
  11655.                 g.activeComponent || (b && (window.psSearchIcon.style.display = "block", setTimeout(function () {
  11656.                             window.psSearchIcon.style.display = "inline-table"
  11657.                         }, 0)), null !== g.activeComponent && g.activeComponent !== v || setTimeout(function () {
  11658.                         v.focus()
  11659.                     }, 0))
  11660.             }),
  11661.             g.addListener("load", function () {
  11662.                 i = n(46),
  11663.                 v.addListener("keydown", function (e) {
  11664.                     e.code === s.down ? (o = v.getCaretPosition(), i.focus()) : e.code === s.up && T.visible ? (T.focus(), T.$focusItem || T.focusIndex(0)) : e.code === s.back && 0 === this.$body.value.length && l.back()
  11665.                 }),
  11666.                 v.addListener("input", function (e) {
  11667.                     T.hide(),
  11668.                     y.show(),
  11669.                     r(e)
  11670.                 }),
  11671.                 i.addListener("overflow", function (e) {
  11672.                     e.direction === s.up && v.focus()
  11673.                 }),
  11674.                 i.addListener("click:item", function (e) {
  11675.                     "symbol" === e.$item.data.className ? (v.addChar(e.$item.data.value, o), ++o) : -1 !== e.$item.data.className.indexOf("keySpace") ? (v.addChar(" ", o), o = v.getCaretPosition()) : -1 !== e.$item.data.className.indexOf("keyDelete") ? (v.removeChar(), o = v.getCaretPosition()) : -1 !== e.$item.data.className.indexOf("delete") && (v.setValue(""), o = v.getCaretPosition())
  11676.                 }),
  11677.                 i.addListener("keydown", function () {
  11678.                     r({
  11679.                         value: v.value
  11680.                     })
  11681.                 }),
  11682.                 T = new d({
  11683.                         $node: document.getElementById("psListVideos"),
  11684.                         model: new h({
  11685.                             order: "relevance"
  11686.                         }),
  11687.                         size: 5,
  11688.                         events: {
  11689.                             keydown: function (e) {
  11690.                                 switch (e.code) {
  11691.                                 case s.down:
  11692.                                     v.focus();
  11693.                                     break;
  11694.                                 case s.right:
  11695.                                     this.$focusItem.index < this.data.length - 1 && (this.$focusItem.index > 0 ? (this.activePage++, this.renderView(this.activePage)) : this.focusIndex(1));
  11696.                                     break;
  11697.                                 case s.left:
  11698.                                     this.activePage > 0 ? (this.activePage--, this.renderView(this.activePage)) : 1 === this.$focusItem.index ? this.focusIndex(0) : this.move(e.code);
  11699.                                     break;
  11700.                                 case s.ok:
  11701.                                     this.emit("click:item", {
  11702.                                         $item: this.$focusItem,
  11703.                                         event: e
  11704.                                     })
  11705.                                 }
  11706.                             },
  11707.                             "click:item": function (e) {
  11708.                                 "video" === e.$item.data.type ? l.navigate("pp", {
  11709.                                     video: e.$item.data,
  11710.                                     playlist: this.data,
  11711.                                     position: e.$item.index
  11712.                                 }) : "playlist" === e.$item.data.type ? p.getPage({
  11713.                                     playlistId: e.$item.data.playlistId
  11714.                                 }, function (t, n) {
  11715.                                     l.navigate("pp", {
  11716.                                         channel: e.$item.data.channel,
  11717.                                         video: n[0],
  11718.                                         playlist: n,
  11719.                                         position: 0
  11720.                                     })
  11721.                                 }) : "channel" === e.$item.data.type && l.navigate("pm", {
  11722.                                     channel: e.$item.data
  11723.                                 })
  11724.                             },
  11725.                             "view:ready": function () {
  11726.                                 clearTimeout(E),
  11727.                                 y.hide(),
  11728.                                 this.show(),
  11729.                                 this.focusIndex(0)
  11730.                             }
  11731.                         },
  11732.                         render: function (e, t) {
  11733.                             var n,
  11734.                             i,
  11735.                             r;
  11736.                             e.ready ? (e.$videoThumb.className = "thumb " + t.type, e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", e.$videoTitle.innerText = t.title, e.$videoTitle.className = "title " + t.type, e.$videoAthour.className = "uploader " + t.type, "video" === t.type ? (e.$videoAthour.innerText = t.locale.channelTitle, e.$viewCounter.innerText = t.locale.viewCount, e.$dateAdded.innerText = t.locale.publishedAt, e.$videoDuration.innerText = t.duration) : "channel" === t.type ? (e.$videoAthour.innerText = t.locale.subscriberCount, e.$viewCounter.innerText = "", e.$dateAdded.innerText = "", e.$videoDuration.innerText = "") : (e.$videoAthour.innerText = t.locale.channelTitle, e.$viewCounter.innerText = "", e.$dateAdded.innerText = "", e.$videoDuration.innerText = ""), "playlist" === t.type ? e.$videoDuration.className = "icon playlist" : e.$videoDuration.className = "duration") : (n = document.createElement("div"), n.className = "container", e.appendChild(n), i = document.createElement("div"), i.className = "tileTop", n.appendChild(i), r = document.createElement("div"), r.className = "tileBottom", n.appendChild(r), e.$videoThumb = document.createElement("div"), e.$videoThumb.className = "thumb " + t.type, e.$videoThumb.style.backgroundImage = "url(" + t.icon + ")", i.appendChild(e.$videoThumb), e.$videoDuration = document.createElement("div"), "playlist" === t.type ? e.$videoDuration.className = "icon playlist" : e.$videoDuration.className = "duration", t.duration ? e.$videoDuration.innerText = t.duration : e.$videoDuration.innerText = "", i.appendChild(e.$videoDuration), e.$videoTitle = document.createElement("div"), e.$videoTitle.className = "title " + t.type, e.$videoTitle.innerText = t.title, r.appendChild(e.$videoTitle), e.$videoAthour = document.createElement("div"), e.$videoAthour.className = "uploader " + t.type, t.channelTitle ? e.$videoAthour.innerText = t.locale.channelTitle : "channel" === t.type ? e.$videoAthour.innerText = t.locale.subscriberCount : e.$videoAthour.innerText = "", r.appendChild(e.$videoAthour), e.$viewCounter = document.createElement("div"), e.$viewCounter.className = "viewCount", "video" === t.type ? e.$viewCounter.innerText = t.locale.viewCount : e.$viewCounter.innerText = "", r.appendChild(e.$viewCounter), e.$dateAdded = document.createElement("div"), e.$dateAdded.className = "uploaded", "video" === t.type ? e.$dateAdded.innerText = t.locale.publishedAt : e.$dateAdded.innerText = "", r.appendChild(e.$dateAdded), e.ready = !0)
  11737.                         }
  11738.                     })
  11739.             }),
  11740.             e.exports = g
  11741.         }, function (e, t, n) {
  11742.             "use strict";
  11743.             function i(e) {
  11744.                 r.call(this),
  11745.                 this.data = e || {}
  11746.             }
  11747.             var r = n(5);
  11748.             i.prototype = Object.create(r.prototype),
  11749.             i.prototype.constructor = i,
  11750.             i.prototype.idName = "id",
  11751.             i.prototype.clear = function () {
  11752.                 var e = this.data;
  11753.                 return Object.keys(e).length > 0 ? (this.data = {}, this.events.clear && this.emit("clear", {
  11754.                         data: e
  11755.                     }), !0) : !1
  11756.             },
  11757.             i.prototype.init = function (e) {
  11758.                 return e ? (this.clear(), this.data = e, this.events.init && this.emit("init", {
  11759.                         data: e
  11760.                     }), !0) : !1
  11761.             },
  11762.             i.prototype.has = function (e) {
  11763.                 return this.data.hasOwnProperty(e)
  11764.             },
  11765.             i.prototype.get = function (e) {
  11766.                 return this.data[e]
  11767.             },
  11768.             i.prototype.set = function (e, t) {
  11769.                 var n = e in this.data,
  11770.                 i = {
  11771.                     name: e,
  11772.                     curr: t
  11773.                 };
  11774.                 return n ? (i.prev = this.data[e], t !== i.prev ? (this.data[e] = t, this.events.change && this.emit("change", i), !0) : !1) : (this.data[e] = t, this.events.change && this.emit("change", i), !0)
  11775.             },
  11776.             i.prototype.unset = function (e) {
  11777.                 var t,
  11778.                 n = e in this.data;
  11779.                 return n ? (t = {
  11780.                         name: e,
  11781.                         prev: this.data[e]
  11782.                     }, delete this.data[e], this.events.change && this.emit("change", t), !0) : !1
  11783.             },
  11784.             e.exports = i
  11785.         }, function (e, t, n) {
  11786.             "use strict";
  11787.             function i(e) {
  11788.                 var t = this;
  11789.                 this.isPLaying = !1,
  11790.                 this.isPause = !1,
  11791.                 this.totalDuration = "",
  11792.                 this.totalDurationSec = 0,
  11793.                 this.currentTime = "",
  11794.                 this.currentSec = 0,
  11795.                 this.rewindHelper = {
  11796.                     isActive: !1,
  11797.                     startTime: 0,
  11798.                     time: 0,
  11799.                     timeout: 0,
  11800.                     duration: void 0,
  11801.                     timeoutDuration: !1
  11802.                 },
  11803.                 this.setModeHelper = {
  11804.                     active: !1,
  11805.                     timeout: 0,
  11806.                     time: 0,
  11807.                     timeStr: "",
  11808.                     count: 0,
  11809.                     length: 0,
  11810.                     sec: 0,
  11811.                     timeoutDuration: 0
  11812.                 },
  11813.                 this.audioPIDs = [],
  11814.                 this.currentAudioPID = 0,
  11815.                 this.activeAspect = 0,
  11816.                 this.subtitlePIDs = [],
  11817.                 this.currentSubtitle = null,
  11818.                 this.durationInterval = 0,
  11819.                 this.allowInputPosition = !0,
  11820.                 e = e || {},
  11821.                 a.call(this, e),
  11822.                 this.$node.classList.add("player"),
  11823.                 this.init(e),
  11824.                 r.addListener("media", function (e) {
  11825.                     i.prototype.mediaListener.call(t, e)
  11826.                 })
  11827.             }
  11828.             var r = n(3),
  11829.             o = n(1),
  11830.             a = n(4);
  11831.             i.prototype = Object.create(a.prototype),
  11832.             i.prototype.constructor = i,
  11833.             i.prototype.ASPECT_TYPE_FIT = 16,
  11834.             i.prototype.ASPECT_TYPE_BIG = 64,
  11835.             i.prototype.ASPECT_TYPE_OPTIMAL = 80,
  11836.             i.prototype.ASPECT_TYPE_ZOOM = 0,
  11837.             i.prototype.aspects = [{
  11838.                     name: "fit",
  11839.                     mode: i.prototype.ASPECT_TYPE_FIT
  11840.                 }, {
  11841.                     name: "big",
  11842.                     mode: i.prototype.ASPECT_TYPE_BIG
  11843.                 }, {
  11844.                     name: "opt",
  11845.                     mode: i.prototype.ASPECT_TYPE_OPTIMAL
  11846.                 }, {
  11847.                     name: "exp",
  11848.                     mode: i.prototype.ASPECT_TYPE_ZOOM
  11849.                 }
  11850.             ],
  11851.             i.prototype.STEREO_MODE_OFF = 0,
  11852.             i.prototype.STEREO_MODE_OVER_UNDER = 1,
  11853.             i.prototype.STEREO_MODE_OVER_UNDER_HD = 2,
  11854.             i.prototype.STEREO_MODE_SIDE_BY_SIDE = 3,
  11855.             i.prototype.stereoModes = [{
  11856.                     mode: i.prototype.STEREO_MODE_OFF,
  11857.                     name: "Off"
  11858.                 }, {
  11859.                     mode: i.prototype.STEREO_MODE_OVER_UNDER,
  11860.                     name: "Over-Under"
  11861.                 }, {
  11862.                     mode: i.prototype.STEREO_MODE_OVER_UNDER_HD,
  11863.                     name: "Over-Under HD"
  11864.                 }, {
  11865.                     mode: i.prototype.STEREO_MODE_SIDE_BY_SIDE,
  11866.                     name: "Side-by-side"
  11867.                 }
  11868.             ],
  11869.             i.prototype.defaultEvents = {
  11870.                 keydown: function (e) {
  11871.                     switch (e.code) {
  11872.                     case o.ok:
  11873.                     case o.playPause:
  11874.                         this.playPause();
  11875.                         break;
  11876.                     case o.stop:
  11877.                         this.stop();
  11878.                         break;
  11879.                     case o.forward:
  11880.                     case o.right:
  11881.                         this.rewind(!0);
  11882.                         break;
  11883.                     case o.rewind:
  11884.                     case o.left:
  11885.                         this.rewind(!1);
  11886.                         break;
  11887.                     case o.f4:
  11888.                     case 117:
  11889.                         this.nextAspect();
  11890.                         break;
  11891.                     case o.f1:
  11892.                         this.nextAudioTrack();
  11893.                         break;
  11894.                     case o.f2:
  11895.                         this.nextSubtitle();
  11896.                         break;
  11897.                     case o.f3:
  11898.                         this.nextViewMode();
  11899.                         break;
  11900.                     case 48:
  11901.                     case 49:
  11902.                     case 50:
  11903.                     case 51:
  11904.                     case 52:
  11905.                     case 53:
  11906.                     case 54:
  11907.                     case 55:
  11908.                     case 56:
  11909.                     case 57:
  11910.                     case 58:
  11911.                         this.inputPosition(e.code)
  11912.                     }
  11913.                 }
  11914.             },
  11915.             i.prototype.mediaListener = function (e) {
  11916.                 var t,
  11917.                 n,
  11918.                 i,
  11919.                 o,
  11920.                 a,
  11921.                 s,
  11922.                 l = this,
  11923.                 c = {};
  11924.                 switch (e.code) {
  11925.                 case r.EVENT_PLAYBACK_BEGIN:
  11926.                     l.isPLaying = !0,
  11927.                     l.durationInterval && (clearInterval(l.durationInterval), l.durationInterval = 0),
  11928.                     l.durationInterval = setInterval(function () {
  11929.                             l.events.duration && (l.currentSec = gSTB.GetPosTime(), n = l.parseTime(l.currentSec), l.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec, l.emit("duration", {
  11930.                                     sec: l.currentSec,
  11931.                                     time: l.currentTime
  11932.                                 }))
  11933.                         }, 1e3),
  11934.                     l.events["playback:begin"] && l.emit("playback:begin");
  11935.                     break;
  11936.                 case r.EVENT_GET_MEDIA_INFO:
  11937.                     l.totalDurationSec = gSTB.GetMediaLen(),
  11938.                     l.totalDurationSec > 3600 ? l.setModeHelper.length = 6 : l.setModeHelper.length = 4,
  11939.                     t = l.parseTime(gSTB.GetMediaLen()),
  11940.                     l.totalDuration = (t.hour > 0 ? t.hour + ":" : "") + t.min + ":" + t.sec,
  11941.                     c.totalDuration = l.totalDuration,
  11942.                     c.totalDurationSec = l.totalDurationSec;
  11943.                     try {
  11944.                         a = gSTB.GetAudioPIDs().replace(/pid:/g, '"pid":').replace(/lang:/g, '"lang":'),
  11945.                         l.audioPIDs = JSON.parse(a)
  11946.                     } catch (u) {}
  11947.                     try {
  11948.                         s = gSTB.GetSubtitlePIDs().replace(/pid:/g, '"pid":').replace(/lang:/g, '"lang":'),
  11949.                         l.subtitlePIDs = JSON.parse(s)
  11950.                     } catch (u) {}
  11951.                     l.currentAudioPID = 0,
  11952.                     "" !== l.audioPIDs[0].lang[0] ? c.audioPid = l.audioPIDs[0].lang[0] : c.audioPid = void 0,
  11953.                     l.currentSubtitle = null,
  11954.                     c.subtitles = null,
  11955.                     c.stereoMode = {
  11956.                         type: gSTB.Get3DConversionMode(),
  11957.                         name: l.stereoModes[gSTB.Get3DConversionMode()].name
  11958.                     },
  11959.                     l.events["get:info"] && l.emit("get:info", c);
  11960.                     break;
  11961.                 case r.EVENT_CONTENT_ERROR:
  11962.                     l.isPLaying = !1,
  11963.                     l.events["content:error"] && l.emit("content:error");
  11964.                     break;
  11965.                 case r.EVENT_END_OF_FILE:
  11966.                     l.currentSec = l.totalDurationSec,
  11967.                     l.isPLaying = !1,
  11968.                     l.events["content:end"] && l.emit("content:end");
  11969.                     break;
  11970.                 case r.EVENT_SUBTITLE_LOAD_ERROR:
  11971.                     l.subtitlePIDs.pop();
  11972.                     break;
  11973.                 case r.EVENT_HDMI_DISCONNECT:
  11974.                     if (i = parseInt(JSON.parse(gSTB.GetEnv('{"varList":["hdmi_event_delay"]}')).result.hdmi_event_delay, 10), 0 === i)
  11975.                         return;
  11976.                     l.hdmiEventTimeout = setTimeout(function () {
  11977.                             l.isPLaying && stbStorage.setItem("standByPlayback", JSON.stringify({
  11978.                                     url: l.playUrl,
  11979.                                     position: l.currentSec
  11980.                                 })),
  11981.                             gSTB.StandBy(!0),
  11982.                             l.hdmiEventTimeout = null
  11983.                         }, i);
  11984.                     break;
  11985.                 case r.EVENT_HDMI_CONNECT:
  11986.                     if (i = parseInt(JSON.parse(gSTB.GetEnv('{"varList":["hdmi_event_delay"]}')).result.hdmi_event_delay, 10), 0 === i)
  11987.                         return;
  11988.                     if (l.hdmiEventTimeout)
  11989.                         return clearTimeout(l.hdmiEventTimeout), void(l.hdmiEventTimeout = null);
  11990.                     gSTB.StandBy(!1),
  11991.                     o = JSON.parse(stbStorage.getItem("standByPlayback")),
  11992.                     i && (l.play(o.url, {
  11993.                             position: o.position
  11994.                         }), stbStorage.removeItem("standByPlayback"))
  11995.                 }
  11996.             },
  11997.             i.prototype.init = function (e) {
  11998.                 e.allowInputPosition && (this.allowInputPosition = e.allowInputPosition),
  11999.                 e.rewindDuration && (this.rewindHelper.duration = e.rewindDuration),
  12000.                 e.rewindTimeout && (this.rewindHelper.timeoutDuration = e.rewindTimeout),
  12001.                 e.inputPositionTimeout && (this.setModeHelper.timeoutDuration = e.inputPositionTimeout),
  12002.                 gSTB.InitPlayer(),
  12003.                 gSTB.SetAspect(16),
  12004.                 gSTB.SetVideoControl(0),
  12005.                 gSTB.SetVideoState(0),
  12006.                 gSTB.SetMode(0),
  12007.                 gSTB.SetWinAlphaLevel(0, 255),
  12008.                 gSTB.SetWinAlphaLevel(1, 255),
  12009.                 gSTB.SetPIG(1, 0, 0, 0),
  12010.                 gSTB.Set3DConversionMode(0),
  12011.                 gSTB.SetTopWin(0)
  12012.             },
  12013.             i.prototype.play = function (e, t) {
  12014.                 var n,
  12015.                 i;
  12016.                 this.totalDurationSec = 0,
  12017.                 this.currentSec = 0,
  12018.                 this.playUrl = e,
  12019.                 t = t || {},
  12020.                 n = t.solution ? t.solution : "auto",
  12021.                 i = t.position ? " position:" + t.position : "",
  12022.                 gSTB.Play(n + " " + e + i, t.proxy)
  12023.             },
  12024.             i.prototype.stop = function () {
  12025.                 gSTB.Stop(),
  12026.                 clearInterval(this.durationInterval),
  12027.                 this.isPLaying = !1,
  12028.                 this.isPause = !1
  12029.             },
  12030.             i.prototype.playPause = function () {
  12031.                 this.isPause ? gSTB.Continue() : gSTB.Pause(),
  12032.                 this.isPause = !this.isPause,
  12033.                 this.events.pause && this.emit("pause", {
  12034.                     state: this.isPause
  12035.                 })
  12036.             },
  12037.             i.prototype.rewind = function (e, t) {
  12038.                 var n,
  12039.                 i = this;
  12040.                 t = t || this.rewindHelper.duration || 15,
  12041.                 this.rewindHelper.isActive || (this.currentSec = gSTB.GetPosTime(), n = i.parseTime(i.currentSec), this.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec, this.rewindHelper.isActive = !0, this.rewindHelper.startTime = this.currentSec, this.rewindHelper.time = this.currentSec, this.events["rewind:start"] && this.emit("rewind:start")),
  12042.                 e ? this.rewindHelper.time + t < this.totalDurationSec ? this.rewindHelper.time += t : this.rewindHelper.time = this.totalDurationSec : this.rewindHelper.time - t > 0 ? this.rewindHelper.time -= t : this.rewindHelper.time = 0,
  12043.                 this.rewindHelper.timeout && clearTimeout(this.rewindHelper.timeout),
  12044.                 this.events.rewind && this.emit("rewind", {
  12045.                     time: this.rewindHelper.time,
  12046.                     shift: this.rewindHelper.time - this.rewindHelper.startTime
  12047.                 }),
  12048.                 this.rewindHelper.timeoutDuration ? this.rewindHelper.timeout = setTimeout(function () {
  12049.                         return clearInterval(i.durationInterval),
  12050.                         i.durationInterval = 0,
  12051.                         i.rewindHelper.isActive = !1,
  12052.                         i.events["rewind:apply"] && i.emit("rewind:apply"),
  12053.                         i.currentSec = i.rewindHelper.time,
  12054.                         i.rewindHelper.timeout = 0,
  12055.                         i.rewindHelper.time === i.totalDurationSec ? void(i.events["content:end"] && i.emit("content:end")) : void gSTB.SetPosTime(i.rewindHelper.time)
  12056.                     }, this.rewindHelper.timeoutDuration) : (clearInterval(i.durationInterval), i.durationInterval = 0, gSTB.SetPosTime(i.rewindHelper.time), i.currentSec = i.rewindHelper.time, i.rewindHelper.isActive = !1, i.events["rewind:apply"] && i.emit("rewind:apply"))
  12057.             },
  12058.             i.prototype.nextAudioTrack = function () {
  12059.                 return this.audioPIDs.length <= 1 ? !1 : (this.currentAudioPID < this.audioPIDs.length - 1 ? this.currentAudioPID++ : this.currentAudioPID = 0, gSTB.SetAudioPID(this.audioPIDs[this.currentAudioPID].pid), this.events["audio:track"] && this.emit("audio:track", {
  12060.                         lang: this.audioPIDs[this.currentAudioPID].lang[0],
  12061.                         pid: this.audioPIDs[this.currentAudioPID].pid
  12062.                     }), !0)
  12063.             },
  12064.             i.prototype.setAudioTrack = function (e) {
  12065.                 gSTB.SetAudioPID(this.audioPIDs[e].pid),
  12066.                 this.currentAudioPID = e,
  12067.                 this.events["audio:track"] && this.emit("audio:track", {
  12068.                     lang: this.audioPIDs[this.currentAudioPID].lang[0],
  12069.                     pid: this.audioPIDs[this.currentAudioPID].pid
  12070.                 })
  12071.             },
  12072.             i.prototype.nextAspect = function () {
  12073.                 this.activeAspect++,
  12074.                 this.activeAspect > this.aspects.length - 1 && (this.activeAspect = 0),
  12075.                 gSTB.SetAspect(this.aspects[this.activeAspect].mode),
  12076.                 this.events["aspect:change"] && this.emit("aspect:change", {
  12077.                     type: this.aspects[this.activeAspect].mode,
  12078.                     name: this.aspects[this.activeAspect].name
  12079.                 })
  12080.             },
  12081.             i.prototype.setAspect = function (e) {
  12082.                 this.activeAspect = e,
  12083.                 gSTB.SetAspect(this.aspects[this.activeAspect].mode),
  12084.                 this.events["aspect:change"] && this.emit("aspect:change", {
  12085.                     type: this.aspects[this.activeAspect].type,
  12086.                     name: this.aspects[this.activeAspect].name
  12087.                 })
  12088.             },
  12089.             i.prototype.nextSubtitle = function () {
  12090.                 return this.subtitlePIDs.length <= 0 ? (this.events["subtitles:change"] && this.emit("subtitles:change", null), !1) : (null === this.currentSubtitle ? this.currentSubtitle = 0 : this.currentSubtitle < this.subtitlePIDs.length - 1 ? this.currentSubtitle++ : this.currentSubtitle = null, null !== this.currentSubtitle ? (gSTB.SetSubtitlePID(this.subtitlePIDs[this.currentSubtitle].pid), gSTB.SetSubtitles(!0), this.events["subtitles:change"] && this.emit("subtitles:change", {
  12091.                             lang: this.subtitlePIDs[this.currentSubtitle].lang[0],
  12092.                             pid: this.subtitlePIDs[this.currentSubtitle].pid
  12093.                         })) : (gSTB.SetSubtitles(!1), this.events["subtitles:change"] && this.emit("subtitles:change", null)), !0)
  12094.             },
  12095.             i.prototype.setSubtitle = function (e) {
  12096.                 gSTB.SetSubtitlePID(this.subtitlePIDs[e].pid),
  12097.                 gSTB.SetSubtitles(!0),
  12098.                 this.currentSubtitle = e,
  12099.                 this.events["subtitles:change"] && this.emit("subtitles:change", {
  12100.                     lang: this.subtitlePIDs[this.currentSubtitle].lang[0],
  12101.                     pid: this.subtitlePIDs[this.currentSubtitle].pid
  12102.                 })
  12103.             },
  12104.             i.prototype.hideSubtitles = function () {
  12105.                 gSTB.SetSubtitles(!1),
  12106.                 this.events["subtitles:change"] && this.emit("subtitles:change", null)
  12107.             },
  12108.             i.prototype.loadExternalSubtitle = function (e) {
  12109.                 e && "string" == typeof e && (gSTB.LoadExternalSubtitles(e), this.subtitlePIDs.push({
  12110.                         pid: 8192
  12111.                     }), this.events["subtitles:load"] && this.emit("subtitles:load", null))
  12112.             },
  12113.             i.prototype.nextViewMode = function () {
  12114.                 var e = gSTB.Get3DConversionMode();
  12115.                 3 > e ? e++ : e = 0,
  12116.                 gSTB.Set3DConversionMode(e),
  12117.                 this.events["viewmode:change"] && this.emit("viewmode:change", {
  12118.                     type: this.stereoModes[e].mode,
  12119.                     name: this.stereoModes[e].name
  12120.                 })
  12121.             },
  12122.             i.prototype.setViewMode = function (e) {
  12123.                 e > 0 && 3 >= e && (gSTB.Set3DConversionMode(e), this.events["viewmode:change"] && this.emit("viewmode:change", {
  12124.                         type: this.stereoModes[e].mode,
  12125.                         name: this.stereoModes[e].name
  12126.                     }))
  12127.             },
  12128.             i.prototype.inputPosition = function (e) {
  12129.                 var t,
  12130.                 n,
  12131.                 i,
  12132.                 r,
  12133.                 o,
  12134.                 a = this,
  12135.                 s = parseInt(e, 10) - 48,
  12136.                 l = [],
  12137.                 c = 0;
  12138.                 this.allowInputPosition && (this.setModeHelper.active || (6 === this.setModeHelper.length ? this.setModeHelper.time = [0, 0, 0, 0, 0, 0] : this.setModeHelper.time = [0, 0, 0, 0], this.setModeHelper.count = 0, this.setModeHelper.active = !0, 6 === this.setModeHelper.length ? this.events["position:input"] && this.emit("position:input", {
  12139.                             time: "00:00:00",
  12140.                             start: !0,
  12141.                             sec: 0
  12142.                         }) : this.events["position:input"] && this.emit("position:input", {
  12143.                             time: "00:00",
  12144.                             start: !0,
  12145.                             sec: 0
  12146.                         })), this.setModeHelper.count <= this.setModeHelper.length && (this.setModeHelper.time.shift(), this.setModeHelper.time.push(s), l = this.setModeHelper.time.slice(0, this.setModeHelper.length + 1), 6 === this.setModeHelper.length ? this.setModeHelper.timeStr = l[0].toString() + l[1].toString() + ":" + l[2].toString() + l[3].toString() + ":" + l[4].toString() + l[5].toString() : this.setModeHelper.timeStr = l[0].toString() + l[1].toString() + ":" + l[2].toString() + l[3].toString(), this.setModeHelper.count++, 6 === this.setModeHelper.length && (i = l.shift() + l.shift().toString(), c += 3600 * parseInt(i, 10)), r = l.shift() + l.shift().toString(), c += 60 * parseInt(r, 10), o = l.shift() + l.shift().toString(), c += parseInt(o, 10), c > this.totalDurationSec && (c = this.totalDurationSec), this.setModeHelper.sec = c, this.events["position:input"] && this.emit("position:input", {
  12147.                             time: a.setModeHelper.timeStr,
  12148.                             sec: c
  12149.                         })), clearTimeout(this.setModeHelper.timeout), t = this.setModeHelper.timeoutDuration ? this.setModeHelper.timeoutDuration : 2e3, this.setModeHelper.timeout = setTimeout(function () {
  12150.                             a.setModeHelper.active = !1,
  12151.                             clearInterval(a.durationInterval),
  12152.                             a.durationInterval = 0,
  12153.                             gSTB.SetPosTime(a.setModeHelper.sec),
  12154.                             a.currentSec = a.setModeHelper.sec,
  12155.                             n = a.parseTime(a.currentSec),
  12156.                             a.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec,
  12157.                             a.events["position:input"] && a.emit("position:input", {
  12158.                                 time: a.setModeHelper.timeStr,
  12159.                                 sec: a.setModeHelper.sec,
  12160.                                 end: !0
  12161.                             })
  12162.                         }, t))
  12163.             },
  12164.             i.prototype.setPosition = function (e) {
  12165.                 var t;
  12166.                 gSTB.SetPosTime(e),
  12167.                 this.currentSec = e,
  12168.                 t = self.parseTime(self.currentSec),
  12169.                 this.currentTime = (t.hour > 0 ? t.hour + ":" : "") + t.min + ":" + t.sec,
  12170.                 this.events["position:set"] && this.emit("position:set", {
  12171.                     sec: e
  12172.                 })
  12173.             },
  12174.             i.prototype.parseTime = function (e) {
  12175.                 var t,
  12176.                 n,
  12177.                 i;
  12178.                 return e >= 0 ? (t = Math.floor(e / 3600), n = Math.floor((e - 3600 * t) / 60), i = e - 3600 * t - 60 * n, 10 > t && (t = "0" + t), 10 > i && (i = "0" + i), 10 > n && (n = "0" + n)) : (e = Math.abs(e), t = Math.floor(e / 3600), n = Math.floor((e - 3600 * t) / 60), i = e - 3600 * t - 60 * n, 10 > t && (t = "0" + t), 10 > i && (i = "0" + i), 10 > n && (n = "0" + n), t = "-" + t), {
  12179.                     hour: t,
  12180.                     min: n,
  12181.                     sec: i
  12182.                 }
  12183.             },
  12184.             i.prototype.addListener = function (e, t) {
  12185.                 var n;
  12186.                 a.prototype.addListener.call(this, e, t),
  12187.                 "duration" === e && (this.currentSec = gSTB.GetPosTime(), n = this.parseTime(this.currentSec), this.currentTime = (n.hour > 0 ? n.hour + ":" : "") + n.min + ":" + n.sec, this.emit("duration", {
  12188.                         sec: this.currentSec,
  12189.                         time: this.currentTime
  12190.                     }))
  12191.             },
  12192.             e.exports = i
  12193.         }, function (e, t) {
  12194.             "use strict";
  12195.             if (!("classList" in document.documentElement)) {
  12196.                 var n = Array.prototype,
  12197.                 i = n.indexOf,
  12198.                 r = n.slice,
  12199.                 o = n.push,
  12200.                 a = n.splice,
  12201.                 s = n.join;
  12202.                 window.DOMTokenList = function (e) {
  12203.                     if (this._element = e, e.className !== this._classCache) {
  12204.                         if (this._classCache = e.className, !this._classCache)
  12205.                             return;
  12206.                         var t,
  12207.                         n = this._classCache.replace(/^\s+|\s+$/g, "").split(/\s+/);
  12208.                         for (t = 0; t < n.length; t++)
  12209.                             o.call(this, n[t])
  12210.                     }
  12211.                 },
  12212.                 window.DOMTokenList.prototype = {
  12213.                     add: function (e) {
  12214.                         this.contains(e) || (o.call(this, e), this._element.className = r.call(this, 0).join(" "))
  12215.                     },
  12216.                     contains: function (e) {
  12217.                         return -1 !== i.call(this, e)
  12218.                     },
  12219.                     item: function (e) {
  12220.                         return this[e] || null
  12221.                     },
  12222.                     remove: function (e) {
  12223.                         var t = i.call(this, e);
  12224.                         -1 !== t && (a.call(this, t, 1), this._element.className = r.call(this, 0).join(" "))
  12225.                     },
  12226.                     toString: function () {
  12227.                         return s.call(this, " ")
  12228.                     },
  12229.                     toggle: function (e) {
  12230.                         return this.contains(e) ? this.remove(e) : this.add(e),
  12231.                         this.contains(e)
  12232.                     }
  12233.                 },
  12234.                 Object.defineProperty(Element.prototype, "classList", {
  12235.                     get: function () {
  12236.                         return new window.DOMTokenList(this)
  12237.                     }
  12238.                 })
  12239.             }
  12240.         }, function (e, t) {
  12241.             "use strict";
  12242.             e.exports = function (e) {
  12243.                 var t = {};
  12244.                 return e.split("&").forEach(function (e) {
  12245.                     e = e.split("="),
  12246.                     2 === e.length && (t[e[0]] = decodeURIComponent(e[1]))
  12247.                 }),
  12248.                 t
  12249.             }
  12250.         }, function (e, t, n) {
  12251.             "use strict";
  12252.             function i(e) {
  12253.                 e = e || {},
  12254.                 e.className = "button " + (e.className || ""),
  12255.                 r.call(this, e),
  12256.                 e.icon && (this.$icon = this.$body.appendChild(document.createElement("div")), this.$icon.className = "icon " + e.icon),
  12257.                 this.$text = this.$body.appendChild(document.createElement("div")),
  12258.                 this.$text.classList.add("text"),
  12259.                 e.value && (this.$text.innerText = e.value)
  12260.             }
  12261.             var r = n(4),
  12262.             o = n(1);
  12263.             i.prototype = Object.create(r.prototype),
  12264.             i.prototype.constructor = i,
  12265.             i.prototype.clickDuration = 200,
  12266.             i.prototype.defaultEvents = {
  12267.                 click: function () {
  12268.                     var e = this;
  12269.                     this.$node.classList.add("click"),
  12270.                     setTimeout(function () {
  12271.                         e.$node.classList.remove("click")
  12272.                     }, this.clickDuration)
  12273.                 },
  12274.                 keydown: function (e) {
  12275.                     e.code === o.ok && this.events.click && this.emit("click", {
  12276.                         event: e
  12277.                     })
  12278.                 }
  12279.             },
  12280.             e.exports = i
  12281.         }, function (e, t, n) {
  12282.             "use strict";
  12283.             function i(e) {
  12284.                 e = e || {},
  12285.                 this.map = [],
  12286.                 this.$focusItem = null,
  12287.                 this.data = [],
  12288.                 this.cycleX = !0,
  12289.                 this.cycleY = !0,
  12290.                 this.focusX = 0,
  12291.                 this.focusY = 0,
  12292.                 e.className = "grid " + (e.className || ""),
  12293.                 s.call(this, e),
  12294.                 this.init(e)
  12295.             }
  12296.             function r(e) {
  12297.                 var t,
  12298.                 n,
  12299.                 i;
  12300.                 for (t = 0; t < e.length; t++)
  12301.                     for (n = 0; n < e[t].length; n++)
  12302.                         i = e[t][n], "object" != typeof i ? i = e[t][n] = {
  12303.                             value: e[t][n],
  12304.                             colSpan: 1,
  12305.                             rowSpan: 1
  12306.                         }
  12307.                  : (i.colSpan = i.colSpan || 1, i.rowSpan = i.rowSpan || 1);
  12308.                 return e
  12309.             }
  12310.             function o(e, t, n, i, r, o) {
  12311.                 var a,
  12312.                 s;
  12313.                 for (a = n; n + r > a; a++) {
  12314.                     for (e.length < a + 1 && e.push([]); void 0 !== e[a][t]; )
  12315.                         t++;
  12316.                     for (s = t; t + i > s; s++)
  12317.                         e[a].length < s + 1 && e[a].push(), e[a][s] = o, void 0 === o.x && (o.x = s), void 0 === o.y && (o.y = a)
  12318.                 }
  12319.             }
  12320.             function a(e) {
  12321.                 var t,
  12322.                 n,
  12323.                 i,
  12324.                 r = [];
  12325.                 for (t = 0; t < e.length; t++)
  12326.                     for (n = 0; n < e[t].length; n++)
  12327.                         i = e[t][n], o(r, n, t, i.colSpan, i.rowSpan, i.$item), delete i.$item;
  12328.                 return r
  12329.             }
  12330.             var s = n(4),
  12331.             l = n(1);
  12332.             i.prototype = Object.create(s.prototype),
  12333.             i.prototype.constructor = i,
  12334.             i.prototype.renderItemDefault = function (e, t) {
  12335.                 e.innerText = t.value
  12336.             },
  12337.             i.prototype.renderItem = i.prototype.renderItemDefault,
  12338.             i.prototype.defaultEvents = {
  12339.                 mousewheel: function (e) {
  12340.                     e.wheelDeltaY && this.move(e.wheelDeltaY > 0 ? l.up : l.down),
  12341.                     e.wheelDeltaX && this.move(e.wheelDeltaX > 0 ? l.left : l.right)
  12342.                 },
  12343.                 keydown: function (e) {
  12344.                     switch (e.code) {
  12345.                     case l.up:
  12346.                     case l.down:
  12347.                     case l.right:
  12348.                     case l.left:
  12349.                         this.move(e.code);
  12350.                         break;
  12351.                     case l.ok:
  12352.                         this.events["click:item"] && this.emit("click:item", {
  12353.                             $item: this.$focusItem,
  12354.                             event: e
  12355.                         })
  12356.                     }
  12357.                 }
  12358.             },
  12359.             i.prototype.init = function (e) {
  12360.                 var t,
  12361.                 n,
  12362.                 i,
  12363.                 o,
  12364.                 s,
  12365.                 l,
  12366.                 c,
  12367.                 u,
  12368.                 d = this,
  12369.                 h = !1,
  12370.                 p = function (e) {
  12371.                     this.data.disable !== !0 && (d.focusItem(this), d.events["click:item"] && d.emit("click:item", {
  12372.                             $item: this,
  12373.                             event: e
  12374.                         }))
  12375.                 },
  12376.                 f = function (u) {
  12377.                     if (u && d.data !== u && (d.data = u, h = !0), e.render && d.renderItem !== e.render && (d.renderItem = e.render, h = !0), h) {
  12378.                         for (d.$table = document.createElement("table"), s = document.createElement("tbody"), d.data = r(d.data), t = 0; t < d.data.length; t++) {
  12379.                             for (i = s.insertRow(), n = 0; n < d.data[t].length; n++)
  12380.                                 o = i.insertCell(-1), o.className = "item", c = d.data[t][n], c.$item = o, o.colSpan = c.colSpan, o.rowSpan = c.rowSpan, c.focus && (l = o), c.disable && o.classList.add("disable"), c.mark && o.classList.add("mark"), d.renderItem(o, c), o.data = c, o.addEventListener("click", p);
  12381.                             s.appendChild(i)
  12382.                         }
  12383.                         d.map = a(d.data),
  12384.                         d.$body.innerText = null,
  12385.                         d.$table.appendChild(s),
  12386.                         d.$body.appendChild(d.$table),
  12387.                         l ? d.focusItem(l) : d.focusItem(d.map[0][0])
  12388.                     }
  12389.                 };
  12390.                 void 0 !== e.cycleX && (this.cycleX = e.cycleX),
  12391.                 void 0 !== e.cycleY && (this.cycleY = e.cycleY),
  12392.                 e.provider && (this.provider = e.provider, this.sizeX = e.sizeX, this.sizeY = e.sizeY),
  12393.                 e.translate && (this.translate = e.translate),
  12394.                 e.provider ? (u = this.provider.get(null, function (e, t) {
  12395.                             e && d.events["data:error"] && d.emit("data:error", e),
  12396.                             f(d.translate(t)),
  12397.                             d.events["data:ready"] && d.emit("data:ready")
  12398.                         }), this.events["data:get"] && this.emit("data:get", {
  12399.                         fresh: u
  12400.                     })) : f(e.data)
  12401.             },
  12402.             i.prototype.defaultTranslate = function (e) {
  12403.                 var t,
  12404.                 n,
  12405.                 i,
  12406.                 r = [];
  12407.                 for (t = 0; t < this.sizeY; t++) {
  12408.                     for (i = [], n = 0; n < this.sizeX; n++)
  12409.                         i[n] = e[t * this.sizeX + n];
  12410.                     r[t] = i
  12411.                 }
  12412.                 return r
  12413.             },
  12414.             i.prototype.translate = i.prototype.defaultTranslate,
  12415.             i.prototype.move = function (e) {
  12416.                 for (var t, n, i, r = this.focusX, o = this.focusY, a = !0, s = !1, c = !1; a; ) {
  12417.                     switch (e) {
  12418.                     case l.up:
  12419.                         o > 0 ? o-- : (this.cycleY && (o = this.map.length - 1, c = !0), s = !0);
  12420.                         break;
  12421.                     case l.down:
  12422.                         o < this.map.length - 1 ? o++ : (this.cycleY && (o = 0, c = !0), s = !0);
  12423.                         break;
  12424.                     case l.right:
  12425.                         r < this.map[o].length - 1 ? r++ : (this.cycleX && (r = 0, c = !0), s = !0);
  12426.                         break;
  12427.                     case l.left:
  12428.                         r > 0 ? r-- : (this.cycleX && (r = this.map[o].length - 1, c = !0), s = !0)
  12429.                     }
  12430.                     r === this.focusX && o === this.focusY && (a = !1),
  12431.                     this.map[o][r] !== this.map[this.focusY][this.focusX] && this.map[o][r].data.disable !== !0 && (a = !1),
  12432.                     s && (a = !1, this.map[o][r].data.disable === !0 && (r = this.focusX, o = this.focusY))
  12433.                 }
  12434.                 this.focusItem(this.map[o][r]),
  12435.                 this.focusX = r,
  12436.                 this.focusY = o,
  12437.                 s && (this.provider && (t = this.provider.get(e, function (e, t) {
  12438.                                 if (e && self.events["data:error"])
  12439.                                     return self.emit("data:error", e), !1;
  12440.                                 if (t) {
  12441.                                     for (self.data = self.translate(t), n = 0; n < self.sizeY - 1; n++)
  12442.                                         for (i = 0; i < self.sizeX; i++)
  12443.                                             self.renderItem(self.map[n][i], self.data[n][i]);
  12444.                                     self.events["data:ready"] && self.emit("data:ready")
  12445.                                 }
  12446.                             }), this.events["data:get"] && this.emit("data:get", {
  12447.                             fresh: t
  12448.                         })), this.events.overflow && this.emit("overflow", {
  12449.                         direction: e,
  12450.                         cycle: c
  12451.                     }))
  12452.             },
  12453.             i.prototype.focusItem = function (e) {
  12454.                 var t = this.$focusItem;
  12455.                 return e && t !== e && e.data.disable !== !0 ? (null !== t && (t.classList.remove("focus"), this.events["blur:item"] && this.emit("blur:item", {
  12456.                             $item: t
  12457.                         })), this.focusX = e.x, this.focusY = e.y, this.$focusItem = e, e.classList.add("focus"), this.events["focus:item"] && this.emit("focus:item", {
  12458.                         $prev: t,
  12459.                         $curr: e
  12460.                     }), !0) : !1
  12461.             },
  12462.             i.prototype.markItem = function (e, t) {
  12463.                 t ? e.classList.add("mark") : e.classList.remove("mark"),
  12464.                 e.data.mark = t
  12465.             },
  12466.             e.exports = i
  12467.         }, function (e, t, n) {
  12468.             "use strict";
  12469.             function i(e) {
  12470.                 e = e || {},
  12471.                 e.className = "modalBox " + (e.className || ""),
  12472.                 e.$body = document.createElement("div"),
  12473.                 e.$body.className = "body",
  12474.                 r.call(this, e),
  12475.                 this.$node.appendChild(document.createElement("div").appendChild(this.$body).parentNode)
  12476.             }
  12477.             var r = n(4);
  12478.             i.prototype = Object.create(r.prototype),
  12479.             i.prototype.constructor = i,
  12480.             e.exports = i
  12481.         }, function (e, t, n) {
  12482.             "use strict";
  12483.             function i(e) {
  12484.                 e = e || {},
  12485.                 this.max = 100,
  12486.                 this.min = 0,
  12487.                 this.value = 0,
  12488.                 this.step = 1,
  12489.                 e.focusable = e.focusable || !1,
  12490.                 e.className = "progressBar " + (e.className || ""),
  12491.                 r.call(this, e),
  12492.                 this.$value = this.$body.appendChild(document.createElement("div")),
  12493.                 this.$value.className = "value",
  12494.                 this.init(e)
  12495.             }
  12496.             var r = n(4);
  12497.             i.prototype = Object.create(r.prototype),
  12498.             i.prototype.constructor = i,
  12499.             i.prototype.set = function (e) {
  12500.                 var t = this.value;
  12501.                 return this.value !== e && e <= this.max && e >= this.min ? (this.value = e, e = Math.abs(this.value - this.min) / this.step, 100 === e && this.events.done && this.emit("done"), this.$value.style.width = e + "%", this.events.change && this.emit("change", {
  12502.                         curr: this.value,
  12503.                         prev: t
  12504.                     }), !0) : !1
  12505.             },
  12506.             i.prototype.init = function (e) {
  12507.                 void 0 !== e.max && (this.max = e.max),
  12508.                 void 0 !== e.min && (this.min = e.min),
  12509.                 void 0 !== e.value && (this.value = e.value),
  12510.                 this.step = Math.abs(this.max - this.min) / 100,
  12511.                 this.$value.style.width = Math.abs(this.min - this.value) / this.step + "%"
  12512.             },
  12513.             e.exports = i
  12514.         }
  12515.     ]);
Add Comment
Please, Sign In to add comment