From a0c0441c9f03ca4fccce75e5dcd4058eb6f47e0b Mon Sep 17 00:00:00 2001 From: qydysky Date: Sun, 21 Jul 2024 00:02:50 +0800 Subject: [PATCH] =?utf8?q?Improve=20=E6=9B=B4=E6=96=B0=E5=9B=9E=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- demo/html/artPlayer/bundle.js | 3 --- demo/html/artPlayer/bundle.js.map | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/demo/html/artPlayer/bundle.js b/demo/html/artPlayer/bundle.js index 8e4cad2..7661ece 100755 --- a/demo/html/artPlayer/bundle.js +++ b/demo/html/artPlayer/bundle.js @@ -11844,7 +11844,6 @@ __webpack_require__.r(__webpack_exports__); console.log("init 31"); let player, flvPlayer, - danmuEmit = document.createElement("div"), config = { conn: undefined, container: '.artplayer-app', @@ -11928,7 +11927,6 @@ __webpack_require__.r(__webpack_exports__); danmuku: [], speed: 7, opacity: 0.7, - mount: danmuEmit, }), ], icons: { @@ -12031,7 +12029,6 @@ __webpack_require__.r(__webpack_exports__); danmuku: [], speed: 7, opacity: 0.7, - mount: danmuEmit, }); player.plugins.artplayerPluginDanmuku.load(); if(config.conn != undefined){ diff --git a/demo/html/artPlayer/bundle.js.map b/demo/html/artPlayer/bundle.js.map index 9b416c7..d09e1ab 100755 --- a/demo/html/artPlayer/bundle.js.map +++ b/demo/html/artPlayer/bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.js","mappings":"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AU;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,eAAe,mBAAO,CAAC,oDAAW;AAClC,gBAAgB,mBAAO,CAAC,gDAAS;AACjC;AACA;AACA;AACA;;AAEA,cAAc;AACd,kBAAkB;AAClB,yBAAyB;;AAEzB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;;AAEA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,eAAe;AACxC;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yBAAyB,QAAQ;AACjC;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,qBAAqB,WAAW,GAAG,IAAI;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,gBAAgB,WAAW,GAAG,IAAI,KAAK,aAAa;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;;AAEA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,KAAK,mDAAmD,cAAc;AACzF,GAAG;AACH;AACA;AACA,+BAA+B,IAAI;AACnC;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,MAAM,aAAa,SAAS;AACtD;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,SAAS,gBAAgB;AACzB,cAAc,oBAAoB,EAAE,IAAI;AACxC;AACA,YAAY,gBAAgB,EAAE,IAAI;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG,SAAS,GAAG,KAAK,qBAAqB,EAAE,EAAE;AACpE,QAAQ;AACR,yBAAyB,GAAG,KAAK,yBAAyB,EAAE,EAAE;AAC9D,mBAAmB,yBAAyB,EAAE,EAAE;AAChD;AACA,MAAM;AACN,oBAAoB,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C,cAAc,SAAS,OAAO;AACxE;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,YAAY;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACzjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/Da;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C,eAAe,mBAAO,CAAC,6CAAI;;AAE3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACda;;AAEb,WAAW,mBAAO,CAAC,4DAAe;AAClC,mBAAmB,mBAAO,CAAC,4DAAe;AAC1C,wBAAwB,mBAAO,CAAC,wEAAqB;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS,UAAU;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,kBAAkB;AAC9D,EAAE;AACF,CAAC,oBAAoB;AACrB;;;;;;;;;;;;AC3Ca;;AAEb,6BAA6B,mBAAO,CAAC,kFAA0B;;AAE/D,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C;AACA;AACA;AACA,oBAAoB,SAAS,UAAU;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA,WAAW,mBAAO,CAAC,0CAAM;;AAEzB,WAAW,qMAAqM;AAChN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,WAAW,0CAA0C;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH;AACA,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,sBAAsB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;;AAEA;AACA,SAAS,yBAAyB;AAClC;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,8DAA8D,YAAY;AAC1E;AACA,8DAA8D,YAAY;AAC1E;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;AChfa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,cAAc;AAClC;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC,oBAAoB;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;;AAEA,iFAAiF,sCAAsC;;AAEvH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACnFa;;AAEb,qBAAqB,mBAAO,CAAC,wEAAkB;;AAE/C;;;;;;;;;;;;ACJa;;AAEb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,8CAA8C;AAChF,GAAG;AACH;;AAEA;AACA;AACA;AACA,UAAU;AACV,GAAG;AACH,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,EAAE;AACF;;AAEA,iBAAiB,mBAAO,CAAC,wDAAa;AACtC,eAAe,mBAAO,CAAC,oDAAW;;AAElC;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,sDAAsD;AACtD,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,4DAAe;AAClC,aAAa,mBAAO,CAAC,8CAAQ;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9Va;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;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,8DAA8D,iBAAiB,+CAA+C,mDAAmD,4CAA4C,uJAAuJ,kDAAkD,+BAA+B,6CAA6C,+JAA+J,8CAA8C,0DAA0D,GAAG,GAAG,cAAc,OAAO,2BAA2B,QAAQ,8FAA8F,+GAA+G,eAAe,8DAA8D,2BAA2B,wBAAwB,kCAAkC,2BAA2B,4BAA4B,yLAAyL,6BAA6B,eAAe,EAAE,YAAY,GAAG;AACjv8C;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,EAAE;AACvC;AACA,yDAAyD;AACzD;AACA;AACA;AACA,2GAA2G,EAAE;AAC7G;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,6BAAgB;AAC1C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD;AACvD;AACA;AACA,kGAAkG,gCAAgC;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uGAAuG;AAC7H;AACA,kCAAkC;AAClC,kBAAkB,uDAAuD;AACzE;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA,gBAAgB,qBAAM;AACtB,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,2BAA2B,iCAAiC;AAC5D;AACA,wBAAwB,8BAA8B;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;AACjD;;AAEA,wBAAwB;AACxB,uBAAuB;AACvB,yBAAyB;AACzB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA,aAAa;AACb;AACA;;AAEA;AACA,sBAAsB;AACtB,mCAAmC,OAAO;AAC1C,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,iCAAiC;AACjC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qCAAqC;AACrC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,iCAAiC;AACjC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qCAAqC;AACrC,MAAM;AACN;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,GAAG;AACzB;;AAEA;AACA;AACA,oCAAoC,sBAAsB;AAC1D;;AAEA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA,2BAA2B;AAC3B,8BAA8B,YAAY;AAC1C,wEAAwE,YAAY;AACpF;AACA;AACA,sBAAsB;AACtB,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3gBA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,MAAM;AACN;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;;AAEtC;AACA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA,6BAA6B;;;;;;;;;;;;ACvL7B;AACA,CAAC;;AAED;AACA,mBAAmB,KAA0B;AAC7C;AACA,kBAAkB,KAAyB;AAC3C;AACA,yBAAyB,qBAAM,gBAAgB,qBAAM;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,UAAU;AACtB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,MAAM;AACN,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mCAAmC;AACnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB,0CAA0C,qBAAqB;;AAE/D;AACA;AACA;AACA;AACA;AACA,mCAAmC,oBAAoB;;AAEvD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,iBAAiB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,IAEU;AACZ;AACA,EAAE,mCAAmB;AACrB;AACA,GAAG;AAAA,kGAAC;AACJ,GAAG,KAAK,EAaN;;AAEF,CAAC;;;;;;;;;;;;ACphBY;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACtBa;;AAEb,gBAAgB,mBAAO,CAAC,uDAAa;AACrC,YAAY,mBAAO,CAAC,+CAAS;AAC7B,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,+CAAS;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,+BAA+B;;AAExE;AACA,wCAAwC;;AAExC;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;;AAEA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,mCAAmC,QAAQ;AAC3C;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,wBAAwB;AACxB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACvQa;;AAEb,qBAAqB,mBAAO,CAAC,0DAAc;AAC3C,YAAY,mBAAO,CAAC,+CAAS;AAC7B,cAAc,mBAAO,CAAC,mDAAW;AACjC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gEAAgE;AACrF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC/Ta;;AAEb,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA,kDAAkD,EAAE;AACpD;AACA,SAAS;AACT;;AAEA;AACA,oBAAoB,mBAAmB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,OAAO,UAAU,aAAa;AACjD;;AAEA,oBAAoB,kBAAkB;AACtC;AACA;;AAEA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3Pa;;AAEb,gDAAgD,0DAA0D,2CAA2C;;AAErJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;;AAEA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oBAAoB;;;;;;;;;;;;;AC9HpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,kFAAoB;AAC3C,eAAe,mBAAO,CAAC,kFAAoB;AAC3C,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;AACA,gBAAgB,mBAAO,CAAC,oFAAqB;AAC7C,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS,mFAA8B;AACvC;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA,aAAa,4EAAwB;AACrC,4BAA4B,qBAAM,mBAAmB,qBAAM,mFAAmF;AAC9I;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAO,CAAC,mBAAM;AAC9B;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,0GAAgC;AACzD,kBAAkB,mBAAO,CAAC,kGAA4B;AACtD,eAAe,mBAAO,CAAC,8FAA0B;AACjD;AACA,qBAAqB,gGAA0B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE,mFAAmF;AAC5J;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iHAAwC;AAChF;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;AAC/C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,+FAA+F;AAC/F,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA,4FAA4F;AAC5F,UAAU;AACV;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,iHAAwC;AAC9E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,OAAO,oBAAoB,OAAO;AAClG;AACA,wBAAwB,OAAO,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,QAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,kBAAkB,yBAAyB;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,mBAAO,CAAC,gHAAmC;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,mDAAmD,+DAA+D;AAClH;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,oGAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;;;;;;;;;;;AClgCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA,qBAAqB,gGAA0B;AAC/C;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,8EAAkB;AACvC,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa,mBAAO,CAAC,gEAAgB;AACrC;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA,aAAa,4EAAwB;AACrC,4BAA4B,qBAAM,mBAAmB,qBAAM,mFAAmF;AAC9I;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAO,CAAC,kGAA4B;AACtD,eAAe,mBAAO,CAAC,8FAA0B;AACjD;AACA,qBAAqB,gGAA0B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,sDAAsD;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO;AACb,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO;AACb,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChoBa;;AAEb;AACA,4CAA4C,2BAA2B,kBAAkB,kCAAkC,oEAAoE,KAAK,OAAO,oBAAoB;AAC/N,+BAA+B,uCAAuC;AACtE,qCAAqC,+DAA+D,sCAAsC,0BAA0B,+CAA+C,yCAAyC,uEAAuE;AACnU,eAAe,mBAAO,CAAC,6FAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO;AACf;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA,yFAAyF;AACzF;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;ACnLa;;AAEb,2CAA2C,gCAAgC,oCAAoC,oDAAoD,6DAA6D,iEAAiE,sCAAsC;AACvU,iCAAiC,gBAAgB,sBAAsB,OAAO,uDAAuD,6DAA6D,4CAA4C,oKAAoK,mFAAmF,KAAK;AAC1e,4CAA4C,2BAA2B,kBAAkB,kCAAkC,oEAAoE,KAAK,OAAO,oBAAoB;AAC/N,kDAAkD,0CAA0C;AAC5F,4CAA4C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD;AAC/P,8DAA8D,sEAAsE,8DAA8D,kDAAkD,iBAAiB,GAAG;AACxQ,+BAA+B,uCAAuC;AACtE,qCAAqC,+DAA+D,sCAAsC,0BAA0B,+CAA+C,yCAAyC,uEAAuE;AACnU,eAAe,mBAAO,CAAC,8CAAQ;AAC/B;AACA,gBAAgB,mBAAO,CAAC,mBAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,yDAAyD,cAAc;AACvE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;ACtLY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,QAAQ,OAAO;AACf,QAAQ;AACR;AACA,QAAQ,OAAO;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO;AACf,QAAQ;AACR;AACA,QAAQ,OAAO;AACf,QAAQ;AACR,QAAQ,OAAO;AACf;AACA,MAAM;AACN,MAAM,OAAO;AACb;AACA,MAAM;AACN,MAAM,OAAO;AACb;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/FA;AACA;;AAEa;;AAEb,iCAAiC,sGAAgC;AACjE;AACA;AACA;AACA;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACrFA;AACA;AACA;;;;;;;;;;;;ACFA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sGAAgC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,+BAA+B,mBAAO,CAAC,6FAAiB;AACxD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,aAAa;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;;;;;;;;;;ACrFa;;AAEb,4BAA4B,sGAAgC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACrBA,kGAA+C;;;;;;;;;;;ACA/C,UAAU,+HAAqD;AAC/D,cAAc;AACd,gBAAgB;AAChB,iIAAuD;AACvD,2HAAmD;AACnD,oIAAyD;AACzD,0IAA6D;AAC7D,6JAAqE;AACrE,mJAAgE;;;;;;;;;;;ACRhE;AACA;AACA,aAAa,mBAAO,CAAC,8CAAQ;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE,cAAc;AAChB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChEa;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;AAC1C,aAAa,mBAAO,CAAC,0EAAsB;AAC3C,qBAAqB,mBAAO,CAAC,kFAA0B;AACvD,WAAW,mBAAO,CAAC,0CAAM;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxCa;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;AAC1C,gBAAgB,mBAAO,CAAC,kEAAqB;AAC7C,cAAc,mBAAO,CAAC,8DAAgB;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,6BAA6B,6BAA6B;AAC1D;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,cAAc;AACd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3HA,oBAAoB,mBAAO,CAAC,gEAAe;AAC3C,eAAe,mBAAO,CAAC,kEAAgB;AACvC,aAAa,mBAAO,CAAC,gDAAO;AAC5B,kBAAkB,mBAAO,CAAC,4EAAsB;AAChD,UAAU,mBAAO,CAAC,sCAAK;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,qBAAM;;AAE7B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACpFA,aAAa,cAAc,qBAAM,sBAAsB,qBAAM;;AAE7D,sBAAsB,cAAc,qBAAM;;AAE1C,uBAAuB,cAAc,qBAAM;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,qBAAM;AACX,YAAY,qBAAM;AAClB;AACA;AACA;AACA;AACA,mBAAmB,qBAAM;AACzB,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,gBAAgB;AAChB,6BAA6B;;AAE7B;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;;AAEA;;;;;;;;;;;;;AC1DA,iBAAiB,mBAAO,CAAC,kEAAc;AACvC,eAAe,mBAAO,CAAC,6DAAU;AACjC,eAAe,mBAAO,CAAC,8DAAY;AACnC,aAAa,mBAAO,CAAC,2EAAiB;;AAEtC;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,MAAM;AACnD;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,IAAI;AACJ;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAM;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,EAAE,qBAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH,4BAA4B,qBAAM;AAClC;AACA;AACA,IAAI;AACJ,GAAG,OAAO;AACV;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG,OAAO;AACV;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC,qBAAM;AACP;;AAEA;AACA,EAAE,qBAAM;AACR;AACA,GAAG;AACH,sBAAsB,qBAAM;AAC5B;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/VA,iBAAiB,mBAAO,CAAC,kEAAc;AACvC,eAAe,mBAAO,CAAC,6DAAU;AACjC,aAAa,mBAAO,CAAC,2EAAiB;;AAEtC,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,uBAAuB;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE,OAAO;AACT;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAkB,MAAM;AAChC;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK,aAAa;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,wCAAwC,eAAe,IAAI;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM;AACxB,qBAAqB,oBAAoB;AACzC;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAM;AAC1B;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,sFAA6B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,sCAAsC,sCAAsC;AACzG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;ACvSA,iEAAe,oBAAoB;;;;;;;;;;;;;;;ACAnC,iEAAe,oBAAoB;;;;;;;;;;;;;;;ACAnC,iEAAe,gBAAgB;;;;;;;;;;;;;;;ACA/B,iEAAe,gBAAgB;;;;;;;;;;;ACA/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,qDAAU;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAK;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,yCAAyC,KAAK;AAC9C,wCAAwC,KAAK;AAC7C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gBAAgB,mBAAO,CAAC,0CAAI;;AAE5B;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA,6DAA6D;AAC7D;AACA;AACA,0BAA0B;;AAE1B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA,qBAAqB;AACrB;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,IAAI;AACJ;AACA;;AAEA,wCAAwC;AACxC,4CAA4C;;AAE5C;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gCAAgC;AAChC,+BAA+B;AAC/B,gCAAgC;AAChC;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4BAA4B,OAAO;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,8BAA8B,OAAO;AACtE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA,aAAa;AACb,eAAe;AACf,qBAAqB;AACrB,cAAc;;AAEd,WAAW;;;;;;;;;;;;ACtwBX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,aAAa,UAAU;AACvB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,SAAS,qBAAM;AACf,IAAI;AACJ;AACA;AACA,YAAY,qBAAM;AAClB;AACA;AACA;;;;;;;;;;;AClEA;;AAEA;;AAEA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;AClBA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;;;;;;;;;;;;;;;;;;;;ACJkC;AACH;AAC+B;AAC9D;AAC0C;AACN;AACQ;AACV;AACH;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,oCAAoC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY;AAC5C;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,qCAAqC,4CAA4C;AACjF,0BAA0B;AAC1B;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iHAAiH;AACjH;AACA,iHAAiH;AACjH;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iCAAiC;AACtE;AACA;AACA;AACA;AACA,mCAAmC,aAAa,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,mBAAmB,GAAG,UAAU,cAAc;AAC9C,4BAA4B,yBAAyB,OAAO,UAAU,2BAA2B,OAAO;AACxG;AACA,oDAAoD,aAAa,KAAK;AACtE;AACA;AACA;AACA,6BAA6B,mDAAmD;AAChF,iBAAiB;AACjB;AACA,8BAA8B,aAAa;AAC3C,kBAAkB;AAClB;AACA,4BAA4B,qDAAqD;AACjF;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mDAAmD,aAAa;AAChE;AACA;AACA;AACA;AACA,wDAAwD,sBAAsB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,qBAAqB,2BAA2B,8BAA8B,cAAc;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA,qBAAqB;AACrB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E,sEAAsE;AACtE,mFAAmF;AACnF,iFAAiF;AACjF,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,kCAAkC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,gCAAgC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,qDAAI;AACnE;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF,MAAM;AAC/F;AACA;AACA,uFAAuF,MAAM;AAC7F;AACA;AACA,sFAAsF,MAAM;AAC5F;AACA;AACA,wFAAwF,MAAM;AAC9F;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,gBAAgB,+DAAsB;AACtC;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,uCAAuC,yDAAQ;AAC/C,8DAA8D,sDAAK;AACnE,gEAAgE,0DAAS;AACzE,aAAa;AACb;AACA;AACA,uDAAuD,uBAAuB;AAC9E;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAqB;AAC7C,oCAAoC,6DAAmB;AACvD;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kDAAS;AAC9B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,yIAAyI;AACzI,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,sDAAQ;AACZ;AACA;AACA;AACA;AACA,gBAAgB,sDAAQ;AACxB;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,CAAC,I","sources":["webpack://artplayerjs/./node_modules/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js","webpack://artplayerjs/./node_modules/artplayer/dist/artplayer.js","webpack://artplayerjs/./node_modules/base64-js/index.js","webpack://artplayerjs/./node_modules/buffer/index.js","webpack://artplayerjs/./node_modules/builtin-status-codes/browser.js","webpack://artplayerjs/./node_modules/call-bind/callBound.js","webpack://artplayerjs/./node_modules/call-bind/index.js","webpack://artplayerjs/./node_modules/define-data-property/index.js","webpack://artplayerjs/./node_modules/events/events.js","webpack://artplayerjs/./node_modules/function-bind/implementation.js","webpack://artplayerjs/./node_modules/function-bind/index.js","webpack://artplayerjs/./node_modules/get-intrinsic/index.js","webpack://artplayerjs/./node_modules/gopd/index.js","webpack://artplayerjs/./node_modules/has-property-descriptors/index.js","webpack://artplayerjs/./node_modules/has-proto/index.js","webpack://artplayerjs/./node_modules/has-symbols/index.js","webpack://artplayerjs/./node_modules/has-symbols/shams.js","webpack://artplayerjs/./node_modules/hasown/index.js","webpack://artplayerjs/./node_modules/ieee754/index.js","webpack://artplayerjs/./node_modules/inherits/inherits_browser.js","webpack://artplayerjs/./node_modules/mpegts.js/dist/mpegts.js","webpack://artplayerjs/./node_modules/object-inspect/index.js","webpack://artplayerjs/./node_modules/process/browser.js","webpack://artplayerjs/./node_modules/punycode/punycode.js","webpack://artplayerjs/./node_modules/qs/lib/formats.js","webpack://artplayerjs/./node_modules/qs/lib/index.js","webpack://artplayerjs/./node_modules/qs/lib/parse.js","webpack://artplayerjs/./node_modules/qs/lib/stringify.js","webpack://artplayerjs/./node_modules/qs/lib/utils.js","webpack://artplayerjs/./node_modules/readable-stream/errors-browser.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_readable.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_transform.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_writable.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://artplayerjs/./node_modules/readable-stream/readable-browser.js","webpack://artplayerjs/./node_modules/safe-buffer/index.js","webpack://artplayerjs/./node_modules/set-function-length/index.js","webpack://artplayerjs/./node_modules/side-channel/index.js","webpack://artplayerjs/./node_modules/stream-http/index.js","webpack://artplayerjs/./node_modules/stream-http/lib/capability.js","webpack://artplayerjs/./node_modules/stream-http/lib/request.js","webpack://artplayerjs/./node_modules/stream-http/lib/response.js","webpack://artplayerjs/./node_modules/string_decoder/lib/string_decoder.js","webpack://artplayerjs/./img/filp.svg","webpack://artplayerjs/./img/indicator.svg","webpack://artplayerjs/./img/ploading.gif","webpack://artplayerjs/./img/state.png","webpack://artplayerjs/./node_modules/url/url.js","webpack://artplayerjs/./node_modules/util-deprecate/browser.js","webpack://artplayerjs/./node_modules/xtend/immutable.js","webpack://artplayerjs/ignored|/codefile/ArtPlayerJs/node_modules/object-inspect|./util.inspect","webpack://artplayerjs/ignored|/codefile/ArtPlayerJs/node_modules/readable-stream/lib/internal/streams|util","webpack://artplayerjs/ignored|/codefile/ArtPlayerJs/node_modules/readable-stream/lib|util","webpack://artplayerjs/webpack/bootstrap","webpack://artplayerjs/webpack/runtime/compat get default export","webpack://artplayerjs/webpack/runtime/define property getters","webpack://artplayerjs/webpack/runtime/global","webpack://artplayerjs/webpack/runtime/hasOwnProperty shorthand","webpack://artplayerjs/webpack/runtime/make namespace object","webpack://artplayerjs/webpack/runtime/node module decorator","webpack://artplayerjs/./app.js"],"sourcesContent":["/*!\n * artplayer-plugin-danmuku.js v5.1.0\n * Github: https://github.com/zhw2590582/ArtPlayer\n * (c) 2017-2024 Harvey Zack\n * Released under the MIT License.\n */\n!function(e,t,i,a,n){var o=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{},s=\"function\"==typeof o[a]&&o[a],l=s.cache||{},r=\"undefined\"!=typeof module&&\"function\"==typeof module.require&&module.require.bind(module);function d(t,i){if(!l[t]){if(!e[t]){var n=\"function\"==typeof o[a]&&o[a];if(!i&&n)return n(t,!0);if(s)return s(t,!0);if(r&&\"string\"==typeof t)return r(t);var p=Error(\"Cannot find module '\"+t+\"'\");throw p.code=\"MODULE_NOT_FOUND\",p}h.resolve=function(i){var a=e[t][1][i];return null!=a?a:i},h.cache={};var u=l[t]=new d.Module(t);e[t][0].call(u.exports,h,u,u.exports,this)}return l[t].exports;function h(e){var t=h.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=l,d.parent=s,d.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(d,\"root\",{get:function(){return o[a]}}),o[a]=d;for(var p=0;pp);var n=e(\"./danmuku\"),o=a.interopDefault(n),s=e(\"./setting\"),l=a.interopDefault(s),r=e(\"./heatmap\"),d=a.interopDefault(r);function p(e){return t=>{let i=new o.default(t,e),a=new l.default(t,i);return i.option.heatmap&&(0,d.default)(t,i,i.option.heatmap),{name:\"artplayerPluginDanmuku\",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}p.icons=l.default.icons,\"undefined\"!=typeof window&&(window.artplayerPluginDanmuku=p)},{\"./danmuku\":\"4ns48\",\"./setting\":\"lO8OT\",\"./heatmap\":\"8AxLD\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],\"4ns48\":[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(i);var n=e(\"./bilibili\"),o=e(\"bundle-text:./worker\"),s=a.interopDefault(o);class l{constructor(e,t){let{constructor:i,template:a}=e;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=e,this.danmus=[],this.queue=[],this.option={},this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(t),this.worker=new Worker(URL.createObjectURL(new Blob([s.default]))),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),e.on(\"video:play\",this.start),e.on(\"video:playing\",this.start),e.on(\"video:pause\",this.stop),e.on(\"video:waiting\",this.stop),e.on(\"destroy\",this.destroy),e.on(\"resize\",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,\"25%\"],opacity:1,color:\"#FFFFFF\",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:\"dark\",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:\"array|function|string\",speed:\"number\",margin:\"array\",opacity:\"number\",color:\"string\",mode:\"number\",modes:\"array\",fontSize:\"number|string\",antiOverlap:\"boolean\",synchronousPlayback:\"boolean\",mount:\"?htmldivelement|string\",heatmap:\"object|boolean\",points:\"array\",filter:\"function\",beforeEmit:\"function\",beforeVisible:\"function\",visible:\"boolean\",emitter:\"boolean\",maxLength:\"number\",lockTime:\"number\",theme:\"string\",OPACITY:\"object\",FONT_SIZE:\"object\",MARGIN:\"object\",SPEED:\"object\",COLOR:\"array\"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, \"Microsoft JhengHei\", Arial, Helvetica, sans-serif; text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:e}=this.utils,t=this.option.margin[0],{clientHeight:i}=this.$player;return\"number\"==typeof t?e(t,0,i):\"string\"==typeof t&&t.endsWith(\"%\")?e(i*(parseFloat(t)/100),0,i):l.option.margin[0]}get marginBottom(){let{clamp:e}=this.utils,t=this.option.margin[1],{clientHeight:i}=this.$player;return\"number\"==typeof t?e(t,0,i):\"string\"==typeof t&&t.endsWith(\"%\")?e(i*(parseFloat(t)/100),0,i):l.option.margin[1]}get fontSize(){let{clamp:e}=this.utils,{clientHeight:t}=this.$player,i=this.option.fontSize;return\"number\"==typeof i?e(i,12,t):\"string\"==typeof i&&i.endsWith(\"%\")?e(t*(parseFloat(i)/100),12,t):l.option.fontSize}get $ref(){let e=this.$refs.pop()||document.createElement(\"div\");return e.style.cssText=l.cssText,e.dataset.mode=\"\",e.className=\"\",e}get readys(){let{currentTime:e}=this.art,t=[];return this.filter(\"ready\",e=>t.push(e)),this.filter(\"wait\",i=>{e+.1>=i.time&&i.time>=e-.1&&t.push(i)}),t}get visibles(){let e=[],{clientWidth:t}=this.$player,i=this.getLeft(this.$player);return this.filter(\"emit\",a=>{let n=a.$ref.offsetTop,o=this.getLeft(a.$ref)-i,s=a.$ref.clientHeight,l=a.$ref.clientWidth,r=o+l,d=r/a.$restTime,p={};p.top=n,p.left=o,p.height=s,p.width=l,p.right=t-r,p.speed=d,p.distance=r,p.time=a.$restTime,p.mode=a.mode,e.push(p)}),e}get speed(){return this.option.synchronousPlayback&&this.art.playbackRate?this.option.speed/Number(this.art.playbackRate):this.option.speed}async load(){let{errorHandle:e}=this.utils;try{\"function\"==typeof this.option.danmuku?this.danmus=await this.option.danmuku():\"function\"==typeof this.option.danmuku.then?this.danmus=await this.option.danmuku:\"string\"==typeof this.option.danmuku?this.danmus=await (0,n.bilibiliDanmuParseFromUrl)(this.option.danmuku):this.danmus=this.option.danmuku,e(Array.isArray(this.danmus),\"Danmuku need return an array as result\"),this.queue=[],this.$danmuku.innerText=\"\",this.danmus.forEach(e=>this.emit(e)),this.art.emit(\"artplayerPluginDanmuku:loaded\",this.queue)}catch(e){throw this.art.emit(\"artplayerPluginDanmuku:error\",e),e}return this}emit(e){let{clamp:t}=this.utils;if(this.validator(e,{text:\"string\",mode:\"?number\",color:\"?string\",time:\"?number\",border:\"?boolean\",style:\"?object\"}),!e.text.trim()||(e.time?e.time=t(e.time,0,1/0):e.time=this.art.currentTime+.5,void 0===e.mode&&(e.mode=this.option.mode),void 0===e.style&&(e.style={}),void 0===e.color&&(e.color=this.option.color),![0,1,2].includes(e.mode)||!this.option.filter(e)))return this;let i={...e,$state:\"wait\",$id:this.index++,$ref:null,$restTime:0,$lastStartTime:0};return this.setState(i,\"wait\"),this.queue.push(i),this}config(e){let{clamp:t}=this.utils,{$controlsCenter:i}=this.art.template;return Object.keys(e).some(t=>JSON.stringify(this.option[t])!==JSON.stringify(e[t]))&&(this.option=Object.assign({},l.option,this.option,e),this.validator(this.option,l.scheme),this.option.mode=t(this.option.mode,0,2),this.option.speed=t(this.option.speed,1,10),this.option.opacity=t(this.option.opacity,0,1),this.option.lockTime=t(this.option.lockTime,1,60),this.option.maxLength=t(this.option.maxLength,1,1e3),this.option.mount=this.option.mount||i,e.fontSize&&this.reset(),this.option.visible?this.show():this.hide(),this.art.emit(\"artplayerPluginDanmuku:config\",this.option)),this}getLeft(e){let t=e.getBoundingClientRect();return this.isRotate?t.top:t.left}postMessage(e={}){return new Promise(t=>{e.id=Date.now(),this.worker.postMessage(e),this.worker.onmessage=i=>{let{data:a}=i;a.id===e.id&&t(a)}})}filter(e,t){let i=this.states[e]||[];for(let e=0;et!==e),e.$state=t,e.$ref&&(e.$ref.dataset.state=t),this.states[t].push(e)}makeWait(e){this.setState(e,\"wait\"),e.$ref&&(e.$ref.style.cssText=l.cssText,e.$ref.style.visibility=\"hidden\",e.$ref.style.marginLeft=\"0px\",e.$ref.style.transform=\"translateX(0px)\",e.$ref.style.transition=\"transform 0s linear 0s\",this.$refs.push(e.$ref),e.$ref=null)}update(){let{setStyles:e}=this.utils;return this.timer=window.requestAnimationFrame(async()=>{if(this.art.playing&&!this.isHide){this.filter(\"emit\",e=>{let t=(Date.now()-e.$lastStartTime)/1e3;e.$restTime-=t,e.$lastStartTime=Date.now(),e.$restTime<=0&&this.makeWait(e)});let t=this.readys;for(let i=0;i{0===t.mode&&(t.$ref.style.left=`${e}px`)}),this.filter(\"emit\",t=>{if(t.$lastStartTime=Date.now(),0===t.mode){let i=e+t.$ref.clientWidth;t.$ref.style.left=`${e}px`,t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=`transform ${t.$restTime}s linear 0s`}})}continue(){let{clientWidth:e}=this.$player;return this.filter(\"stop\",t=>{if(this.setState(t,\"emit\"),t.$lastStartTime=Date.now(),0===t.mode){let i=e+t.$ref.clientWidth;t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=`transform ${t.$restTime}s linear 0s`}}),this}suspend(){let{clientWidth:e}=this.$player;return this.filter(\"emit\",t=>{if(this.setState(t,\"stop\"),0===t.mode){let i=e-(this.getLeft(t.$ref)-this.getLeft(this.$player));t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=\"transform 0s linear 0s\"}}),this}stop(){return this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.timer),this.art.emit(\"artplayerPluginDanmuku:stop\"),this}start(){return this.isStop=!1,this.continue(),this.update(),this.art.emit(\"artplayerPluginDanmuku:start\"),this}reset(){return this.queue.forEach(e=>this.makeWait(e)),this.art.emit(\"artplayerPluginDanmuku:reset\"),this}show(){return this.isHide=!1,this.$danmuku.style.opacity=1,this.option.visible=!0,this.art.emit(\"artplayerPluginDanmuku:show\"),this}hide(){return this.isHide=!0,this.$danmuku.style.opacity=0,this.option.visible=!1,this.art.emit(\"artplayerPluginDanmuku:hide\"),this}destroy(){this.stop(),this.worker.terminate(),this.art.off(\"video:play\",this.start),this.art.off(\"video:playing\",this.start),this.art.off(\"video:pause\",this.stop),this.art.off(\"video:waiting\",this.stop),this.art.off(\"resize\",this.reset),this.art.off(\"destroy\",this.destroy),this.art.emit(\"artplayerPluginDanmuku:destroy\")}}i.default=l},{\"./bilibili\":\"f83sx\",\"bundle-text:./worker\":\"lfIAi\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],f83sx:[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function n(e){switch(e){case 1:case 2:case 3:default:return 0;case 4:return 2;case 5:return 1}}function o(e){return\"string\"!=typeof e?[]:Array.from(e.matchAll(/.+?)\"(?: .*?)?>(?.+?)<\\/d>/gs)).map(e=>{let t=e.groups.p.split(\",\");return t.length>=8?{text:e.groups.text.trim().replaceAll(\""\",'\"').replaceAll(\"'\",\"'\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll(\"&\",\"&\"),time:Number(t[0]),mode:n(Number(t[1])),fontSize:Number(t[2]),color:`#${Number(t[3]).toString(16)}`,timestamp:Number(t[4]),pool:Number(t[5]),userID:t[6],rowID:Number(t[7])}:null}).filter(Boolean)}async function s(e){let t=await fetch(e);return o(await t.text())}a.defineInteropFlag(i),a.export(i,\"getMode\",()=>n),a.export(i,\"bilibiliDanmuParseFromXml\",()=>o),a.export(i,\"bilibiliDanmuParseFromUrl\",()=>s)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],\"9pCYc\":[function(e,t,i){i.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},i.defineInteropFlag=function(e){Object.defineProperty(e,\"__esModule\",{value:!0})},i.exportAll=function(e,t){return Object.keys(e).forEach(function(i){\"default\"===i||\"__esModule\"===i||Object.prototype.hasOwnProperty.call(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[i]}})}),t},i.export=function(e,t,i){Object.defineProperty(e,t,{enumerable:!0,get:i})}},{}],lfIAi:[function(e,t,i){t.exports='!function(e,t,n,o,i){var r=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{},f=\"function\"==typeof r[o]&&r[o],l=f.cache||{},d=\"undefined\"!=typeof module&&\"function\"==typeof module.require&&module.require.bind(module);function u(t,n){if(!l[t]){if(!e[t]){var i=\"function\"==typeof r[o]&&r[o];if(!n&&i)return i(t,!0);if(f)return f(t,!0);if(d&&\"string\"==typeof t)return d(t);var h=Error(\"Cannot find module \\'\"+t+\"\\'\");throw h.code=\"MODULE_NOT_FOUND\",h}p.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},p.cache={};var s=l[t]=new u.Module(t);e[t][0].call(s.exports,p,s,s.exports,this)}return l[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=l,u.parent=f,u.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(u,\"root\",{get:function(){return r[o]}}),r[o]=u;for(var h=0;h{let{data:t}=e;if(!t.id)return;let n=function({target:e,visibles:t,clientWidth:n,clientHeight:o,marginBottom:i,marginTop:r,antiOverlap:f}){let l=o-i,d=t.filter(t=>t.mode===e.mode&&t.top<=l).sort((e,t)=>e.top-t.top);if(0===d.length)return 2===e.mode?l-e.height:r;if(d.unshift({type:\"top\",top:0,left:0,right:0,height:r,width:n,speed:0,distance:n}),d.push({type:\"bottom\",top:l,left:0,right:0,height:i,width:n,speed:0,distance:n}),2===e.mode)for(let t=d.length-2;t>=0;t-=1){let n=d[t],o=d[t+1],i=n.top+n.height;if(o.top-i>=e.height)return o.top-e.height}else for(let t=1;t=e.height)return i}let u=[];for(let e=1;et.every(t=>!(nt.time)));return t&&t[0]?t[0].top:void 0}case 1:case 2:return}else{switch(e.mode){case 0:u.sort((e,t)=>{let n=Math.min(...t.map(e=>e.right)),o=Math.min(...e.map(e=>e.right));return n*t.length-o*e.length});break;case 1:case 2:u.sort((e,t)=>{let n=Math.max(...t.map(e=>e.width));return Math.max(...e.map(e=>e.width))*e.length-n*t.length})}return u[0][0].top}}(t);self.postMessage({top:n,id:t.id})}},{}]},[\"59OZS\"],\"59OZS\",\"parcelRequire4dc0\");'},{}],lO8OT:[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(i);var n=e(\"bundle-text:./style.less\"),o=a.interopDefault(n),s=e(\"bundle-text:./img/on.svg\"),l=a.interopDefault(s),r=e(\"bundle-text:./img/off.svg\"),d=a.interopDefault(r),p=e(\"bundle-text:./img/config.svg\"),u=a.interopDefault(p),h=e(\"bundle-text:./img/style.svg\"),m=a.interopDefault(h),c=e(\"bundle-text:./img/mode_0_off.svg\"),f=a.interopDefault(c),g=e(\"bundle-text:./img/mode_0_on.svg\"),v=a.interopDefault(g),y=e(\"bundle-text:./img/mode_1_off.svg\"),x=a.interopDefault(y),k=e(\"bundle-text:./img/mode_1_on.svg\"),b=a.interopDefault(k),$=e(\"bundle-text:./img/mode_2_off.svg\"),w=a.interopDefault($),M=e(\"bundle-text:./img/mode_2_on.svg\"),E=a.interopDefault(M),D=e(\"bundle-text:./img/check_on.svg\"),S=a.interopDefault(D),z=e(\"bundle-text:./img/check_off.svg\"),A=a.interopDefault(z);if(i.default=class{constructor(e,t){this.art=e,this.danmuku=t,this.utils=e.constructor.utils;let{setStyle:i}=this.utils,{$controlsCenter:a}=e.template;i(a,\"display\",\"flex\"),this.template={$controlsCenter:a,$mount:a,$danmuku:null,$toggle:null,$configModes:null,$styleModes:null,$colors:null,$opacitySlider:null,$opacityValue:null,$marginSlider:null,$marginValue:null,$fontSizeSlider:null,$fontSizeValue:null,$speedSlider:null,$speedValue:null,$input:null,$send:null},this.slider={opacity:null,margin:null,fontSize:null,speed:null},this.emitting=!1,this.isLock=!1,this.timer=null,this.createTemplate(),this.createSliders(),this.createEvents(),this.mount(this.option.mount),e.on(\"fullscreen\",e=>this.onFullscreen(e)),e.on(\"fullscreenWeb\",e=>this.onFullscreen(e))}static get icons(){return{$on:l.default,$off:d.default,$config:u.default,$style:m.default,$mode_0_off:f.default,$mode_0_on:v.default,$mode_1_off:x.default,$mode_1_on:b.default,$mode_2_off:w.default,$mode_2_on:E.default,$check_on:S.default,$check_off:A.default}}get option(){return this.danmuku.option}get outside(){return this.template.$mount!==this.template.$controlsCenter}get TEMPLATE(){let{option:e}=this;return`
${l.default}${d.default}
${u.default}
\\u{6309}\\u{7C7B}\\u{578B}\\u{5C4F}\\u{853D}
${f.default}${v.default}
\\u{6EDA}\\u{52A8}
${x.default}${b.default}
\\u{9876}\\u{90E8}
${w.default}${E.default}
\\u{5E95}\\u{90E8}
${S.default}${A.default} \\u{9632}\\u{6B62}\\u{5F39}\\u{5E55}\\u{91CD}\\u{53E0}
${S.default}${A.default} \\u{540C}\\u{6B65}\\u{89C6}\\u{9891}\\u{901F}\\u{5EA6}
\\u{4E0D}\\u{900F}\\u{660E}\\u{5EA6}
\\u{672A}\\u{77E5}
\\u{663E}\\u{793A}\\u{533A}\\u{57DF}
\\u{672A}\\u{77E5}
\\u{5F39}\\u{5E55}\\u{5B57}\\u{53F7}
\\u{672A}\\u{77E5}
\\u{5F39}\\u{5E55}\\u{901F}\\u{5EA6}
\\u{672A}\\u{77E5}
${m.default}
\\u{6A21}\\u{5F0F}
${v.default}
\\u{6EDA}\\u{52A8}
${b.default}
\\u{9876}\\u{90E8}
${E.default}
\\u{5E95}\\u{90E8}
\\u{989C}\\u{8272}
${this.COLOR.map(e=>`
`).join(\"\")}
\\u{53D1}\\u{9001}
`}get OPACITY(){return{min:0,max:100,steps:[],...this.option.OPACITY}}get FONT_SIZE(){return{min:12,max:120,steps:[],...this.option.FONT_SIZE}}get MARGIN(){return{min:0,max:3,steps:[{name:\"1/4\",value:[10,\"75%\"]},{name:\"半屏\",value:[10,\"50%\"]},{name:\"3/4\",value:[10,\"25%\"]},{name:\"满屏\",value:[10,10]}],...this.option.MARGIN}}get SPEED(){return{min:0,max:4,steps:[{name:\"极慢\",value:10},{name:\"较慢\",value:7.5,hide:!0},{name:\"适中\",value:5},{name:\"较快\",value:2.5,hide:!0},{name:\"极快\",value:1}],...this.option.SPEED}}get COLOR(){return this.option.COLOR.length?this.option.COLOR:[\"#FE0302\",\"#FF7204\",\"#FFAA02\",\"#FFD302\",\"#FFFF00\",\"#A0EE00\",\"#00CD00\",\"#019899\",\"#4266BE\",\"#89D5FF\",\"#CC0273\",\"#222222\",\"#9B9B9B\",\"#FFFFFF\"]}query(e){let{query:t}=this.utils,{$danmuku:i}=this.template;return t(e,i)}setData(e,t){let{$player:i}=this.art.template,{$mount:a}=this.template;i.dataset[e]=t,this.outside&&(a.dataset[e]=t)}createTemplate(){let{createElement:e,tooltip:t}=this.utils,i=e(\"div\");i.className=\"artplayer-plugin-danmuku\",i.innerHTML=this.TEMPLATE,this.template.$danmuku=i,this.template.$toggle=this.query(\".apd-toggle\"),this.template.$configModes=this.query(\".apd-config-mode .apd-modes\"),this.template.$styleModes=this.query(\".apd-style-mode .apd-modes\"),this.template.$colors=this.query(\".apd-colors\"),this.template.$antiOverlap=this.query(\".apd-anti-overlap\"),this.template.$syncVideo=this.query(\".apd-sync-video\"),this.template.$opacitySlider=this.query(\".apd-config-opacity .apd-slider\"),this.template.$opacityValue=this.query(\".apd-config-opacity .apd-value\"),this.template.$marginSlider=this.query(\".apd-config-margin .apd-slider\"),this.template.$marginValue=this.query(\".apd-config-margin .apd-value\"),this.template.$fontSizeSlider=this.query(\".apd-config-fontSize .apd-slider\"),this.template.$fontSizeValue=this.query(\".apd-config-fontSize .apd-value\"),this.template.$speedSlider=this.query(\".apd-config-speed .apd-slider\"),this.template.$speedValue=this.query(\".apd-config-speed .apd-value\"),this.template.$input=this.query(\".apd-input\"),this.template.$send=this.query(\".apd-send\");let{$toggle:a}=this.template;this.art.on(\"artplayerPluginDanmuku:show\",()=>{t(a,\"关闭弹幕\")}),this.art.on(\"artplayerPluginDanmuku:hide\",()=>{t(a,\"打开弹幕\")})}createEvents(){let{$toggle:e,$configModes:t,$styleModes:i,$colors:a,$antiOverlap:n,$syncVideo:o,$send:s,$input:l}=this.template;this.art.proxy(e,\"click\",()=>{this.danmuku.config({visible:!this.option.visible}),this.reset()}),this.art.proxy(t,\"click\",e=>{let t=e.target.closest(\".apd-mode\");if(!t)return;let i=Number(t.dataset.mode);this.option.modes.includes(i)?this.danmuku.config({modes:this.option.modes.filter(e=>e!==i)}):this.danmuku.config({modes:[...this.option.modes,i]}),this.reset()}),this.art.proxy(n,\"click\",()=>{this.danmuku.config({antiOverlap:!this.option.antiOverlap}),this.reset()}),this.art.proxy(o,\"click\",()=>{this.danmuku.config({synchronousPlayback:!this.option.synchronousPlayback}),this.reset()}),this.art.proxy(i,\"click\",e=>{let t=e.target.closest(\".apd-mode\");if(!t)return;let i=Number(t.dataset.mode);this.danmuku.config({mode:i}),this.reset()}),this.art.proxy(a,\"click\",e=>{let t=e.target.closest(\".apd-color\");t&&(this.danmuku.config({color:t.dataset.color}),this.reset())}),this.art.proxy(s,\"click\",()=>this.emit()),this.art.proxy(l,\"keypress\",e=>{\"Enter\"===e.key&&(e.preventDefault(),this.emit())})}createSliders(){this.slider.opacity=this.createSlider({...this.OPACITY,container:this.template.$opacitySlider,findIndex:()=>Math.round(100*this.option.opacity),onChange:e=>{let{$opacityValue:t}=this.template;t.textContent=`${e}%`,this.danmuku.config({opacity:e/100})}}),this.slider.margin=this.createSlider({...this.MARGIN,container:this.template.$marginSlider,findIndex:()=>this.MARGIN.steps.findIndex(e=>e.value[0]===this.option.margin[0]&&e.value[1]===this.option.margin[1]),onChange:e=>{let t=this.MARGIN.steps[e];if(!t)return;let{$marginValue:i}=this.template;i.textContent=t.name,this.danmuku.config({margin:t.value})}}),this.slider.fontSize=this.createSlider({...this.FONT_SIZE,container:this.template.$fontSizeSlider,findIndex:()=>Math.round(this.danmuku.fontSize),onChange:e=>{let{$fontSizeValue:t}=this.template;t.textContent=`${e}px`,this.danmuku.config({fontSize:e})}}),this.slider.speed=this.createSlider({...this.SPEED,container:this.template.$speedSlider,findIndex:()=>this.SPEED.steps.findIndex(e=>e.value===this.option.speed),onChange:e=>{let t=this.SPEED.steps[e];if(!t)return;let{$speedValue:i}=this.template;i.textContent=t.name,this.danmuku.config({speed:t.value})}})}createSlider({min:e,max:t,container:i,findIndex:a,onChange:n,steps:o=[]}){let{query:s,clamp:l}=this.utils;i.innerHTML=`
${o.map(()=>'
').join(\"\")}
${o.map(e=>e.hide?\"\":`
${e.name}
`).join(\"\")}
`;let r=s(\".apd-slider-dot\",i),d=s(\".apd-slider-progress\",i),p=!1;function u(i=a()){if(it)return;let s=(i-e)/(t-e);r.style.left=`${100*s}%`,0===o.length&&(d.style.width=r.style.left),n(i)}function h(a){let{left:n,width:o}=i.getBoundingClientRect();u(Math.round(l(a.clientX-n,0,o)/o*(t-e)+e))}return this.art.proxy(i,\"click\",e=>{h(e)}),this.art.proxy(i,\"mousedown\",e=>{p=0===e.button}),this.art.on(\"document:mousemove\",e=>{p&&h(e)}),this.art.on(\"document:mouseup\",e=>{p&&(p=!1,h(e))}),{reset:u}}onFullscreen(e){if(this.outside){let{$danmuku:t,$controlsCenter:i,$mount:a}=this.template;e?i.appendChild(t):a.appendChild(t)}}async emit(){let{$input:e}=this.template,t=e.value.trim();if(!t.length||this.isLock||this.emitting)return;let i={text:t,mode:this.option.mode,color:this.option.color,time:this.art.currentTime};try{this.emitting=!0;let t=await this.option.beforeEmit(i);if(this.emitting=!1,!0!==t)return;i.border=!0,delete i.time,this.danmuku.emit(i),e.value=\"\",this.lock()}catch(e){this.emitting=!1}}lock(){let{addClass:e}=this.utils,{$send:t}=this.template;this.isLock=!0;let i=this.option.lockTime;t.innerText=i,e(t,\"apd-lock\");let a=()=>{this.timer=setTimeout(()=>{0===i?this.unlock():(i-=1,t.innerText=i,a())},1e3)};a()}unlock(){let{removeClass:e}=this.utils,{$send:t}=this.template;clearTimeout(this.timer),this.isLock=!1,t.innerText=\"发送\",e(t,\"apd-lock\")}reset(){let{inverseClass:e,tooltip:t}=this.utils,{$toggle:i,$colors:a}=this.template;this.slider.opacity.reset(),this.slider.margin.reset(),this.slider.fontSize.reset(),this.slider.speed.reset(),this.setData(\"danmukuVisible\",this.option.visible),this.setData(\"danmukuMode\",this.option.mode),this.setData(\"danmukuColor\",this.option.color),this.setData(\"danmukuMode0\",this.option.modes.includes(0)),this.setData(\"danmukuMode1\",this.option.modes.includes(1)),this.setData(\"danmukuMode2\",this.option.modes.includes(2)),this.setData(\"danmukuAntiOverlap\",this.option.antiOverlap),this.setData(\"danmukuSyncVideo\",this.option.synchronousPlayback),this.setData(\"danmukuTheme\",this.option.theme),this.setData(\"danmukuEmitter\",this.option.emitter);let n=Array.from(a.children).find(e=>e.dataset.color===this.option.color.toUpperCase());n&&e(n,\"apd-active\"),t(i,this.option.visible?\"关闭弹幕\":\"打开弹幕\")}mount(e){let t=\"string\"==typeof e?document.querySelector(e):e;t.appendChild(this.template.$danmuku),this.template.$mount=t,this.reset()}},\"undefined\"!=typeof document){let e=\"artplayer-plugin-danmuku\",t=document.getElementById(e);if(t)t.textContent=o.default;else{let t=document.createElement(\"style\");t.id=e,t.textContent=o.default,document.head.appendChild(t)}}},{\"bundle-text:./style.less\":\"hViDo\",\"bundle-text:./img/on.svg\":\"9pjcf\",\"bundle-text:./img/off.svg\":\"b2dkP\",\"bundle-text:./img/config.svg\":\"l8tyy\",\"bundle-text:./img/style.svg\":\"5iZC3\",\"bundle-text:./img/mode_0_off.svg\":\"i0Vut\",\"bundle-text:./img/mode_0_on.svg\":\"hOSvZ\",\"bundle-text:./img/mode_1_off.svg\":\"bOXC3\",\"bundle-text:./img/mode_1_on.svg\":\"lKuh0\",\"bundle-text:./img/mode_2_off.svg\":\"eB8W6\",\"bundle-text:./img/mode_2_on.svg\":\"bpe2E\",\"bundle-text:./img/check_on.svg\":\"kL9zy\",\"bundle-text:./img/check_off.svg\":\"22xpM\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],hViDo:[function(e,t,i){t.exports='.artplayer-plugin-danmuku{z-index:99;color:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:100%;height:32px;font-size:12px;font-weight:300;display:flex;position:relative}.artplayer-plugin-danmuku .apd-icon{cursor:pointer;opacity:.75;fill:#fff;transition:all .2s}.artplayer-plugin-danmuku .apd-icon:hover{opacity:1}.artplayer-plugin-danmuku .apd-config{display:flex;position:relative}.artplayer-plugin-danmuku .apd-config .apd-config-panel{width:320px;padding:10px;display:none;position:absolute;bottom:24px;left:-148px}.artplayer-plugin-danmuku .apd-config .apd-config-panel .apd-config-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-config:hover .apd-config-panel{display:flex}.artplayer-plugin-danmuku .apd-config-mode,.artplayer-plugin-danmuku .apd-config-slider,.artplayer-plugin-danmuku .apd-config-other,.artplayer-plugin-danmuku .apd-style-mode{margin-bottom:15px}.artplayer-plugin-danmuku .apd-modes{align-items:center;gap:20px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-modes .apd-mode{cursor:pointer;text-align:center}.artplayer-plugin-danmuku .apd-modes .apd-mode:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-config-slider{align-items:center;gap:12px;display:flex}.artplayer-plugin-danmuku .apd-config-slider .apd-value{text-align:right;width:32px}.artplayer-plugin-danmuku .apd-slider{cursor:pointer;flex:1;justify-content:center;align-items:center;height:20px;display:flex;position:relative}.artplayer-plugin-danmuku .apd-slider .apd-slider-line{background-color:#ffffff40;border-radius:3px;width:100%;height:2px;position:relative;overflow:hidden}.artplayer-plugin-danmuku .apd-slider .apd-slider-points{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.artplayer-plugin-danmuku .apd-slider .apd-slider-points .apd-slider-point{background-color:#ffffff80;border-radius:50%;width:2px;height:2px}.artplayer-plugin-danmuku .apd-slider .apd-slider-progress{background-color:#00a1d6;width:0%;height:100%}.artplayer-plugin-danmuku .apd-slider .apd-slider-dot{background-color:#00a1d6;border-radius:50%;width:12px;height:12px;position:absolute;left:0%;transform:translate(-6px)}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps{color:#777;justify-content:space-between;align-items:center;width:calc(100% + 32px);display:flex;position:absolute;bottom:-12px}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps .apd-slider-step{text-align:center;flex-shrink:0;width:36px;scale:.95}.artplayer-plugin-danmuku .apd-config-other{align-items:center;gap:20px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-check-off,.artplayer-plugin-danmuku .apd-config-other .apd-check-on{width:16px;height:16px}.artplayer-plugin-danmuku .apd-config-other .apd-other{cursor:pointer;align-items:center;gap:2px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-other:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-emitter{background-color:#ffffff40;border-radius:5px;flex:1;align-items:center;height:100%;display:flex}.artplayer-plugin-danmuku .apd-style{justify-content:center;align-items:center;display:flex;position:relative}.artplayer-plugin-danmuku .apd-style .apd-style-panel{width:200px;padding:10px;display:none;position:absolute;bottom:24px;left:-88px}.artplayer-plugin-danmuku .apd-style .apd-style-panel .apd-style-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-style:hover .apd-style-panel{display:flex}.artplayer-plugin-danmuku .apd-colors{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-colors .apd-color{cursor:pointer;border-radius:2px;width:16px;height:16px}.artplayer-plugin-danmuku .apd-colors .apd-color.apd-active{border:1px solid #000;box-shadow:0 0 0 1px #fff}.artplayer-plugin-danmuku .apd-input{color:#fff;background-color:#0000;border:none;outline:none;flex:1;width:auto;min-width:0;height:100%;line-height:1}.artplayer-plugin-danmuku .apd-input::placeholder{color:#ffffff80}.artplayer-plugin-danmuku .apd-send{cursor:pointer;text-shadow:none;background-color:#00a1d6;border-top-right-radius:5px;border-bottom-right-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:100%;display:flex}.artplayer-plugin-danmuku .apd-send.apd-lock{cursor:not-allowed;color:#666;background-color:#e7e7e7}.art-controls-center .apd-emitter{flex:none;width:260px}.art-fullscreen .artplayer-plugin-danmuku,.art-fullscreen-web .artplayer-plugin-danmuku{gap:16px;height:38px}.art-fullscreen .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen-web .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-on,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-on{width:28px;height:28px}.art-fullscreen .artplayer-plugin-danmuku .apd-emitter,.art-fullscreen-web .artplayer-plugin-danmuku .apd-emitter{flex:none;width:400px}[data-danmuku-emitter=false] .apd-emitter{display:none!important}[data-danmuku-emitter=false] .art-controls-center .artplayer-plugin-danmuku{justify-content:flex-end;gap:18px}[data-danmuku-emitter=false].art-fullscreen .art-controls-center .artplayer-plugin-danmuku,[data-danmuku-emitter=false].art-fullscreen-web .art-controls-center .artplayer-plugin-danmuku{gap:24px}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-icon{fill:#333}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-emitter{background-color:#f1f2f3}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input{color:#000}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:#0000004d}[data-danmuku-visible=false] .apd-toggle-off{display:block}[data-danmuku-visible=false] .apd-toggle-on,[data-danmuku-visible=true] .apd-toggle-off{display:none}[data-danmuku-visible=true] .apd-toggle-on{display:block}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-on{display:none}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-off,[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-on{display:block}[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-off,[data-danmuku-sync-video=false] .apd-sync-video .apd-check-on{display:none}[data-danmuku-sync-video=false] .apd-sync-video .apd-check-off,[data-danmuku-sync-video=true] .apd-sync-video .apd-check-on{display:block}[data-danmuku-sync-video=true] .apd-sync-video .apd-check-off{display:none}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-off{display:block}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-on{display:none}[data-danmuku-mode0=false] .art-danmuku [data-mode=\"0\"]{opacity:0!important}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-off{display:none}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-on{display:block}[data-danmuku-mode=\"0\"] .apd-style-mode [data-mode=\"0\"]{color:#00a1d6}[data-danmuku-mode=\"0\"] .apd-style-mode [data-mode=\"0\"] path{fill:#00a1d6}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-off{display:block}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-on{display:none}[data-danmuku-mode1=false] .art-danmuku [data-mode=\"1\"]{opacity:0!important}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-off{display:none}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-on{display:block}[data-danmuku-mode=\"1\"] .apd-style-mode [data-mode=\"1\"]{color:#00a1d6}[data-danmuku-mode=\"1\"] .apd-style-mode [data-mode=\"1\"] path{fill:#00a1d6}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-off{display:block}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-on{display:none}[data-danmuku-mode2=false] .art-danmuku [data-mode=\"2\"]{opacity:0!important}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-off{display:none}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-on{display:block}[data-danmuku-mode=\"2\"] .apd-style-mode [data-mode=\"2\"]{color:#00a1d6}[data-danmuku-mode=\"2\"] .apd-style-mode [data-mode=\"2\"] path{fill:#00a1d6}'},{}],\"9pjcf\":[function(e,t,i){t.exports=''},{}],b2dkP:[function(e,t,i){t.exports=''},{}],l8tyy:[function(e,t,i){t.exports=''},{}],\"5iZC3\":[function(e,t,i){t.exports=''},{}],i0Vut:[function(e,t,i){t.exports=''},{}],hOSvZ:[function(e,t,i){t.exports=''},{}],bOXC3:[function(e,t,i){t.exports=''},{}],lKuh0:[function(e,t,i){t.exports=''},{}],eB8W6:[function(e,t,i){t.exports=''},{}],bpe2E:[function(e,t,i){t.exports=''},{}],kL9zy:[function(e,t,i){t.exports=''},{}],\"22xpM\":[function(e,t,i){t.exports=''},{}],\"8AxLD\":[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(i),a.export(i,\"default\",()=>s);let n={map:(e,t,i,a,n)=>(e-t)*(n-a)/(i-t)+a,range(e,t,i){let a=Math.round(e/i)*i;return Array.from({length:Math.floor((t-e)/i)},(e,t)=>t*i+a)}},o=(e,t)=>{let i=t[0]-e[0],a=t[1]-e[1];return{length:Math.sqrt(Math.pow(i,2)+Math.pow(a,2)),angle:Math.atan2(a,i)}};function s(e,t,i){let{query:a}=e.constructor.utils;e.controls.add({name:\"heatmap\",position:\"top\",html:\"\",style:{position:\"absolute\",top:\"-100px\",left:\"0px\",right:\"0px\",height:\"100px\",width:\"100%\",pointerEvents:\"none\"},mounted(s){let l=null,r=null;function d(d=[]){if(l=null,r=null,s.innerHTML=\"\",!e.duration||e.option.isLive)return;let p={w:s.offsetWidth,h:s.offsetHeight},u={xMin:0,xMax:p.w,yMin:0,yMax:128,scale:.25,opacity:.2,minHeight:Math.floor(.05*p.h),sampling:Math.floor(p.w/100),smoothing:.2,flattening:.2};\"object\"==typeof i&&Object.assign(u,i);let h=[];if(Array.isArray(d)&&d.length)h=[...d];else{let i=e.duration/p.w;for(let e=0;e<=p.w;e+=u.sampling){let a=t.danmus.filter(({time:t})=>t>e*i&&t<=(e+u.sampling)*i).length;h.push([e,a])}}if(0===h.length)return;let m=h[h.length-1],c=m[0],f=m[1];c!==p.w&&h.push([p.w,f]);let g=h.map(e=>e[1]),v=(Math.min(...g)+Math.max(...g))/2;for(let e=0;ev?1+u.scale:1-u.scale)+u.minHeight}let y=(e,t,i,a)=>{let s=o(t||e,i||e),l=n.map(Math.cos(s.angle)*u.flattening,0,1,1,0),r=s.angle*l+(a?Math.PI:0),d=s.length*u.smoothing;return[e[0]+Math.cos(r)*d,e[1]+Math.sin(r)*d]},x=(e,t,i)=>{let a=y(i[t-1],i[t-2],e),n=y(e,i[t-1],i[t+1],!0),o=t===i.length-1?\" z\":\"\";return`C ${a[0]},${a[1]} ${n[0]},${n[1]} ${e[0]},${e[1]}${o}`},k=h.map(e=>[n.map(e[0],u.xMin,u.xMax,0,p.w),n.map(e[1],u.yMin,u.yMax,p.h,0)]).reduce((e,t,i,a)=>0===i?`M ${a[a.length-1][0]},${p.h} L ${t[0]},${p.h} L ${t[0]},${t[1]}`:`${e} ${x(t,i,a)}`,\"\");s.innerHTML=``,l=a(\"#heatmap-start\",s),r=a(\"#heatmap-stop\",s),l.setAttribute(\"offset\",`${100*e.played}%`),r.setAttribute(\"offset\",`${100*e.played}%`)}e.on(\"video:timeupdate\",()=>{l&&r&&(l.setAttribute(\"offset\",`${100*e.played}%`),r.setAttribute(\"offset\",`${100*e.played}%`))}),e.on(\"setBar\",(e,t)=>{l&&r&&\"played\"===e&&(l.setAttribute(\"offset\",`${100*t}%`),r.setAttribute(\"offset\",`${100*t}%`))}),e.on(\"ready\",()=>d()),e.on(\"resize\",()=>d()),e.on(\"artplayerPluginDanmuku:loaded\",()=>d()),e.on(\"artplayerPluginDanmuku:points\",e=>d(e))}})}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}]},[\"bgm6t\"],\"bgm6t\",\"parcelRequire4dc0\");","\n/*!\n * artplayer.js v5.1.6\n * Github: https://github.com/zhw2590582/ArtPlayer\n * (c) 2017-2024 Harvey Zack\n * Released under the MIT License.\n */\n!function(e,t,r,a,i){var o=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{},n=\"function\"==typeof o[a]&&o[a],s=n.cache||{},l=\"undefined\"!=typeof module&&\"function\"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var i=\"function\"==typeof o[a]&&o[a];if(!r&&i)return i(t,!0);if(n)return n(t,!0);if(l&&\"string\"==typeof t)return l(t);var u=Error(\"Cannot find module '\"+t+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}d.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},d.cache={};var p=s[t]=new c.Module(t);e[t][0].call(p.exports,d,p,p.exports,this)}return s[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=s,c.parent=n,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,\"root\",{get:function(){return o[a]}}),o[a]=c;for(var u=0;ut.call(this,this)),G.DEBUG){let e=e=>console.log(`[ART.${this.id}] -> ${e}`);e(\"Version@\"+G.version),e(\"Env@\"+G.env),e(\"Build@\"+G.build);for(let t=0;te(\"Event@\"+t.type))}X.push(this)}static get instances(){return X}static get version(){return\"5.1.6\"}static get env(){return\"production\"}static get build(){return\"2024-06-15 19:54:25\"}static get config(){return h.default}static get utils(){return u}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return g.default.html}static get option(){return{id:\"\",container:\"#artplayer\",url:\"\",poster:\"\",type:\"\",theme:\"#f00\",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:\"\",number:60,column:10,width:0,height:0},subtitle:{url:\"\",type:\"\",style:{},name:\"\",escape:!0,encoding:\"utf-8\",onVttLoad:e=>e},moreVideoAttr:{controls:!1,preload:u.isSafari?\"auto\":\"metadata\"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),X.splice(X.indexOf(this),1),this.isDestroy=!0,this.emit(\"destroy\")}}r.default=G,G.DEBUG=!1,G.CONTEXTMENU=!0,G.NOTICE_TIME=2e3,G.SETTING_WIDTH=250,G.SETTING_ITEM_WIDTH=200,G.SETTING_ITEM_HEIGHT=35,G.RESIZE_TIME=200,G.SCROLL_TIME=200,G.SCROLL_GAP=50,G.AUTO_PLAYBACK_MAX=10,G.AUTO_PLAYBACK_MIN=5,G.AUTO_PLAYBACK_TIMEOUT=3e3,G.RECONNECT_TIME_MAX=5,G.RECONNECT_SLEEP_TIME=1e3,G.CONTROL_HIDE_TIME=3e3,G.DBCLICK_TIME=300,G.DBCLICK_FULLSCREEN=!0,G.MOBILE_DBCLICK_PLAY=!0,G.MOBILE_CLICK_PLAY=!1,G.AUTO_ORIENTATION_TIME=200,G.INFO_LOOP_TIME=1e3,G.FAST_FORWARD_VALUE=3,G.FAST_FORWARD_TIME=1e3,G.TOUCH_MOVE_RATIO=.5,G.VOLUME_STEP=.1,G.SEEK_STEP=5,G.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],G.ASPECT_RATIO=[\"default\",\"4:3\",\"16:9\"],G.FLIP=[\"normal\",\"horizontal\",\"vertical\"],G.FULLSCREEN_WEB_IN_BODY=!1,G.LOG_VERSION=!0,G.USE_RAF=!1,u.isBrowser&&(window.Artplayer=G,u.setStyleText(\"artplayer-style\",o.default),setTimeout(()=>{G.LOG_VERSION&&console.log(`%c ArtPlayer %c ${G.version} %c https://artplayer.org`,\"color: #fff; background: #5f5f5f\",\"color: #fff; background: #4bc729\",\"\")},100))},{\"bundle-text:./style/index.less\":\"kfOe8\",\"option-validator\":\"9I0i9\",\"./utils/emitter\":\"2bGVu\",\"./utils\":\"h3rH9\",\"./scheme\":\"AdvwB\",\"./config\":\"9Xmqu\",\"./template\":\"2gKYH\",\"./i18n\":\"1AdeF\",\"./player\":\"556MW\",\"./control\":\"14IBq\",\"./contextmenu\":\"7iUum\",\"./info\":\"hD2Lg\",\"./subtitle\":\"lum0D\",\"./events\":\"1Epl5\",\"./hotkey\":\"eTow4\",\"./layer\":\"4fDoD\",\"./loading\":\"fE0Sp\",\"./notice\":\"9PuGy\",\"./mask\":\"2etr0\",\"./icons\":\"6dYSr\",\"./setting\":\"bRHiA\",\"./storage\":\"f2Thp\",\"./plugins\":\"96ThS\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],kfOe8:[function(e,t,r){t.exports='.art-video-player{--art-theme:red;--art-font-color:#fff;--art-background-color:#000;--art-text-shadow-color:#00000080;--art-transition-duration:.2s;--art-padding:10px;--art-border-radius:3px;--art-progress-height:6px;--art-progress-color:#ffffff40;--art-hover-color:#ffffff40;--art-loaded-color:#ffffff40;--art-state-size:80px;--art-state-opacity:.8;--art-bottom-height:100px;--art-bottom-offset:20px;--art-bottom-gap:5px;--art-highlight-width:8px;--art-highlight-color:#ffffff80;--art-control-height:46px;--art-control-opacity:.75;--art-control-icon-size:36px;--art-control-icon-scale:1.1;--art-volume-height:120px;--art-volume-handle-size:14px;--art-lock-size:36px;--art-indicator-scale:0;--art-indicator-size:16px;--art-fullscreen-web-index:9999;--art-settings-icon-size:24px;--art-settings-max-height:300px;--art-selector-max-height:300px;--art-contextmenus-min-width:250px;--art-subtitle-font-size:20px;--art-subtitle-gap:5px;--art-subtitle-bottom:15px;--art-subtitle-border:#000;--art-widget-background:#000000d9;--art-tip-background:#000000b3;--art-scrollbar-size:4px;--art-scrollbar-background:#ffffff40;--art-scrollbar-background-hover:#ffffff80;--art-mini-progress-height:2px}.art-bg-cover{background-position:50%;background-repeat:no-repeat;background-size:cover}.art-bottom-gradient{background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x}.art-backdrop-filter{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.art-video-player{zoom:1;text-align:left;user-select:none;box-sizing:border-box;color:var(--art-font-color);background-color:var(--art-background-color);text-shadow:0 0 2px var(--art-text-shadow-color);-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;direction:ltr;outline:0;width:100%;height:100%;margin:0 auto;padding:0;font-family:PingFang SC,Helvetica Neue,Microsoft YaHei,Roboto,Arial,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:var(--art-scrollbar-size);height:var(--art-scrollbar-size)}.art-video-player ::-webkit-scrollbar-thumb{background-color:var(--art-scrollbar-background)}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:var(--art-scrollbar-background-hover)}.art-video-player img{vertical-align:top;max-width:100%}.art-video-player svg{fill:var(--art-font-color)}.art-video-player a{color:var(--art-font-color);text-decoration:none}.art-icon{justify-content:center;align-items:center;line-height:1;display:flex}.art-video-player.art-backdrop .art-contextmenus,.art-video-player.art-backdrop .art-info,.art-video-player.art-backdrop .art-settings,.art-video-player.art-backdrop .art-layer-auto-playback,.art-video-player.art-backdrop .art-selector-list,.art-video-player.art-backdrop .art-volume-inner{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-video{z-index:10;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.art-poster{z-index:11;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:var(--art-subtitle-gap);bottom:var(--art-subtitle-bottom);font-size:var(--art-subtitle-font-size);transition:bottom var(--art-transition-duration)ease;text-shadow:var(--art-subtitle-border)1px 0 1px,var(--art-subtitle-border)0 1px 1px,var(--art-subtitle-border)-1px 0 1px,var(--art-subtitle-border)0 -1px 1px,var(--art-subtitle-border)1px 1px 1px,var(--art-subtitle-border)-1px -1px 1px,var(--art-subtitle-border)1px -1px 1px,var(--art-subtitle-border)-1px 1px 1px;flex-direction:column;width:100%;padding:0 5%;display:none;position:absolute}.art-video-player.art-subtitle-show .art-subtitle{display:flex}.art-video-player.art-control-show .art-subtitle{bottom:calc(var(--art-control-height) + var(--art-subtitle-bottom))}.art-danmuku{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:flex}.art-video-player .art-mask{z-index:50;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.art-video-player .art-mask .art-state{opacity:0;width:var(--art-state-size);height:var(--art-state-size);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;display:flex;transform:scale(2)}.art-video-player.art-mask-show .art-state{cursor:pointer;pointer-events:auto;opacity:var(--art-state-opacity);transform:scale(1)}.art-video-player.art-loading-show .art-state{display:none}.art-video-player .art-loading{z-index:70;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;opacity:0;pointer-events:none;padding:0 var(--art-padding);transition:all var(--art-transition-duration)ease;background-size:100% var(--art-bottom-height);background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.art-video-player .art-bottom .art-controls,.art-video-player .art-bottom .art-progress{transform:translateY(var(--art-bottom-offset));transition:transform var(--art-transition-duration)ease}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1}.art-video-player.art-control-show .art-bottom .art-controls,.art-video-player.art-hover .art-bottom .art-controls,.art-video-player.art-control-show .art-bottom .art-progress,.art-video-player.art-hover .art-bottom .art-progress{transform:translateY(0)}.art-bottom .art-progress{z-index:0;pointer-events:auto;padding-bottom:var(--art-bottom-gap);position:relative}.art-bottom .art-progress .art-control-progress{cursor:pointer;height:var(--art-progress-height);justify-content:center;align-items:center;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner{transition:height var(--art-transition-duration)ease;background-color:var(--art-progress-color);align-items:center;width:100%;height:50%;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover{z-index:0;background-color:var(--art-hover-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;background-color:var(--art-loaded-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;background-color:var(--art-theme);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{z-index:0;pointer-events:auto;transform:translateX(calc(var(--art-highlight-width)/-2));background-color:var(--art-highlight-color);width:100%;height:100%;position:absolute;inset:0 auto 0 0;width:var(--art-highlight-width)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{z-index:40;width:var(--art-indicator-size);height:var(--art-indicator-size);transform:scale(var(--art-indicator-scale));margin-left:calc(var(--art-indicator-size)/-2);transition:transform var(--art-transition-duration)ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{pointer-events:none;width:100%;height:100%}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active{transform:scale(1)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;border-radius:var(--art-border-radius);white-space:nowrap;background-color:var(--art-tip-background);padding:3px 5px;font-size:12px;line-height:1;display:none;position:absolute;top:-25px;left:0}.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner{height:100%}.art-bottom .art-progress .art-control-thumbnails{bottom:calc(var(--art-bottom-gap) + 10px);border-radius:var(--art-border-radius);pointer-events:none;background-color:var(--art-widget-background);display:none;position:absolute;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{transform:scale(1)}.art-controls{z-index:10;pointer-events:auto;height:var(--art-control-height);justify-content:space-between;align-items:center;display:flex;position:relative}.art-controls .art-controls-left,.art-controls .art-controls-right{height:100%;display:flex}.art-controls .art-controls-center{flex:1;justify-content:center;align-items:center;height:100%;padding:0 10px;display:none}.art-controls .art-controls-right{justify-content:flex-end}.art-controls .art-control{cursor:pointer;white-space:nowrap;opacity:var(--art-control-opacity);min-height:var(--art-control-height);min-width:var(--art-control-height);transition:opacity var(--art-transition-duration)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.art-controls .art-control .art-icon{height:var(--art-control-icon-size);width:var(--art-control-icon-size);transform:scale(var(--art-control-icon-scale));transition:transform var(--art-transition-duration)ease}.art-controls .art-control .art-icon:active{transform:scale(calc(var(--art-control-icon-scale)*.8))}.art-controls .art-control:hover{opacity:1}.art-control-volume{position:relative}.art-control-volume .art-volume-panel{text-align:center;cursor:default;opacity:0;pointer-events:none;left:0;right:0;bottom:var(--art-control-height);width:var(--art-control-height);height:var(--art-volume-height);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;padding:0 5px;font-size:12px;display:flex;position:absolute;transform:translateY(10px)}.art-control-volume .art-volume-panel .art-volume-inner{border-radius:var(--art-border-radius);background-color:var(--art-widget-background);flex-direction:column;align-items:center;gap:10px;width:100%;height:100%;padding:10px 0 12px;display:flex}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider{cursor:pointer;flex:1;justify-content:center;width:100%;display:flex;position:relative}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle{border-radius:var(--art-border-radius);background-color:#ffffff40;justify-content:center;width:2px;display:flex;position:relative;overflow:hidden}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded{z-index:0;background-color:var(--art-theme);width:100%;height:100%;position:absolute;inset:0}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator{width:var(--art-volume-handle-size);height:var(--art-volume-handle-size);margin-top:calc(var(--art-volume-handle-size)/-2);background-color:var(--art-theme);transition:transform var(--art-transition-duration)ease;border-radius:100%;flex-shrink:0;position:absolute;transform:scale(1)}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator{transform:scale(.9)}.art-control-volume:hover .art-volume-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.art-video-player .art-notice{z-index:80;padding:var(--art-padding);pointer-events:none;width:100%;height:auto;display:none;position:absolute;inset:0 0 auto}.art-video-player .art-notice .art-notice-inner{border-radius:var(--art-border-radius);background-color:var(--art-tip-background);padding:5px;line-height:1;display:inline-flex}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);min-width:var(--art-contextmenus-min-width);flex-direction:column;padding:5px 0;font-size:12px;display:none;position:absolute}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;border-bottom:1px solid #ffffff1a;padding:10px 15px;display:flex}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 8px}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--art-theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;border-radius:var(--art-border-radius);transform-origin:100% 100%;max-height:var(--art-settings-max-height);left:auto;right:var(--art-padding);bottom:var(--art-control-height);transform:scale(var(--art-settings-scale));transition:all var(--art-transition-duration)ease;background-color:var(--art-widget-background);flex-direction:column;display:none;position:absolute;overflow:hidden auto}.art-video-player .art-settings .art-setting-panel{flex-direction:column;display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item{cursor:pointer;transition:background-color var(--art-transition-duration)ease;justify-content:space-between;align-items:center;padding:0 5px;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--art-theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{justify-content:center;align-items:center;gap:5px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:var(--art-settings-icon-size);width:var(--art-settings-icon-size);justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{justify-content:center;align-items:center;min-width:32px;height:24px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{appearance:none;background-color:#fff3;outline:none;width:80px;height:3px}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:flex}.art-video-player .art-info{left:var(--art-padding);top:var(--art-padding);z-index:100;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);padding:10px;font-size:12px;display:none;position:absolute}.art-video-player .art-info .art-info-panel{flex-direction:column;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item{align-items:center;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item .art-info-title{text-align:right;width:100px}.art-video-player .art-info .art-info-panel .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;user-select:all;width:250px;overflow:hidden}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio]{overflow:hidden}.art-video-player[data-aspect-ratio] .art-video{object-fit:fill;box-sizing:content-box}.art-fullscreen{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3}.art-fullscreen-web{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3;z-index:var(--art-fullscreen-web-index);width:100%;height:100%;position:fixed;inset:0}.art-mini-popup{z-index:9999;border-radius:var(--art-border-radius);cursor:move;user-select:none;background:#000;width:320px;height:180px;transition:opacity .2s;position:fixed;overflow:hidden;box-shadow:0 0 5px #00000080}.art-mini-popup svg{fill:#fff}.art-mini-popup .art-video{pointer-events:none}.art-mini-popup .art-mini-close{z-index:20;cursor:pointer;opacity:0;transition:opacity .2s;position:absolute;top:10px;right:10px}.art-mini-popup .art-mini-state{z-index:30;pointer-events:none;opacity:0;background-color:#00000040;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:flex;position:absolute;inset:0}.art-mini-popup .art-mini-state .art-icon{opacity:.75;cursor:pointer;pointer-events:auto;transition:transform .2s;transform:scale(3)}.art-mini-popup .art-mini-state .art-icon:active{transform:scale(2.5)}.art-mini-popup.art-mini-droging{opacity:.9}.art-mini-popup:hover .art-mini-close,.art-mini-popup:hover .art-mini-state{opacity:1}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-lock{height:var(--art-lock-size);width:var(--art-lock-size);top:50%;left:var(--art-padding);background-color:var(--art-tip-background);border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;transform:translateY(-50%)}.art-video-player .art-layer-auto-playback{border-radius:var(--art-border-radius);left:var(--art-padding);bottom:calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);background-color:var(--art-widget-background);align-items:center;gap:10px;padding:10px;line-height:1;display:none;position:absolute}.art-video-player .art-layer-auto-playback .art-auto-playback-close{cursor:pointer;justify-content:center;align-items:center;display:flex}.art-video-player .art-layer-auto-playback .art-auto-playback-close svg{fill:var(--art-theme);width:15px;height:15px}.art-video-player .art-layer-auto-playback .art-auto-playback-jump{color:var(--art-theme);cursor:pointer}.art-video-player.art-lock .art-subtitle{bottom:var(--art-subtitle-bottom)!important}.art-video-player.art-mini-progress-bar .art-bottom,.art-video-player.art-lock .art-bottom{opacity:1;background-image:none;padding:0}.art-video-player.art-mini-progress-bar .art-bottom .art-controls,.art-video-player.art-lock .art-bottom .art-controls,.art-video-player.art-mini-progress-bar .art-bottom .art-progress,.art-video-player.art-lock .art-bottom .art-progress{transform:translateY(calc(var(--art-control-height) + var(--art-bottom-gap) + var(--art-progress-height)/4))}.art-video-player.art-mini-progress-bar .art-bottom .art-progress-indicator,.art-video-player.art-lock .art-bottom .art-progress-indicator{display:none!important}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-control-selector{position:relative}.art-control-selector .art-selector-list{text-align:center;border-radius:var(--art-border-radius);opacity:0;pointer-events:none;bottom:var(--art-control-height);max-height:var(--art-selector-max-height);background-color:var(--art-widget-background);transition:all var(--art-transition-duration)ease;flex-direction:column;align-items:center;display:flex;position:absolute;overflow:hidden auto;transform:translateY(10px)}.art-control-selector .art-selector-list .art-selector-item{flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:10px 15px;line-height:1;display:flex}.art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-control-selector .art-selector-list .art-selector-item:hover,.art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--art-theme)}.art-control-selector:hover .art-selector-list{opacity:1;pointer-events:auto;transform:translateY(0)}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:\"\";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=\"\"]:before,[aria-label=\"\"]:after,[data-hint=\"\"]:before,[data-hint=\"\"]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}.art-video-player.art-mobile{--art-bottom-gap:10px;--art-control-height:38px;--art-control-icon-scale:1;--art-state-size:60px;--art-settings-max-height:180px;--art-selector-max-height:180px;--art-indicator-scale:1;--art-control-opacity:1}.art-video-player.art-mobile .art-controls-left{margin-left:calc(var(--art-padding)/-1)}.art-video-player.art-mobile .art-controls-right{margin-right:calc(var(--art-padding)/-1)}'},{}],\"9I0i9\":[function(e,t,r){var a;a=function(){function e(t){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return\"undefined\";if(null===r)return\"null\";var i=e(r);if(\"boolean\"===i)return\"boolean\";if(\"string\"===i)return\"string\";if(\"number\"===i)return\"number\";if(\"symbol\"===i)return\"symbol\";if(\"function\"===i)return\"GeneratorFunction\"===a(r)?\"generatorfunction\":\"function\";if(Array.isArray?Array.isArray(r):r instanceof Array)return\"array\";if(r.constructor&&\"function\"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r))return\"buffer\";if(function(e){try{if(\"number\"==typeof e.length&&\"function\"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf(\"callee\"))return!0}return!1}(r))return\"arguments\";if(r instanceof Date||\"function\"==typeof r.toDateString&&\"function\"==typeof r.getDate&&\"function\"==typeof r.setDate)return\"date\";if(r instanceof Error||\"string\"==typeof r.message&&r.constructor&&\"number\"==typeof r.constructor.stackTraceLimit)return\"error\";if(r instanceof RegExp||\"string\"==typeof r.flags&&\"boolean\"==typeof r.ignoreCase&&\"boolean\"==typeof r.multiline&&\"boolean\"==typeof r.global)return\"regexp\";switch(a(r)){case\"Symbol\":return\"symbol\";case\"Promise\":return\"promise\";case\"WeakMap\":return\"weakmap\";case\"WeakSet\":return\"weakset\";case\"Map\":return\"map\";case\"Set\":return\"set\";case\"Int8Array\":return\"int8array\";case\"Uint8Array\":return\"uint8array\";case\"Uint8ClampedArray\":return\"uint8clampedarray\";case\"Int16Array\":return\"int16array\";case\"Uint16Array\":return\"uint16array\";case\"Int32Array\":return\"int32array\";case\"Uint32Array\":return\"uint32array\";case\"Float32Array\":return\"float32array\";case\"Float64Array\":return\"float64array\"}if(\"function\"==typeof r.throw&&\"function\"==typeof r.return&&\"function\"==typeof r.next)return\"generator\";switch(i=t.call(r)){case\"[object Object]\":return\"object\";case\"[object Map Iterator]\":return\"mapiterator\";case\"[object Set Iterator]\":return\"setiterator\";case\"[object String Iterator]\":return\"stringiterator\";case\"[object Array Iterator]\":return\"arrayiterator\"}return i.slice(8,-1).toLowerCase().replace(/\\s/g,\"\")};function a(e){return e.constructor?e.constructor.name:null}function i(e,t){var a=2o),a.export(r,\"queryAll\",()=>n),a.export(r,\"addClass\",()=>s),a.export(r,\"removeClass\",()=>l),a.export(r,\"hasClass\",()=>c),a.export(r,\"append\",()=>u),a.export(r,\"remove\",()=>p),a.export(r,\"setStyle\",()=>d),a.export(r,\"setStyles\",()=>f),a.export(r,\"getStyle\",()=>h),a.export(r,\"sublings\",()=>m),a.export(r,\"inverseClass\",()=>g),a.export(r,\"tooltip\",()=>v),a.export(r,\"isInViewport\",()=>y),a.export(r,\"includeFromEvent\",()=>b),a.export(r,\"replaceElement\",()=>x),a.export(r,\"createElement\",()=>w),a.export(r,\"getIcon\",()=>j),a.export(r,\"setStyleText\",()=>k),a.export(r,\"supportsFlex\",()=>S),a.export(r,\"getRect\",()=>I);var i=e(\"./compatibility\");function o(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function u(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML(\"beforeend\",String(t)),e.lastElementChild||e.lastChild}function p(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){for(let r in t)d(e,r,t[r]);return e}function h(e,t,r=!0){let a=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(a):a}function m(e){return Array.from(e.parentElement.children).filter(t=>t!==e)}function g(e,t){m(e).forEach(e=>l(e,t)),s(e,t)}function v(e,t,r=\"top\"){i.isMobile||(e.setAttribute(\"aria-label\",t),s(e,\"hint--rounded\"),s(e,`hint--${r}`))}function y(e,t=0){let r=e.getBoundingClientRect(),a=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,o=r.top-t<=a&&r.top+r.height+t>=0,n=r.left-t<=i+t&&r.left+r.width+t>=0;return o&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}function j(e=\"\",t=\"\"){let r=w(\"i\");return s(r,\"art-icon\"),s(r,`art-icon-${e}`),u(r,t),r}function k(e,t){let r=document.getElementById(e);if(r)r.textContent=t;else{let r=w(\"style\");r.id=e,r.textContent=t,document.head.appendChild(r)}}function S(){let e=document.createElement(\"div\");return e.style.display=\"flex\",\"flex\"===e.style.display}function I(e){return e.getBoundingClientRect()}},{\"./compatibility\":\"luXC1\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],luXC1:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"userAgent\",()=>i),a.export(r,\"isSafari\",()=>o),a.export(r,\"isWechat\",()=>n),a.export(r,\"isIE\",()=>s),a.export(r,\"isAndroid\",()=>l),a.export(r,\"isIOS\",()=>c),a.export(r,\"isIOS13\",()=>u),a.export(r,\"isMobile\",()=>p),a.export(r,\"isBrowser\",()=>d);let i=\"undefined\"!=typeof navigator?navigator.userAgent:\"\",o=/^((?!chrome|android).)*safari/i.test(i),n=/MicroMessenger/i.test(i),s=/MSIE|Trident/i.test(i),l=/android/i.test(i),c=/iPad|iPhone|iPod/i.test(i)&&!window.MSStream,u=c||i.includes(\"Macintosh\")&&navigator.maxTouchPoints>=1,p=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(i)||u,d=\"undefined\"!=typeof window},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2nFlF\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"ArtPlayerError\",()=>i),a.export(r,\"errorHandle\",()=>o);class i extends Error{constructor(e,t){super(e),\"function\"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name=\"ArtPlayerError\"}}function o(e,t){if(!e)throw new i(t);return e}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],yqFoT:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return\"WEBVTT \\r\\n\\r\\n\".concat(e.replace(/(\\d\\d:\\d\\d:\\d\\d)[,.](\\d+)/g,(e,t,r)=>{let a=r.slice(0,3);return 1===r.length&&(a=r+\"00\"),2===r.length&&(a=r+\"0\"),`${t},${a}`}).replace(/\\{\\\\([ibu])\\}/g,\"\").replace(/\\{\\\\([ibu])1\\}/g,\"<$1>\").replace(/\\{([ibu])\\}/g,\"<$1>\").replace(/\\{\\/([ibu])\\}/g,\"\").replace(/(\\d\\d:\\d\\d:\\d\\d),(\\d\\d\\d)/g,\"$1.$2\").replace(/{[\\s\\S]*?}/g,\"\").concat(\"\\r\\n\\r\\n\"))}function o(e){return URL.createObjectURL(new Blob([e],{type:\"text/vtt\"}))}function n(e){let t=RegExp(\"Dialogue:\\\\s\\\\d,(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\\\s\\\\S]*)$\",\"i\");function r(e=\"\"){return e.split(/[:.]/).map((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?\"0\":\":0\")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`}).join(\"\")}return\"WEBVTT\\n\\n\"+e.split(/\\r?\\n/).map(e=>{let a=e.match(t);return a?{start:r(a[1].trim()),end:r(a[2].trim()),text:a[5].replace(/{[\\s\\S]*?}/g,\"\").replace(/(\\\\N)/g,\"\\n\").trim().split(/\\r?\\n/).map(e=>e.trim()).join(\"\\n\")}:null}).filter(e=>e).map((e,t)=>e?t+1+\"\\n\"+`${e.start} --> ${e.end}`+\"\\n\"+`${e.text}`:\"\").filter(e=>e.trim()).join(\"\\n\\n\")}a.defineInteropFlag(r),a.export(r,\"srtToVtt\",()=>i),a.export(r,\"vttToBlob\",()=>o),a.export(r,\"assToVtt\",()=>n)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"1VRQn\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t){let r=document.createElement(\"a\");r.style.display=\"none\",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}a.defineInteropFlag(r),a.export(r,\"getExt\",()=>function e(t){return t.includes(\"?\")?e(t.split(\"?\")[0]):t.includes(\"#\")?e(t.split(\"#\")[0]):t.trim().toLowerCase().split(\".\").pop()}),a.export(r,\"download\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3weX2\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"def\",()=>i),a.export(r,\"has\",()=>n),a.export(r,\"get\",()=>s),a.export(r,\"mergeDeep\",()=>function e(...t){let r=e=>e&&\"object\"==typeof e&&!Array.isArray(e);return t.reduce((t,a)=>(Object.keys(a).forEach(i=>{let o=t[i],n=a[i];Array.isArray(o)&&Array.isArray(n)?t[i]=o.concat(...n):r(o)&&r(n)?t[i]=e(o,n):t[i]=n}),t),{})});let i=Object.defineProperty,{hasOwnProperty:o}=Object.prototype;function n(e,t){return o.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7kBIx\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e=0){return new Promise(t=>setTimeout(t,e))}function o(e,t){let r;return function(...a){clearTimeout(r),r=setTimeout(()=>(r=null,e.apply(this,a)),t)}}function n(e,t){let r=!1;return function(...a){r||(e.apply(this,a),r=!0,setTimeout(function(){r=!1},t))}}a.defineInteropFlag(r),a.export(r,\"sleep\",()=>i),a.export(r,\"debounce\",()=>o),a.export(r,\"throttle\",()=>n)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"13atT\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function o(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return[\"string\",\"number\"].includes(typeof e)}function s(e){if(!e)return\"00:00\";let t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),a=Math.floor(e-3600*t-60*r);return(t>0?[t,r,a]:[r,a]).map(e=>e<10?`0${e}`:String(e)).join(\":\")}function l(e){return e.replace(/[&<>'\"]/g,e=>({\"&\":\"&\",\"<\":\"<\",\">\":\">\",\"'\":\"'\",'\"':\""\"})[e]||e)}function c(e){let t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\"'\":\"'\",\""\":'\"'},r=RegExp(`(${Object.keys(t).join(\"|\")})`,\"g\");return e.replace(r,e=>t[e]||e)}a.defineInteropFlag(r),a.export(r,\"clamp\",()=>i),a.export(r,\"capitalize\",()=>o),a.export(r,\"isStringOrNumber\",()=>n),a.export(r,\"secondToTime\",()=>s),a.export(r,\"escape\",()=>l),a.export(r,\"unescape\",()=>c)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],AdvwB:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"ComponentOption\",()=>d);var i=e(\"../utils\");let o=\"array\",n=\"boolean\",s=\"string\",l=\"number\",c=\"object\",u=\"function\";function p(e,t,r){return(0,i.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(\".\")} require '${s}' or 'Element' type`)}let d={html:p,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${u}`,mounted:`?${u}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${o}`,onSelect:`?${u}`,switch:`?${n}`,onSwitch:`?${u}`,range:`?${o}`,onRange:`?${u}`,onChange:`?${u}`};r.default={id:s,container:p,url:s,poster:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[u],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{let a=[\"top\",\"left\",\"right\"];return(0,i.errorHandle)(a.includes(e),`${r.join(\".\")} only accept ${a.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,name:s,type:s,style:c,escape:n,encoding:s,onVttLoad:u},moreVideoAttr:c,i18n:c,icons:c,cssVar:c,customType:c}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9Xmqu\":[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r),r.default={propertys:[\"audioTracks\",\"autoplay\",\"buffered\",\"controller\",\"controls\",\"crossOrigin\",\"currentSrc\",\"currentTime\",\"defaultMuted\",\"defaultPlaybackRate\",\"duration\",\"ended\",\"error\",\"loop\",\"mediaGroup\",\"muted\",\"networkState\",\"paused\",\"playbackRate\",\"played\",\"preload\",\"readyState\",\"seekable\",\"seeking\",\"src\",\"startDate\",\"textTracks\",\"videoTracks\",\"volume\"],methods:[\"addTextTrack\",\"canPlayType\",\"load\",\"play\",\"pause\"],events:[\"abort\",\"canplay\",\"canplaythrough\",\"durationchange\",\"emptied\",\"ended\",\"error\",\"loadeddata\",\"loadedmetadata\",\"loadstart\",\"pause\",\"play\",\"playing\",\"progress\",\"ratechange\",\"seeked\",\"seeking\",\"stalled\",\"suspend\",\"timeupdate\",\"volumechange\",\"waiting\"],prototypes:[\"width\",\"height\",\"videoWidth\",\"videoHeight\",\"poster\",\"webkitDecodedFrameCount\",\"webkitDroppedFrameCount\",\"playsInline\",\"webkitSupportsFullscreen\",\"webkitDisplayingFullscreen\",\"onenterpictureinpicture\",\"onleavepictureinpicture\",\"disablePictureInPicture\",\"cancelVideoFrameCallback\",\"requestVideoFrameCallback\",\"getVideoPlaybackQuality\",\"requestPictureInPicture\",\"webkitEnterFullScreen\",\"webkitEnterFullscreen\",\"webkitExitFullScreen\",\"webkitExitFullscreen\"]}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2gKYH\":[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);var a=e(\"./utils\");class i{constructor(e){this.art=e;let{option:t,constructor:r}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,a.query)(t.container),(0,a.errorHandle)(this.$container,`No container element found by ${t.container}`)),(0,a.errorHandle)((0,a.supportsFlex)(),\"The current browser does not support flex layout\");let i=this.$container.tagName.toLowerCase();(0,a.errorHandle)(\"div\"===i,`Unsupported container element type, only support 'div' but got '${i}'`),(0,a.errorHandle)(r.instances.every(e=>e.template.$container!==this.$container),\"Cannot mount multiple instances on the same dom element\"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.init()}static get html(){return`
Player version:
5.1.6
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
`}query(e){return(0,a.query)(e,this.$container)}init(){let{option:e}=this.art;e.useSSR||(this.$container.innerHTML=i.html),this.$player=this.query(\".art-video-player\"),this.$video=this.query(\".art-video\"),this.$track=this.query(\"track\"),this.$poster=this.query(\".art-poster\"),this.$subtitle=this.query(\".art-subtitle\"),this.$danmuku=this.query(\".art-danmuku\"),this.$bottom=this.query(\".art-bottom\"),this.$progress=this.query(\".art-progress\"),this.$controls=this.query(\".art-controls\"),this.$controlsLeft=this.query(\".art-controls-left\"),this.$controlsCenter=this.query(\".art-controls-center\"),this.$controlsRight=this.query(\".art-controls-right\"),this.$layer=this.query(\".art-layers\"),this.$loading=this.query(\".art-loading\"),this.$notice=this.query(\".art-notice\"),this.$noticeInner=this.query(\".art-notice-inner\"),this.$mask=this.query(\".art-mask\"),this.$state=this.query(\".art-state\"),this.$setting=this.query(\".art-settings\"),this.$info=this.query(\".art-info\"),this.$infoPanel=this.query(\".art-info-panel\"),this.$infoClose=this.query(\".art-info-close\"),this.$contextmenu=this.query(\".art-contextmenus\"),e.backdrop&&(0,a.addClass)(this.$player,\"art-backdrop\"),a.isMobile&&(0,a.addClass)(this.$player,\"art-mobile\")}destroy(e){e?this.$container.innerHTML=\"\":(0,a.addClass)(this.$player,\"art-destroy\")}}r.default=i},{\"./utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"1AdeF\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"./zh-cn\"),n=a.interopDefault(o);r.default=class{constructor(e){this.art=e,this.languages={\"zh-cn\":n.default},this.language={},this.update(e.option.i18n)}init(){let e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,i.mergeDeep)(this.languages,e),this.init()}}},{\"../utils\":\"h3rH9\",\"./zh-cn\":\"3ZSKq\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3ZSKq\":[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);let a={\"Video Info\":\"统计信息\",Close:\"关闭\",\"Video Load Failed\":\"加载失败\",Volume:\"音量\",Play:\"播放\",Pause:\"暂停\",Rate:\"速度\",Mute:\"静音\",\"Video Flip\":\"画面翻转\",Horizontal:\"水平\",Vertical:\"垂直\",Reconnect:\"重新连接\",\"Show Setting\":\"显示设置\",\"Hide Setting\":\"隐藏设置\",Screenshot:\"截图\",\"Play Speed\":\"播放速度\",\"Aspect Ratio\":\"画面比例\",Default:\"默认\",Normal:\"正常\",Open:\"打开\",\"Switch Video\":\"切换\",\"Switch Subtitle\":\"切换字幕\",Fullscreen:\"全屏\",\"Exit Fullscreen\":\"退出全屏\",\"Web Fullscreen\":\"网页全屏\",\"Exit Web Fullscreen\":\"退出网页全屏\",\"Mini Player\":\"迷你播放器\",\"PIP Mode\":\"开启画中画\",\"Exit PIP Mode\":\"退出画中画\",\"PIP Not Supported\":\"不支持画中画\",\"Fullscreen Not Supported\":\"不支持全屏\",\"Subtitle Offset\":\"字幕偏移\",\"Last Seen\":\"上次看到\",\"Jump Play\":\"跳转播放\",AirPlay:\"隔空播放\",\"AirPlay Not Available\":\"隔空播放不可用\"};r.default=a,\"undefined\"!=typeof window&&(window[\"artplayer-i18n-zh-cn\"]=a)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"556MW\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./urlMix\"),o=a.interopDefault(i),n=e(\"./attrMix\"),s=a.interopDefault(n),l=e(\"./playMix\"),c=a.interopDefault(l),u=e(\"./pauseMix\"),p=a.interopDefault(u),d=e(\"./toggleMix\"),f=a.interopDefault(d),h=e(\"./seekMix\"),m=a.interopDefault(h),g=e(\"./volumeMix\"),v=a.interopDefault(g),y=e(\"./currentTimeMix\"),b=a.interopDefault(y),x=e(\"./durationMix\"),w=a.interopDefault(x),j=e(\"./switchMix\"),k=a.interopDefault(j),S=e(\"./playbackRateMix\"),I=a.interopDefault(S),T=e(\"./aspectRatioMix\"),O=a.interopDefault(T),E=e(\"./screenshotMix\"),M=a.interopDefault(E),$=e(\"./fullscreenMix\"),F=a.interopDefault($),C=e(\"./fullscreenWebMix\"),H=a.interopDefault(C),D=e(\"./pipMix\"),B=a.interopDefault(D),z=e(\"./loadedMix\"),R=a.interopDefault(z),A=e(\"./playedMix\"),L=a.interopDefault(A),P=e(\"./playingMix\"),N=a.interopDefault(P),Z=e(\"./autoSizeMix\"),_=a.interopDefault(Z),q=e(\"./rectMix\"),V=a.interopDefault(q),W=e(\"./flipMix\"),U=a.interopDefault(W),Y=e(\"./miniMix\"),K=a.interopDefault(Y),X=e(\"./posterMix\"),G=a.interopDefault(X),J=e(\"./autoHeightMix\"),Q=a.interopDefault(J),ee=e(\"./cssVarMix\"),et=a.interopDefault(ee),er=e(\"./themeMix\"),ea=a.interopDefault(er),ei=e(\"./typeMix\"),eo=a.interopDefault(ei),en=e(\"./stateMix\"),es=a.interopDefault(en),el=e(\"./subtitleOffsetMix\"),ec=a.interopDefault(el),eu=e(\"./airplayMix\"),ep=a.interopDefault(eu),ed=e(\"./qualityMix\"),ef=a.interopDefault(ed),eh=e(\"./optionInit\"),em=a.interopDefault(eh),eg=e(\"./eventInit\"),ev=a.interopDefault(eg);r.default=class{constructor(e){(0,o.default)(e),(0,s.default)(e),(0,c.default)(e),(0,p.default)(e),(0,f.default)(e),(0,m.default)(e),(0,v.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,I.default)(e),(0,O.default)(e),(0,M.default)(e),(0,F.default)(e),(0,H.default)(e),(0,B.default)(e),(0,R.default)(e),(0,L.default)(e),(0,N.default)(e),(0,_.default)(e),(0,V.default)(e),(0,U.default)(e),(0,K.default)(e),(0,G.default)(e),(0,Q.default)(e),(0,et.default)(e),(0,ea.default)(e),(0,eo.default)(e),(0,es.default)(e),(0,ec.default)(e),(0,ep.default)(e),(0,ef.default)(e),(0,ev.default)(e),(0,em.default)(e)}}},{\"./urlMix\":\"2mRAc\",\"./attrMix\":\"2EA19\",\"./playMix\":\"fD2Tc\",\"./pauseMix\":\"c3LGJ\",\"./toggleMix\":\"fVsAa\",\"./seekMix\":\"dmROF\",\"./volumeMix\":\"9jtfB\",\"./currentTimeMix\":\"7NCDR\",\"./durationMix\":\"YS7JL\",\"./switchMix\":\"dzUqN\",\"./playbackRateMix\":\"5I2mT\",\"./aspectRatioMix\":\"7m6R8\",\"./screenshotMix\":\"2dgtR\",\"./fullscreenMix\":\"fKDW8\",\"./fullscreenWebMix\":\"lNvYI\",\"./pipMix\":\"8j7oC\",\"./loadedMix\":\"dwVOT\",\"./playedMix\":\"dDeLx\",\"./playingMix\":\"ceoBp\",\"./autoSizeMix\":\"lcWXX\",\"./rectMix\":\"f7y88\",\"./flipMix\":\"l4qt5\",\"./miniMix\":\"9ZPBQ\",\"./posterMix\":\"5K8hA\",\"./autoHeightMix\":\"3T5ls\",\"./cssVarMix\":\"6KfHs\",\"./themeMix\":\"7lcSc\",\"./typeMix\":\"8JgTw\",\"./stateMix\":\"cebt1\",\"./subtitleOffsetMix\":\"hJvIy\",\"./airplayMix\":\"4Tp0U\",\"./qualityMix\":\"3wZgN\",\"./optionInit\":\"iPdgW\",\"./eventInit\":\"3mj0J\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2mRAc\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{option:t,template:{$video:r}}=e;(0,i.def)(e,\"url\",{get:()=>r.src,async set(a){if(a){let o=e.url,n=t.type||(0,i.getExt)(a),s=t.customType[n];n&&s?(await (0,i.sleep)(),e.loading.show=!0,s.call(e,r,a,e)):(URL.revokeObjectURL(o),r.src=a),o!==e.url&&(e.option.url=a,e.isReady&&o&&e.once(\"video:canplay\",()=>{e.emit(\"restart\",a)}))}else await (0,i.sleep)(),e.loading.show=!0}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2EA19\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$video:t}}=e;(0,i.def)(e,\"attr\",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fD2Tc:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,option:a,constructor:{instances:o},template:{$video:n}}=e;(0,i.def)(e,\"play\",{value:async function(){let i=await n.play();if(r.show=t.get(\"Play\"),e.emit(\"play\"),a.mutex)for(let t=0;to);var i=e(\"../utils\");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,\"pause\",{value(){let i=t.pause();return a.show=r.get(\"Pause\"),e.emit(\"pause\"),i}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fVsAa:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"toggle\",{value:()=>e.playing?e.pause():e.play()})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dmROF:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{notice:t}=e;(0,i.def)(e,\"seek\",{set(r){e.currentTime=r,e.emit(\"seek\",e.currentTime),e.duration&&(t.show=`${(0,i.secondToTime)(e.currentTime)} / ${(0,i.secondToTime)(e.duration)}`)}}),(0,i.def)(e,\"forward\",{set(t){e.seek=e.currentTime+t}}),(0,i.def)(e,\"backward\",{set(t){e.seek=e.currentTime-t}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9jtfB\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$video:t},i18n:r,notice:a,storage:o}=e;(0,i.def)(e,\"volume\",{get:()=>t.volume||0,set:e=>{t.volume=(0,i.clamp)(e,0,1),a.show=`${r.get(\"Volume\")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&o.set(\"volume\",t.volume)}}),(0,i.def)(e,\"muted\",{get:()=>t.muted,set:r=>{t.muted=r,e.emit(\"muted\",r)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7NCDR\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$video:t}=e.template;(0,i.def)(e,\"currentTime\",{get:()=>t.currentTime||0,set:r=>{Number.isNaN(r=parseFloat(r))||(t.currentTime=(0,i.clamp)(r,0,e.duration))}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],YS7JL:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"duration\",{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dzUqN:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){function t(t,r){return new Promise((a,i)=>{if(t===e.url)return;let{playing:o,aspectRatio:n,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show=\"\",e.once(\"video:error\",i),e.once(\"video:loadedmetadata\",()=>{e.currentTime=r}),e.once(\"video:canplay\",async()=>{e.playbackRate=s,e.aspectRatio=n,o&&await e.play(),e.notice.show=\"\",a()})})}(0,i.def)(e,\"switchQuality\",{value:r=>t(r,e.currentTime)}),(0,i.def)(e,\"switchUrl\",{value:e=>t(e,0)}),(0,i.def)(e,\"switch\",{set:e.switchUrl})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5I2mT\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,\"playbackRate\",{get:()=>t.playbackRate,set(i){i?i!==t.playbackRate&&(t.playbackRate=i,a.show=`${r.get(\"Rate\")}: ${1===i?r.get(\"Normal\"):`${i}x`}`):e.playbackRate=1}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7m6R8\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,template:{$video:a,$player:o}}=e;(0,i.def)(e,\"aspectRatio\",{get:()=>o.dataset.aspectRatio||\"default\",set(n){if(n||(n=\"default\"),\"default\"===n)(0,i.setStyle)(a,\"width\",null),(0,i.setStyle)(a,\"height\",null),(0,i.setStyle)(a,\"margin\",null),delete o.dataset.aspectRatio;else{let e=n.split(\":\").map(Number),{clientWidth:t,clientHeight:r}=o,s=e[0]/e[1];t/r>s?((0,i.setStyle)(a,\"width\",`${s*r}px`),(0,i.setStyle)(a,\"height\",\"100%\"),(0,i.setStyle)(a,\"margin\",\"0 auto\")):((0,i.setStyle)(a,\"width\",\"100%\"),(0,i.setStyle)(a,\"height\",`${t/s}px`),(0,i.setStyle)(a,\"margin\",\"auto 0\")),o.dataset.aspectRatio=n}r.show=`${t.get(\"Aspect Ratio\")}: ${\"default\"===n?t.get(\"Default\"):n}`,e.emit(\"aspectRatio\",n)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2dgtR\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{notice:t,template:{$video:r}}=e,a=(0,i.createElement)(\"canvas\");(0,i.def)(e,\"getDataURL\",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext(\"2d\").drawImage(r,0,0),e(a.toDataURL(\"image/png\"))}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,\"getBlobUrl\",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext(\"2d\").drawImage(r,0,0),a.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,\"screenshot\",{value:async()=>{let t=await e.getDataURL();return(0,i.download)(t,`artplayer_${(0,i.secondToTime)(r.currentTime)}.png`),e.emit(\"screenshot\",t),t}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fKDW8:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>s);var i=e(\"../libs/screenfull\"),o=a.interopDefault(i),n=e(\"../utils\");function s(e){let{i18n:t,notice:r,template:{$video:a,$player:i}}=e,s=e=>{(0,o.default).on(\"change\",()=>{e.emit(\"fullscreen\",o.default.isFullscreen)}),(0,o.default).on(\"error\",t=>{e.emit(\"fullscreenError\",t)}),(0,n.def)(e,\"fullscreen\",{get:()=>o.default.isFullscreen,async set(t){t?(e.state=\"fullscreen\",await (0,o.default).request(i),(0,n.addClass)(i,\"art-fullscreen\")):(await (0,o.default).exit(),(0,n.removeClass)(i,\"art-fullscreen\")),e.emit(\"resize\")}})},l=e=>{e.proxy(document,\"webkitfullscreenchange\",()=>{e.emit(\"fullscreen\",e.fullscreen),e.emit(\"resize\")}),(0,n.def)(e,\"fullscreen\",{get:()=>document.fullscreenElement===a,set(t){t?(e.state=\"fullscreen\",a.webkitEnterFullscreen()):a.webkitExitFullscreen()}})};e.once(\"video:loadedmetadata\",()=>{o.default.isEnabled?s(e):a.webkitSupportsFullscreen?l(e):(0,n.def)(e,\"fullscreen\",{get:()=>!1,set(){r.show=t.get(\"Fullscreen Not Supported\")}}),(0,n.def)(e,\"fullscreen\",(0,n.get)(e,\"fullscreen\"))})}},{\"../libs/screenfull\":\"lUahW\",\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],lUahW:[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);let a=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"webkitRequestFullScreen\",\"webkitCancelFullScreen\",\"webkitCurrentFullScreenElement\",\"webkitCancelFullScreen\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\"]],i=(()=>{if(\"undefined\"==typeof document)return!1;let e=a[0],t={};for(let r of a)if(r[1]in document){for(let[a,i]of r.entries())t[e[a]]=i;return t}return!1})(),o={change:i.fullscreenchange,error:i.fullscreenerror},n={request:(e=document.documentElement,t)=>new Promise((r,a)=>{let o=()=>{n.off(\"change\",o),r()};n.on(\"change\",o);let s=e[i.requestFullscreen](t);s instanceof Promise&&s.then(o).catch(a)}),exit:()=>new Promise((e,t)=>{if(!n.isFullscreen){e();return}let r=()=>{n.off(\"change\",r),e()};n.on(\"change\",r);let a=document[i.exitFullscreen]();a instanceof Promise&&a.then(r).catch(t)}),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on(\"change\",e)},onerror(e){n.on(\"error\",e)},on(e,t){let r=o[e];r&&document.addEventListener(r,t,!1)},off(e,t){let r=o[e];r&&document.removeEventListener(r,t,!1)},raw:i};Object.defineProperties(n,{isFullscreen:{get:()=>!!document[i.fullscreenElement]},element:{enumerable:!0,get:()=>document[i.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[i.fullscreenEnabled]}}),i||(n={isEnabled:!1}),r.default=n},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],lNvYI:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{constructor:t,template:{$container:r,$player:a}}=e,o=\"\";(0,i.def)(e,\"fullscreenWeb\",{get:()=>(0,i.hasClass)(a,\"art-fullscreen-web\"),set(n){n?(o=a.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(document.body,a),e.state=\"fullscreenWeb\",(0,i.setStyle)(a,\"width\",\"100%\"),(0,i.setStyle)(a,\"height\",\"100%\"),(0,i.addClass)(a,\"art-fullscreen-web\"),e.emit(\"fullscreenWeb\",!0)):(t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(r,a),o&&(a.style.cssText=o,o=\"\"),(0,i.removeClass)(a,\"art-fullscreen-web\"),e.emit(\"fullscreenWeb\",!1)),e.emit(\"resize\")}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8j7oC\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,template:{$video:a}}=e;document.pictureInPictureEnabled?function(e){let{template:{$video:t},proxy:r,notice:a}=e;t.disablePictureInPicture=!1,(0,i.def)(e,\"pip\",{get:()=>document.pictureInPictureElement,set(r){r?(e.state=\"pip\",t.requestPictureInPicture().catch(e=>{throw a.show=e,e})):document.exitPictureInPicture().catch(e=>{throw a.show=e,e})}}),r(t,\"enterpictureinpicture\",()=>{e.emit(\"pip\",!0)}),r(t,\"leavepictureinpicture\",()=>{e.emit(\"pip\",!1)})}(e):a.webkitSupportsPresentationMode?function(e){let{$video:t}=e.template;t.webkitSetPresentationMode(\"inline\"),(0,i.def)(e,\"pip\",{get:()=>\"picture-in-picture\"===t.webkitPresentationMode,set(r){r?(e.state=\"pip\",t.webkitSetPresentationMode(\"picture-in-picture\"),e.emit(\"pip\",!0)):(t.webkitSetPresentationMode(\"inline\"),e.emit(\"pip\",!1))}})}(e):(0,i.def)(e,\"pip\",{get:()=>!1,set(){r.show=t.get(\"PIP Not Supported\")}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dwVOT:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$video:t}=e.template;(0,i.def)(e,\"loaded\",{get:()=>e.loadedTime/t.duration}),(0,i.def)(e,\"loadedTime\",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dDeLx:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"played\",{get:()=>e.currentTime/e.duration})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],ceoBp:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$video:t}=e.template;(0,i.def)(e,\"playing\",{get:()=>!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],lcWXX:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$container:t,$player:r,$video:a}=e.template;(0,i.def)(e,\"autoSize\",{value(){let{videoWidth:o,videoHeight:n}=a,{width:s,height:l}=(0,i.getRect)(t),c=o/n;s/l>c?((0,i.setStyle)(r,\"width\",`${l*c/s*100}%`),(0,i.setStyle)(r,\"height\",\"100%\")):((0,i.setStyle)(r,\"width\",\"100%\"),(0,i.setStyle)(r,\"height\",`${s/c/l*100}%`)),e.emit(\"autoSize\",{width:e.width,height:e.height})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],f7y88:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"rect\",{get:()=>(0,i.getRect)(e.template.$player)});let t=[\"bottom\",\"height\",\"left\",\"right\",\"top\",\"width\"];for(let r=0;re.rect[a]})}(0,i.def)(e,\"x\",{get:()=>e.left+window.pageXOffset}),(0,i.def)(e,\"y\",{get:()=>e.top+window.pageYOffset})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],l4qt5:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$player:t},i18n:r,notice:a}=e;(0,i.def)(e,\"flip\",{get:()=>t.dataset.flip||\"normal\",set(o){o||(o=\"normal\"),\"normal\"===o?delete t.dataset.flip:t.dataset.flip=o,a.show=`${r.get(\"Video Flip\")}: ${r.get((0,i.capitalize)(o))}`,e.emit(\"flip\",o)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9ZPBQ\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{icons:t,proxy:r,storage:a,template:{$player:o,$video:n}}=e,s=!1,l=0,c=0;function u(){let{$mini:t}=e.template;t&&((0,i.removeClass)(o,\"art-mini\"),(0,i.setStyle)(t,\"display\",\"none\"),o.prepend(n),e.emit(\"mini\",!1))}function p(t,r){e.playing?((0,i.setStyle)(t,\"display\",\"none\"),(0,i.setStyle)(r,\"display\",\"flex\")):((0,i.setStyle)(t,\"display\",\"flex\"),(0,i.setStyle)(r,\"display\",\"none\"))}function d(){let{$mini:t}=e.template,r=(0,i.getRect)(t),o=window.innerHeight-r.height-50,n=window.innerWidth-r.width-50;a.set(\"top\",o),a.set(\"left\",n),(0,i.setStyle)(t,\"top\",`${o}px`),(0,i.setStyle)(t,\"left\",`${n}px`)}(0,i.def)(e,\"mini\",{get:()=>(0,i.hasClass)(o,\"art-mini\"),set(f){if(f){e.state=\"mini\",(0,i.addClass)(o,\"art-mini\");let f=function(){let{$mini:o}=e.template;if(o)return(0,i.append)(o,n),(0,i.setStyle)(o,\"display\",\"flex\");{let o=(0,i.createElement)(\"div\");(0,i.addClass)(o,\"art-mini-popup\"),(0,i.append)(document.body,o),e.template.$mini=o,(0,i.append)(o,n);let d=(0,i.append)(o,'
');(0,i.append)(d,t.close),r(d,\"click\",u);let f=(0,i.append)(o,'
'),h=(0,i.append)(f,t.play),m=(0,i.append)(f,t.pause);return r(h,\"click\",()=>e.play()),r(m,\"click\",()=>e.pause()),p(h,m),e.on(\"video:playing\",()=>p(h,m)),e.on(\"video:pause\",()=>p(h,m)),e.on(\"video:timeupdate\",()=>p(h,m)),r(o,\"mousedown\",e=>{s=0===e.button,l=e.pageX,c=e.pageY}),e.on(\"document:mousemove\",e=>{if(s){(0,i.addClass)(o,\"art-mini-droging\");let t=e.pageX-l,r=e.pageY-c;(0,i.setStyle)(o,\"transform\",`translate(${t}px, ${r}px)`)}}),e.on(\"document:mouseup\",()=>{if(s){s=!1,(0,i.removeClass)(o,\"art-mini-droging\");let e=(0,i.getRect)(o);a.set(\"left\",e.left),a.set(\"top\",e.top),(0,i.setStyle)(o,\"left\",`${e.left}px`),(0,i.setStyle)(o,\"top\",`${e.top}px`),(0,i.setStyle)(o,\"transform\",null)}}),o}}(),h=a.get(\"top\"),m=a.get(\"left\");h&&m?((0,i.setStyle)(f,\"top\",`${h}px`),(0,i.setStyle)(f,\"left\",`${m}px`),(0,i.isInViewport)(f)||d()):d(),e.emit(\"mini\",!0)}else u()}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5K8hA\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$poster:t}}=e;(0,i.def)(e,\"poster\",{get:()=>{try{return t.style.backgroundImage.match(/\"(.*)\"/)[1]}catch(e){return\"\"}},set(e){(0,i.setStyle)(t,\"backgroundImage\",`url(${e})`)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3T5ls\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$container:t,$video:r}}=e;(0,i.def)(e,\"autoHeight\",{value(){let{clientWidth:a}=t,{videoHeight:o,videoWidth:n}=r,s=a/n*o;(0,i.setStyle)(t,\"height\",s+\"px\"),e.emit(\"autoHeight\",s)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"6KfHs\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$player:t}=e.template;(0,i.def)(e,\"cssVar\",{value:(e,r)=>r?t.style.setProperty(e,r):getComputedStyle(t).getPropertyValue(e)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7lcSc\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"theme\",{get:()=>e.cssVar(\"--art-theme\"),set(t){e.cssVar(\"--art-theme\",t)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8JgTw\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"type\",{get:()=>e.option.type,set(t){e.option.type=t}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],cebt1:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let t=[\"mini\",\"pip\",\"fullscreen\",\"fullscreenWeb\"];(0,i.def)(e,\"state\",{get:()=>t.find(t=>e[t])||\"standard\",set(r){for(let a=0;ao);var i=e(\"../utils\");function o(e){let{clamp:t}=e.constructor.utils,{notice:r,template:a,i18n:o}=e,n=0,s=[];e.on(\"subtitle:switch\",()=>{s=[]}),(0,i.def)(e,\"subtitleOffset\",{get:()=>n,set(i){if(a.$track&&a.$track.track){let l=Array.from(a.$track.track.cues);n=t(i,-5,5);for(let r=0;ro);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,proxy:a,template:{$video:o}}=e,n=!0;window.WebKitPlaybackTargetAvailabilityEvent&&o.webkitShowPlaybackTargetPicker?a(o,\"webkitplaybacktargetavailabilitychanged\",e=>{switch(e.availability){case\"available\":n=!0;break;case\"not-available\":n=!1}}):n=!1,(0,i.def)(e,\"airplay\",{value(){n?(o.webkitShowPlaybackTargetPicker(),e.emit(\"airplay\")):r.show=t.get(\"AirPlay Not Available\")}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3wZgN\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"quality\",{set(t){let{controls:r,notice:a,i18n:i}=e,o=t.find(e=>e.default)||t[0];r.update({name:\"quality\",position:\"right\",index:10,style:{marginRight:\"10px\"},html:o?o.html:\"\",selector:t,async onSelect(t){await e.switchQuality(t.url),a.show=`${i.get(\"Switch Video\")}: ${t.html}`}})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iPdgW:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{option:t,storage:r,template:{$video:a,$poster:o}}=e;for(let r in t.moreVideoAttr)e.attr(r,t.moreVideoAttr[r]);t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,i.clamp)(t.volume,0,1));let n=r.get(\"volume\");for(let r in\"number\"==typeof n&&(a.volume=(0,i.clamp)(n,0,1)),t.poster&&(0,i.setStyle)(o,\"backgroundImage\",`url(${t.poster})`),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a[\"webkit-playsinline\"]=!0),t.theme&&(t.cssVar[\"--art-theme\"]=t.theme),t.cssVar)e.cssVar(r,t.cssVar[r]);e.url=t.url}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3mj0J\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>s);var i=e(\"../config\"),o=a.interopDefault(i),n=e(\"../utils\");function s(e){let{i18n:t,notice:r,option:a,constructor:i,proxy:s,template:{$player:l,$video:c,$poster:u}}=e,p=0;for(let t=0;t{e.emit(`video:${t.type}`,t)});e.on(\"video:canplay\",()=>{p=0,e.loading.show=!1}),e.once(\"video:canplay\",()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit(\"ready\")}),e.on(\"video:ended\",()=>{a.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on(\"video:error\",async o=>{p{e.emit(\"resize\"),n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on(\"video:loadstart\",()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on(\"video:pause\",()=>{e.controls.show=!0,e.mask.show=!0}),e.on(\"video:play\",()=>{e.mask.show=!1,(0,n.setStyle)(u,\"display\",\"none\")}),e.on(\"video:playing\",()=>{e.mask.show=!1}),e.on(\"video:progress\",()=>{e.playing&&(e.loading.show=!1)}),e.on(\"video:seeked\",()=>{e.loading.show=!1,e.mask.show=!0}),e.on(\"video:seeking\",()=>{e.loading.show=!0,e.mask.show=!1}),e.on(\"video:timeupdate\",()=>{e.mask.show=!1}),e.on(\"video:waiting\",()=>{e.loading.show=!0,e.mask.show=!1})}},{\"../config\":\"9Xmqu\",\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"14IBq\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"../utils/component\"),n=a.interopDefault(o),s=e(\"./fullscreen\"),l=a.interopDefault(s),c=e(\"./fullscreenWeb\"),u=a.interopDefault(c),p=e(\"./pip\"),d=a.interopDefault(p),f=e(\"./playAndPause\"),h=a.interopDefault(f),m=e(\"./progress\"),g=a.interopDefault(m),v=e(\"./time\"),y=a.interopDefault(v),b=e(\"./volume\"),x=a.interopDefault(b),w=e(\"./setting\"),j=a.interopDefault(w),k=e(\"./thumbnails\"),S=a.interopDefault(k),I=e(\"./screenshot\"),T=a.interopDefault(I),O=e(\"./airplay\"),E=a.interopDefault(O);class M extends n.default{constructor(e){super(e),this.isHover=!1,this.name=\"control\",this.timer=Date.now();let{constructor:t}=e,{$player:r,$bottom:a}=this.art.template;e.on(\"mousemove\",()=>{i.isMobile||(this.show=!0)}),e.on(\"click\",()=>{i.isMobile?this.toggle():this.show=!0}),e.on(\"document:mousemove\",e=>{this.isHover=(0,i.includeFromEvent)(e,a)}),e.on(\"video:timeupdate\",()=>{!e.setting.show&&!this.isHover&&!e.isInput&&e.playing&&this.show&&Date.now()-this.timer>=t.CONTROL_HIDE_TIME&&(this.show=!1)}),e.on(\"control\",e=>{e?((0,i.removeClass)(r,\"art-hide-cursor\"),(0,i.addClass)(r,\"art-hover\"),this.timer=Date.now()):((0,i.addClass)(r,\"art-hide-cursor\"),(0,i.removeClass)(r,\"art-hover\"))}),this.init()}init(){let{option:e}=this.art;e.isLive||this.add((0,g.default)({name:\"progress\",position:\"top\",index:10})),e.thumbnails.url&&!e.isLive&&this.add((0,S.default)({name:\"thumbnails\",position:\"top\",index:20})),this.add((0,h.default)({name:\"playAndPause\",position:\"left\",index:10})),this.add((0,x.default)({name:\"volume\",position:\"left\",index:20})),e.isLive||this.add((0,y.default)({name:\"time\",position:\"left\",index:30})),e.quality.length&&(0,i.sleep)().then(()=>{this.art.quality=e.quality}),e.screenshot&&!i.isMobile&&this.add((0,T.default)({name:\"screenshot\",position:\"right\",index:20})),e.setting&&this.add((0,j.default)({name:\"setting\",position:\"right\",index:30})),e.pip&&this.add((0,d.default)({name:\"pip\",position:\"right\",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,E.default)({name:\"airplay\",position:\"right\",index:50})),e.fullscreenWeb&&this.add((0,u.default)({name:\"fullscreenWeb\",position:\"right\",index:60})),e.fullscreen&&this.add((0,l.default)({name:\"fullscreen\",position:\"right\",index:70}));for(let t=0;tNumber(e.dataset.index)>=Number(o.dataset.index));u?u.insertAdjacentElement(\"beforebegin\",o):(0,i.append)(this.$parent,o),t.html&&(0,i.append)(o,t.html),t.style&&(0,i.setStyles)(o,t.style),t.tooltip&&(0,i.tooltip)(o,t.tooltip);let p=[];if(t.click){let e=this.art.events.proxy(o,\"click\",e=>{e.preventDefault(),t.click.call(this.art,this,e)});p.push(e)}return t.selector&&[\"left\",\"right\"].includes(t.position)&&this.addSelector(t,o,p),this[r]=o,this.cache.set(r,{$ref:o,events:p,option:t}),t.mounted&&t.mounted.call(this.art,o),o}addSelector(e,t,r){let{hover:a,proxy:n}=this.art.events;(0,i.addClass)(t,\"art-control-selector\");let s=(0,i.createElement)(\"div\");(0,i.addClass)(s,\"art-selector-value\"),(0,i.append)(s,e.html),t.innerText=\"\",(0,i.append)(t,s);let l=e.selector.map((e,t)=>`
${e.html}
`).join(\"\"),c=(0,i.createElement)(\"div\");(0,i.addClass)(c,\"art-selector-list\"),(0,i.append)(c,l),(0,i.append)(t,c);let u=()=>{let e=(0,i.getStyle)(t,\"width\"),r=(0,i.getStyle)(c,\"width\");c.style.left=`${e/2-r/2}px`};a(t,u);let p=n(c,\"click\",async t=>{let r=(t.composedPath()||[]).find(e=>(0,i.hasClass)(e,\"art-selector-item\"));if(!r)return;(0,i.inverseClass)(r,\"art-current\");let a=Number(r.dataset.index),n=e.selector[a]||{};if(s.innerText=r.innerText,e.onSelect){let a=await e.onSelect.call(this.art,n,r,t);(0,o.isStringOrNumber)(a)&&(s.innerHTML=a)}u()});r.push(p)}remove(e){let t=this.cache.get(e);(0,n.errorHandle)(t,`Can't find [${e}] from the [${this.name}]`),t.option.beforeUnmount&&t.option.beforeUnmount.call(this.art,t.$ref);for(let e=0;eo);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Fullscreen\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenOn),s=(0,i.append)(e,a.fullscreenOff);(0,i.setStyle)(s,\"display\",\"none\"),r(e,\"click\",()=>{t.fullscreen=!t.fullscreen}),t.on(\"fullscreen\",t=>{t?((0,i.tooltip)(e,o.get(\"Exit Fullscreen\")),(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(s,\"display\",\"inline-flex\")):((0,i.tooltip)(e,o.get(\"Fullscreen\")),(0,i.setStyle)(n,\"display\",\"inline-flex\"),(0,i.setStyle)(s,\"display\",\"none\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"66eEC\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Web Fullscreen\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenWebOn),s=(0,i.append)(e,a.fullscreenWebOff);(0,i.setStyle)(s,\"display\",\"none\"),r(e,\"click\",()=>{t.fullscreenWeb=!t.fullscreenWeb}),t.on(\"fullscreenWeb\",t=>{t?((0,i.tooltip)(e,o.get(\"Exit Web Fullscreen\")),(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(s,\"display\",\"inline-flex\")):((0,i.tooltip)(e,o.get(\"Web Fullscreen\")),(0,i.setStyle)(n,\"display\",\"inline-flex\"),(0,i.setStyle)(s,\"display\",\"none\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],kCFkA:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"PIP Mode\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.pip),r(e,\"click\",()=>{t.pip=!t.pip}),t.on(\"pip\",t=>{(0,i.tooltip)(e,o.get(t?\"Exit PIP Mode\":\"PIP Mode\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iRhgD:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.play),s=(0,i.append)(e,a.pause);function l(){(0,i.setStyle)(n,\"display\",\"flex\"),(0,i.setStyle)(s,\"display\",\"none\")}function c(){(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(s,\"display\",\"flex\")}(0,i.tooltip)(n,o.get(\"Play\")),(0,i.tooltip)(s,o.get(\"Pause\")),r(n,\"click\",()=>{t.play()}),r(s,\"click\",()=>{t.pause()}),t.playing?c():l(),t.on(\"video:playing\",()=>{c()}),t.on(\"video:pause\",()=>{l()})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],aBBSH:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"getPosFromEvent\",()=>o),a.export(r,\"setCurrentTime\",()=>n),a.export(r,\"default\",()=>s);var i=e(\"../utils\");function o(e,t){let{$progress:r}=e.template,{left:a}=(0,i.getRect)(r),o=i.isMobile?t.touches[0].clientX:t.clientX,n=(0,i.clamp)(o-a,0,r.clientWidth),s=n/r.clientWidth*e.duration,l=(0,i.secondToTime)(s),c=(0,i.clamp)(n/r.clientWidth,0,1);return{second:s,time:l,width:n,percentage:c}}function n(e,t){if(e.isRotate){let r=t.touches[0].clientY/e.height,a=r*e.duration;e.emit(\"setBar\",\"played\",r,t),e.seek=a}else{let{second:r,percentage:a}=o(e,t);e.emit(\"setBar\",\"played\",a,t),e.seek=r}}function s(e){return t=>{let{icons:r,option:a,proxy:s}=t;return{...e,html:`
`,mounted:e=>{let l=null,c=!1,u=(0,i.query)(\".art-progress-hover\",e),p=(0,i.query)(\".art-progress-loaded\",e),d=(0,i.query)(\".art-progress-played\",e),f=(0,i.query)(\".art-progress-highlight\",e),h=(0,i.query)(\".art-progress-indicator\",e),m=(0,i.query)(\".art-progress-tip\",e);function g(r,a){let{width:n,time:s}=a||o(t,r);m.innerText=s;let l=m.clientWidth;n<=l/2?(0,i.setStyle)(m,\"left\",0):n>e.clientWidth-l/2?(0,i.setStyle)(m,\"left\",`${e.clientWidth-l}px`):(0,i.setStyle)(m,\"left\",`${n-l/2}px`)}r.indicator?(0,i.append)(h,r.indicator):(0,i.setStyle)(h,\"backgroundColor\",\"var(--art-theme)\"),t.on(\"setBar\",function(r,a,o){let n=\"played\"===r&&o&&i.isMobile;\"loaded\"===r&&(0,i.setStyle)(p,\"width\",`${100*a}%`),\"hover\"===r&&(0,i.setStyle)(u,\"width\",`${100*a}%`),\"played\"===r&&((0,i.setStyle)(d,\"width\",`${100*a}%`),(0,i.setStyle)(h,\"left\",`${100*a}%`)),n&&((0,i.setStyle)(m,\"display\",\"flex\"),g(o,{width:e.clientWidth*a,time:(0,i.secondToTime)(a*t.duration)}),clearTimeout(l),l=setTimeout(()=>{(0,i.setStyle)(m,\"display\",\"none\")},500))}),t.on(\"video:loadedmetadata\",function(){f.innerText=\"\";for(let e=0;e`;(0,i.append)(f,n)}}),t.on(\"video:progress\",()=>{t.emit(\"setBar\",\"loaded\",t.loaded)}),t.constructor.USE_RAF?t.on(\"raf\",()=>{t.emit(\"setBar\",\"played\",t.played)}):t.on(\"video:timeupdate\",()=>{t.emit(\"setBar\",\"played\",t.played)}),t.on(\"video:ended\",()=>{t.emit(\"setBar\",\"played\",1)}),t.emit(\"setBar\",\"loaded\",t.loaded||0),i.isMobile||(s(e,\"click\",e=>{e.target!==h&&n(t,e)}),s(e,\"mousemove\",r=>{let{percentage:a}=o(t,r);t.emit(\"setBar\",\"hover\",a,r),(0,i.setStyle)(m,\"display\",\"flex\"),(0,i.includeFromEvent)(r,f)?function(r){let{width:a}=o(t,r),{text:n}=r.target.dataset;m.innerText=n;let s=m.clientWidth;a<=s/2?(0,i.setStyle)(m,\"left\",0):a>e.clientWidth-s/2?(0,i.setStyle)(m,\"left\",`${e.clientWidth-s}px`):(0,i.setStyle)(m,\"left\",`${a-s/2}px`)}(r):g(r)}),s(e,\"mouseleave\",e=>{(0,i.setStyle)(m,\"display\",\"none\"),t.emit(\"setBar\",\"hover\",0,e)}),s(e,\"mousedown\",e=>{c=0===e.button}),t.on(\"document:mousemove\",e=>{if(c){let{second:r,percentage:a}=o(t,e);t.emit(\"setBar\",\"played\",a,e),t.seek=r}}),t.on(\"document:mouseup\",()=>{c&&(c=!1)}))}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7H0CE\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,style:i.isMobile?{fontSize:\"12px\",padding:\"0 5px\"}:{cursor:\"auto\",padding:\"0 10px\"},mounted:e=>{function r(){let r=`${(0,i.secondToTime)(t.currentTime)} / ${(0,i.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();let a=[\"video:loadedmetadata\",\"video:timeupdate\",\"video:progress\"];for(let e=0;eo);var i=e(\"../utils\");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a}=t,o=(0,i.append)(e,a.volume),n=(0,i.append)(e,a.volumeClose),s=(0,i.append)(e,'
'),l=(0,i.append)(s,'
'),c=(0,i.append)(l,'
'),u=(0,i.append)(l,'
'),p=(0,i.append)(u,'
'),d=(0,i.append)(p,'
'),f=(0,i.append)(u,'
');function h(e){let{top:t,height:r}=(0,i.getRect)(u);return 1-(e.clientY-t)/r}function m(){if(t.muted||0===t.volume)(0,i.setStyle)(o,\"display\",\"none\"),(0,i.setStyle)(n,\"display\",\"flex\"),(0,i.setStyle)(f,\"top\",\"100%\"),(0,i.setStyle)(d,\"top\",\"100%\"),c.innerText=0;else{let e=100*t.volume;(0,i.setStyle)(o,\"display\",\"flex\"),(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(f,\"top\",`${100-e}%`),(0,i.setStyle)(d,\"top\",`${100-e}%`),c.innerText=Math.floor(e)}}if(m(),t.on(\"video:volumechange\",m),r(o,\"click\",()=>{t.muted=!0}),r(n,\"click\",()=>{t.muted=!1}),i.isMobile)(0,i.setStyle)(s,\"display\",\"none\");else{let e=!1;r(u,\"mousedown\",r=>{e=0===r.button,t.volume=h(r)}),t.on(\"document:mousemove\",r=>{e&&(t.muted=!1,t.volume=h(r))}),t.on(\"document:mouseup\",()=>{e&&(e=!1)})}}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8BrCu\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Show Setting\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.setting),r(e,\"click\",()=>{t.setting.toggle(),t.setting.updateStyle()}),t.on(\"setting\",t=>{(0,i.tooltip)(e,o.get(t?\"Hide Setting\":\"Show Setting\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2HiWx\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,mounted:e=>{let{option:r,events:{loadImg:a},template:{$progress:o,$video:n}}=t,s=null,l=null,c=!1,u=!1;t.on(\"setBar\",async(t,p,d)=>{let f=\"played\"===t&&d&&i.isMobile;if(\"hover\"===t||f){if(c||(c=!0,l=await a(r.thumbnails.url),u=!0),!u)return;let t=o.clientWidth*p;(0,i.setStyle)(e,\"display\",\"flex\"),t>0&&to.clientWidth-d/2?(0,i.setStyle)(e,\"left\",`${o.clientWidth-d}px`):(0,i.setStyle)(e,\"left\",`${t-d/2}px`)}(t):i.isMobile||(0,i.setStyle)(e,\"display\",\"none\"),f&&(clearTimeout(s),s=setTimeout(()=>{(0,i.setStyle)(e,\"display\",\"none\")},500))}})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],c1GeG:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Screenshot\"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.screenshot),r(e,\"click\",()=>{t.screenshot()})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"6GRju\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"AirPlay\"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.airplay),r(e,\"click\",()=>t.airplay())}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7iUum\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"../utils/component\"),n=a.interopDefault(o),s=e(\"./playbackRate\"),l=a.interopDefault(s),c=e(\"./aspectRatio\"),u=a.interopDefault(c),p=e(\"./flip\"),d=a.interopDefault(p),f=e(\"./info\"),h=a.interopDefault(f),m=e(\"./version\"),g=a.interopDefault(m),v=e(\"./close\"),y=a.interopDefault(v);class b extends n.default{constructor(e){super(e),this.name=\"contextmenu\",this.$parent=e.template.$contextmenu,i.isMobile||this.init()}init(){let{option:e,proxy:t,template:{$player:r,$contextmenu:a}}=this.art;e.playbackRate&&this.add((0,l.default)({name:\"playbackRate\",index:10})),e.aspectRatio&&this.add((0,u.default)({name:\"aspectRatio\",index:20})),e.flip&&this.add((0,d.default)({name:\"flip\",index:30})),this.add((0,h.default)({name:\"info\",index:40})),this.add((0,g.default)({name:\"version\",index:50})),this.add((0,y.default)({name:\"close\",index:60}));for(let t=0;t{if(e.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;let t=e.clientX,o=e.clientY,{height:n,width:s,left:l,top:c}=(0,i.getRect)(r),{height:u,width:p}=(0,i.getRect)(a),d=t-l,f=o-c;t+p>l+s&&(d=s-p),o+u>c+n&&(f=n-u),(0,i.setStyles)(a,{top:`${f}px`,left:`${d}px`})}),t(r,\"click\",e=>{(0,i.includeFromEvent)(e,a)||(this.show=!1)}),this.art.on(\"blur\",()=>{this.show=!1})}}r.default=b},{\"../utils\":\"h3rH9\",\"../utils/component\":\"guki8\",\"./playbackRate\":\"f1W36\",\"./aspectRatio\":\"afxZC\",\"./flip\":\"9jCuX\",\"./info\":\"k8wIZ\",\"./version\":\"bb0TU\",\"./close\":\"9zTkI\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],f1W36:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>{let{i18n:r,constructor:{PLAYBACK_RATE:a}}=t,o=a.map(e=>`${1===e?r.get(\"Normal\"):e.toFixed(1)}`).join(\"\");return{...e,html:`${r.get(\"Play Speed\")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.playbackRate=Number(a),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value=\"1\"]',e);r&&(0,i.inverseClass)(r,\"art-current\"),t.on(\"video:ratechange\",()=>{let r=(0,i.queryAll)(\"span\",e).find(e=>Number(e.dataset.value)===t.playbackRate);r&&(0,i.inverseClass)(r,\"art-current\")})}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],afxZC:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>{let{i18n:r,constructor:{ASPECT_RATIO:a}}=t,o=a.map(e=>`${\"default\"===e?r.get(\"Default\"):e}`).join(\"\");return{...e,html:`${r.get(\"Aspect Ratio\")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.aspectRatio=a,e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value=\"default\"]',e);r&&(0,i.inverseClass)(r,\"art-current\"),t.on(\"aspectRatio\",t=>{let r=(0,i.queryAll)(\"span\",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,\"art-current\")})}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9jCuX\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>{let{i18n:r,constructor:{FLIP:a}}=t,o=a.map(e=>`${r.get((0,i.capitalize)(e))}`).join(\"\");return{...e,html:`${r.get(\"Video Flip\")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.flip=a.toLowerCase(),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value=\"normal\"]',e);r&&(0,i.inverseClass)(r,\"art-current\"),t.on(\"flip\",t=>{let r=(0,i.queryAll)(\"span\",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,\"art-current\")})}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],k8wIZ:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return t=>({...e,html:t.i18n.get(\"Video Info\"),click:e=>{t.info.show=!0,e.show=!1}})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],bb0TU:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return{...e,html:'ArtPlayer 5.1.6'}}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9zTkI\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return t=>({...e,html:t.i18n.get(\"Close\"),click:e=>{e.show=!1}})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],hD2Lg:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./utils\"),o=e(\"./utils/component\"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name=\"info\",i.isMobile||this.init()}init(){let{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:a,$video:o}}=this.art;e(a,\"click\",()=>{this.show=!1});let n=null,s=(0,i.queryAll)(\"[data-video]\",r)||[];this.art.on(\"destroy\",()=>clearTimeout(n)),function e(){for(let e=0;enull,this.init(e.option.subtitle);let t=!1;e.on(\"video:timeupdate\",()=>{if(!this.url)return;let e=this.art.template.$video.webkitDisplayingFullscreen;\"boolean\"==typeof e&&e!==t&&(t=e,this.createTrack(e?\"subtitles\":\"metadata\",this.url))})}get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(e,t){let{$subtitle:r}=this.art.template;return\"object\"==typeof e?(0,i.setStyles)(r,e):(0,i.setStyle)(r,e,t)}update(){let{$subtitle:e}=this.art.template;e.innerHTML=\"\",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\\r?\\n/).map(e=>`
${(0,i.escape)(e)}
`).join(\"\"):e.innerHTML=this.activeCue.text,this.art.emit(\"subtitleUpdate\",this.activeCue.text))}async switch(e,t={}){let{i18n:r,notice:a,option:i}=this.art,o={...i.subtitle,...t,url:e},n=await this.init(o);return t.name&&(a.show=`${r.get(\"Switch Subtitle\")}: ${t.name}`),n}createTrack(e,t){let{template:r,proxy:a,option:o}=this.art,{$video:n,$track:s}=r,l=(0,i.createElement)(\"track\");l.default=!0,l.kind=e,l.src=t,l.label=o.subtitle.name||\"Artplayer\",l.track.mode=\"hidden\",this.eventDestroy(),(0,i.remove)(s),(0,i.append)(n,l),r.$track=l,this.eventDestroy=a(this.textTrack,\"cuechange\",()=>this.update())}async init(e){let{notice:t,template:{$subtitle:r}}=this.art;if((0,l.default)(e,u.default.subtitle),e.url)return this.style(e.style),fetch(e.url).then(e=>e.arrayBuffer()).then(t=>{let r=new TextDecoder(e.encoding).decode(t);switch(this.art.emit(\"subtitleLoad\",e.url),e.type||(0,i.getExt)(e.url)){case\"srt\":{let t=(0,i.srtToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case\"ass\":{let t=(0,i.assToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case\"vtt\":{let t=e.onVttLoad(r);return(0,i.vttToBlob)(t)}default:return e.url}}).then(e=>(r.innerHTML=\"\",this.url===e||(URL.revokeObjectURL(this.url),this.createTrack(\"metadata\",e),this.art.emit(\"subtitleSwitch\",e)),e)).catch(e=>{throw r.innerHTML=\"\",t.show=e,e})}}r.default=p},{\"./utils\":\"h3rH9\",\"./utils/component\":\"guki8\",\"option-validator\":\"9I0i9\",\"./scheme\":\"AdvwB\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"1Epl5\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils/error\"),o=e(\"./clickInit\"),n=a.interopDefault(o),s=e(\"./hoverInit\"),l=a.interopDefault(s),c=e(\"./moveInit\"),u=a.interopDefault(c),p=e(\"./resizeInit\"),d=a.interopDefault(p),f=e(\"./gestureInit\"),h=a.interopDefault(f),m=e(\"./viewInit\"),g=a.interopDefault(m),v=e(\"./documentInit\"),y=a.interopDefault(v),b=e(\"./updateInit\"),x=a.interopDefault(b);r.default=class{constructor(e){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,n.default)(e,this),(0,l.default)(e,this),(0,u.default)(e,this),(0,d.default)(e,this),(0,h.default)(e,this),(0,g.default)(e,this),(0,y.default)(e,this),(0,x.default)(e,this)}proxy(e,t,r,a={}){if(Array.isArray(t))return t.map(t=>this.proxy(e,t,r,a));e.addEventListener(t,r,a);let i=()=>e.removeEventListener(t,r,a);return this.destroyEvents.push(i),i}hover(e,t,r){t&&this.proxy(e,\"mouseenter\",t),r&&this.proxy(e,\"mouseleave\",r)}loadImg(e){return new Promise((t,r)=>{let a;if(e instanceof HTMLImageElement)a=e;else{if(\"string\"!=typeof e)return r(new i.ArtPlayerError(\"Unable to get Image\"));(a=new Image).src=e}if(a.complete)return t(a);this.proxy(a,\"load\",()=>t(a)),this.proxy(a,\"error\",()=>r(new i.ArtPlayerError(`Failed to load Image: ${a.src}`)))})}remove(e){let t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}destroy(){for(let e=0;eo);var i=e(\"../utils\");function o(e,t){let{constructor:r,template:{$player:a,$video:o}}=e;t.proxy(document,[\"click\",\"contextmenu\"],t=>{(0,i.includeFromEvent)(t,a)?(e.isInput=\"INPUT\"===t.target.tagName,e.isFocus=!0,e.emit(\"focus\",t)):(e.isInput=!1,e.isFocus=!1,e.emit(\"blur\",t))});let n=[];t.proxy(o,\"click\",t=>{let a=Date.now();n.push(a);let{MOBILE_CLICK_PLAY:o,DBCLICK_TIME:s,MOBILE_DBCLICK_PLAY:l,DBCLICK_FULLSCREEN:c}=r,u=n.filter(e=>a-e<=s);switch(u.length){case 1:e.emit(\"click\",t),i.isMobile?!e.isLock&&o&&e.toggle():e.toggle(),n=u;break;case 2:e.emit(\"dblclick\",t),i.isMobile?!e.isLock&&l&&e.toggle():c&&(e.fullscreen=!e.fullscreen),n=[];break;default:n=[]}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],kpTJf:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e,t){let{$player:r}=e.template;t.hover(r,t=>{(0,i.addClass)(r,\"art-hover\"),e.emit(\"hover\",!0,t)},t=>{(0,i.removeClass)(r,\"art-hover\"),e.emit(\"hover\",!1,t)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],ef6qz:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t){let{$player:r}=e.template;t.proxy(r,\"mousemove\",t=>{e.emit(\"mousemove\",t)})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9TXOX\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e,t){let{option:r,constructor:a}=e;e.on(\"resize\",()=>{let{aspectRatio:t,notice:a}=e;\"standard\"===e.state&&r.autoSize&&e.autoSize(),e.aspectRatio=t,a.show=\"\"});let o=(0,i.debounce)(()=>e.emit(\"resize\"),a.RESIZE_TIME);t.proxy(window,[\"orientationchange\",\"resize\"],()=>o()),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,\"change\",()=>o())}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dePMU:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>n);var i=e(\"../utils\"),o=e(\"../control/progress\");function n(e,t){if(i.isMobile&&!e.option.isLive){let{$video:r,$progress:a}=e.template,n=null,s=!1,l=0,c=0,u=0,p=t=>{if(1===t.touches.length&&!e.isLock){n===a&&(0,o.setCurrentTime)(e,t),s=!0;let{pageX:r,pageY:i}=t.touches[0];l=r,c=i,u=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){let{pageX:a,pageY:o}=t.touches[0],s=function(e,t,r,a){var i=t-a,o=r-e,n=0;if(2>Math.abs(o)&&2>Math.abs(i))return n;var s=180*Math.atan2(i,o)/Math.PI;return s>=-45&&s<45?n=4:s>=45&&s<135?n=1:s>=-135&&s<-45?n=2:(s>=135&&s<=180||s>=-180&&s<-135)&&(n=3),n}(l,c,a,o),p=[3,4].includes(s),d=[1,2].includes(s);if(p&&!e.isRotate||d&&e.isRotate){let s=(0,i.clamp)((a-l)/e.width,-1,1),p=(0,i.clamp)((o-c)/e.height,-1,1),d=e.isRotate?p:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,i.clamp)(u+e.duration*d*f,0,e.duration);e.seek=h,e.emit(\"setBar\",\"played\",(0,i.clamp)(h/e.duration,0,1),t),e.notice.show=`${(0,i.secondToTime)(h)} / ${(0,i.secondToTime)(e.duration)}`}}};t.proxy(a,\"touchstart\",e=>{n=a,p(e)}),t.proxy(r,\"touchstart\",e=>{n=r,p(e)}),t.proxy(r,\"touchmove\",d),t.proxy(a,\"touchmove\",d),t.proxy(document,\"touchend\",()=>{s&&(l=0,c=0,u=0,s=!1,n=null)})}}},{\"../utils\":\"h3rH9\",\"../control/progress\":\"aBBSH\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],hDyWF:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e,t){let{option:r,constructor:a,template:{$container:o}}=e,n=(0,i.throttle)(()=>{e.emit(\"view\",(0,i.isInViewport)(o,a.SCROLL_GAP))},a.SCROLL_TIME);t.proxy(window,\"scroll\",()=>n()),e.on(\"view\",t=>{r.autoMini&&(e.mini=!t)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7RjDP\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t){t.proxy(document,\"mousemove\",t=>{e.emit(\"document:mousemove\",t)}),t.proxy(document,\"mouseup\",t=>{e.emit(\"document:mouseup\",t)})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8SmBT\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){if(e.constructor.USE_RAF){let t=null;!function r(){e.playing&&e.emit(\"raf\"),e.isDestroy||(t=requestAnimationFrame(r))}(),e.on(\"destroy\",()=>{cancelAnimationFrame(t)})}}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],eTow4:[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);var a=e(\"./utils\");r.default=class{constructor(e){this.art=e,this.keys={},e.option.hotkey&&!a.isMobile&&this.init()}init(){let{proxy:e,constructor:t}=this.art;this.add(27,()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)}),this.add(32,()=>{this.art.toggle()}),this.add(37,()=>{this.art.backward=t.SEEK_STEP}),this.add(38,()=>{this.art.volume+=t.VOLUME_STEP}),this.add(39,()=>{this.art.forward=t.SEEK_STEP}),this.add(40,()=>{this.art.volume-=t.VOLUME_STEP}),e(window,\"keydown\",e=>{if(this.art.isFocus){let t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute(\"contenteditable\");if(\"INPUT\"!==t&&\"TEXTAREA\"!==t&&\"\"!==r&&\"true\"!==r&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){let t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;r{i.innerText=\"\",(0,a.removeClass)(r,\"art-notice-show\")},t.NOTICE_TIME)):(0,a.removeClass)(r,\"art-notice-show\")}}},{\"./utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2etr0\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./utils\"),o=e(\"./utils/component\"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name=\"mask\";let{template:t,icons:r,events:a}=e,o=(0,i.append)(t.$state,r.state),n=(0,i.append)(t.$state,r.error);(0,i.setStyle)(n,\"display\",\"none\"),e.on(\"destroy\",()=>{(0,i.setStyle)(o,\"display\",\"none\"),(0,i.setStyle)(n,\"display\",null)}),a.proxy(t.$state,\"click\",()=>e.play())}}r.default=s},{\"./utils\":\"h3rH9\",\"./utils/component\":\"guki8\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"6dYSr\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"bundle-text:./loading.svg\"),n=a.interopDefault(o),s=e(\"bundle-text:./state.svg\"),l=a.interopDefault(s),c=e(\"bundle-text:./check.svg\"),u=a.interopDefault(c),p=e(\"bundle-text:./play.svg\"),d=a.interopDefault(p),f=e(\"bundle-text:./pause.svg\"),h=a.interopDefault(f),m=e(\"bundle-text:./volume.svg\"),g=a.interopDefault(m),v=e(\"bundle-text:./volume-close.svg\"),y=a.interopDefault(v),b=e(\"bundle-text:./screenshot.svg\"),x=a.interopDefault(b),w=e(\"bundle-text:./setting.svg\"),j=a.interopDefault(w),k=e(\"bundle-text:./arrow-left.svg\"),S=a.interopDefault(k),I=e(\"bundle-text:./arrow-right.svg\"),T=a.interopDefault(I),O=e(\"bundle-text:./playback-rate.svg\"),E=a.interopDefault(O),M=e(\"bundle-text:./aspect-ratio.svg\"),$=a.interopDefault(M),F=e(\"bundle-text:./config.svg\"),C=a.interopDefault(F),H=e(\"bundle-text:./pip.svg\"),D=a.interopDefault(H),B=e(\"bundle-text:./lock.svg\"),z=a.interopDefault(B),R=e(\"bundle-text:./unlock.svg\"),A=a.interopDefault(R),L=e(\"bundle-text:./fullscreen-off.svg\"),P=a.interopDefault(L),N=e(\"bundle-text:./fullscreen-on.svg\"),Z=a.interopDefault(N),_=e(\"bundle-text:./fullscreen-web-off.svg\"),q=a.interopDefault(_),V=e(\"bundle-text:./fullscreen-web-on.svg\"),W=a.interopDefault(V),U=e(\"bundle-text:./switch-on.svg\"),Y=a.interopDefault(U),K=e(\"bundle-text:./switch-off.svg\"),X=a.interopDefault(K),G=e(\"bundle-text:./flip.svg\"),J=a.interopDefault(G),Q=e(\"bundle-text:./error.svg\"),ee=a.interopDefault(Q),et=e(\"bundle-text:./close.svg\"),er=a.interopDefault(et),ea=e(\"bundle-text:./airplay.svg\"),ei=a.interopDefault(ea);r.default=class{constructor(e){let t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:u.default,volume:g.default,volumeClose:y.default,screenshot:x.default,setting:j.default,pip:D.default,arrowLeft:S.default,arrowRight:T.default,playbackRate:E.default,aspectRatio:$.default,config:C.default,lock:z.default,flip:J.default,unlock:A.default,fullscreenOff:P.default,fullscreenOn:Z.default,fullscreenWebOff:q.default,fullscreenWebOn:W.default,switchOn:Y.default,switchOff:X.default,error:ee.default,close:er.default,airplay:ei.default,...e.option.icons};for(let e in t)(0,i.def)(this,e,{get:()=>(0,i.getIcon)(e,t[e])})}}},{\"../utils\":\"h3rH9\",\"bundle-text:./loading.svg\":\"fY5Gt\",\"bundle-text:./state.svg\":\"iNfLt\",\"bundle-text:./check.svg\":\"jtE9u\",\"bundle-text:./play.svg\":\"elgfY\",\"bundle-text:./pause.svg\":\"eKokJ\",\"bundle-text:./volume.svg\":\"hNB4y\",\"bundle-text:./volume-close.svg\":\"i9vta\",\"bundle-text:./screenshot.svg\":\"kB3Mf\",\"bundle-text:./setting.svg\":\"3MONs\",\"bundle-text:./arrow-left.svg\":\"iMCpk\",\"bundle-text:./arrow-right.svg\":\"3oe4L\",\"bundle-text:./playback-rate.svg\":\"liE22\",\"bundle-text:./aspect-ratio.svg\":\"8HqYc\",\"bundle-text:./config.svg\":\"hYAAH\",\"bundle-text:./pip.svg\":\"jmNrH\",\"bundle-text:./lock.svg\":\"cIqko\",\"bundle-text:./unlock.svg\":\"65zy4\",\"bundle-text:./fullscreen-off.svg\":\"jaJRT\",\"bundle-text:./fullscreen-on.svg\":\"cRY1X\",\"bundle-text:./fullscreen-web-off.svg\":\"3aVGL\",\"bundle-text:./fullscreen-web-on.svg\":\"4DiVn\",\"bundle-text:./switch-on.svg\":\"kwdKE\",\"bundle-text:./switch-off.svg\":\"bWfXZ\",\"bundle-text:./flip.svg\":\"h3zZ9\",\"bundle-text:./error.svg\":\"7Oyth\",\"bundle-text:./close.svg\":\"U5Jcy\",\"bundle-text:./airplay.svg\":\"jK5Fx\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fY5Gt:[function(e,t,r){t.exports=''},{}],iNfLt:[function(e,t,r){t.exports=''},{}],jtE9u:[function(e,t,r){t.exports=''},{}],elgfY:[function(e,t,r){t.exports=''},{}],eKokJ:[function(e,t,r){t.exports=''},{}],hNB4y:[function(e,t,r){t.exports=''},{}],i9vta:[function(e,t,r){t.exports=''},{}],kB3Mf:[function(e,t,r){t.exports=''},{}],\"3MONs\":[function(e,t,r){t.exports=''},{}],iMCpk:[function(e,t,r){t.exports=''},{}],\"3oe4L\":[function(e,t,r){t.exports=''},{}],liE22:[function(e,t,r){t.exports=''},{}],\"8HqYc\":[function(e,t,r){t.exports=''},{}],hYAAH:[function(e,t,r){t.exports=''},{}],jmNrH:[function(e,t,r){t.exports=''},{}],cIqko:[function(e,t,r){t.exports=''},{}],\"65zy4\":[function(e,t,r){t.exports=''},{}],jaJRT:[function(e,t,r){t.exports=''},{}],cRY1X:[function(e,t,r){t.exports=''},{}],\"3aVGL\":[function(e,t,r){t.exports=''},{}],\"4DiVn\":[function(e,t,r){t.exports=''},{}],kwdKE:[function(e,t,r){t.exports=''},{}],bWfXZ:[function(e,t,r){t.exports=''},{}],h3zZ9:[function(e,t,r){t.exports=''},{}],\"7Oyth\":[function(e,t,r){t.exports=''},{}],U5Jcy:[function(e,t,r){t.exports=''},{}],jK5Fx:[function(e,t,r){t.exports=''},{}],bRHiA:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./flip\"),o=a.interopDefault(i),n=e(\"./aspectRatio\"),s=a.interopDefault(n),l=e(\"./playbackRate\"),c=a.interopDefault(l),u=e(\"./subtitleOffset\"),p=a.interopDefault(u),d=e(\"../utils/component\"),f=a.interopDefault(d),h=e(\"../utils/error\"),m=e(\"../utils\");class g extends f.default{constructor(e){super(e);let{option:t,controls:r,template:{$setting:a}}=e;this.name=\"setting\",this.$parent=a,this.option=[],this.events=[],this.cache=new Map,t.setting&&(this.init(),e.on(\"blur\",()=>{this.show&&(this.show=!1,this.render(this.option))}),e.on(\"focus\",e=>{let t=(0,m.includeFromEvent)(e,r.setting),a=(0,m.includeFromEvent)(e,this.$parent);!this.show||t||a||(this.show=!1,this.render(this.option))}))}static makeRecursion(e,t,r){for(let a=0;a'),n=(0,m.createElement)(\"div\");(0,m.addClass)(n,\"art-setting-item-left-icon\"),(0,m.append)(n,t.arrowLeft),(0,m.append)(o,n),(0,m.append)(o,e.$parentItem.html);let s=r(i,\"click\",()=>this.render(e.$parentList));return this.events.push(s),i}creatItem(e,t){let{icons:r,proxy:a,constructor:i}=this.art,o=(0,m.createElement)(\"div\");(0,m.addClass)(o,\"art-setting-item\"),(0,m.setStyle)(o,\"height\",`${i.SETTING_ITEM_HEIGHT}px`),(0,m.isStringOrNumber)(t.name)&&(o.dataset.name=t.name),(0,m.isStringOrNumber)(t.value)&&(o.dataset.value=t.value);let n=(0,m.append)(o,'
'),s=(0,m.append)(o,'
'),l=(0,m.createElement)(\"div\");switch((0,m.addClass)(l,\"art-setting-item-left-icon\"),e){case\"switch\":case\"range\":(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case\"selector\":t.selector&&t.selector.length?(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,m.append)(l,r.check)}(0,m.append)(n,l),t.$icon=l,(0,m.def)(t,\"icon\",{configurable:!0,get:()=>l.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(l.innerHTML=e)}});let c=(0,m.createElement)(\"div\");(0,m.addClass)(c,\"art-setting-item-left-text\"),(0,m.append)(c,t.html||\"\"),(0,m.append)(n,c),t.$html=c,(0,m.def)(t,\"html\",{configurable:!0,get:()=>c.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(c.innerHTML=e)}});let u=(0,m.createElement)(\"div\");switch((0,m.addClass)(u,\"art-setting-item-right-tooltip\"),(0,m.append)(u,t.tooltip||\"\"),(0,m.append)(s,u),t.$tooltip=u,(0,m.def)(t,\"tooltip\",{configurable:!0,get:()=>u.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(u.innerHTML=e)}}),e){case\"switch\":{let e=(0,m.createElement)(\"div\");(0,m.addClass)(e,\"art-setting-item-right-icon\");let a=(0,m.append)(e,r.switchOn),i=(0,m.append)(e,r.switchOff);(0,m.setStyle)(t.switch?i:a,\"display\",\"none\"),(0,m.append)(s,e),t.$switch=t.switch,(0,m.def)(t,\"switch\",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,m.setStyle)(i,\"display\",\"none\"),(0,m.setStyle)(a,\"display\",null)):((0,m.setStyle)(i,\"display\",null),(0,m.setStyle)(a,\"display\",\"none\"))}});break}case\"range\":{let e=(0,m.createElement)(\"div\");(0,m.addClass)(e,\"art-setting-item-right-icon\");let r=(0,m.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,m.addClass)(r,\"art-setting-range\"),(0,m.append)(s,e),t.$range=r,(0,m.def)(t,\"range\",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case\"selector\":if(t.selector&&t.selector.length){let e=(0,m.createElement)(\"div\");(0,m.addClass)(e,\"art-setting-item-right-icon\"),(0,m.append)(e,r.arrowRight),(0,m.append)(s,e)}}switch(e){case\"switch\":if(t.onSwitch){let e=a(o,\"click\",async e=>{t.switch=await t.onSwitch.call(this.art,t,o,e)});this.events.push(e)}break;case\"range\":if(t.$range){if(t.onRange){let e=a(t.$range,\"change\",async e=>{t.tooltip=await t.onRange.call(this.art,t,o,e)});this.events.push(e)}if(t.onChange){let e=a(t.$range,\"input\",async e=>{t.tooltip=await t.onChange.call(this.art,t,o,e)});this.events.push(e)}}break;case\"selector\":{let e=a(o,\"click\",async e=>{if(t.selector&&t.selector.length)this.render(t.selector,t.width);else{(0,m.inverseClass)(o,\"art-current\");for(let e=0;ec?((0,m.setStyle)(i,\"left\",null),(0,m.setStyle)(i,\"right\",null)):((0,m.setStyle)(i,\"left\",`${u}px`),(0,m.setStyle)(i,\"right\",\"auto\"))}}render(e,t){let{constructor:r}=this.art;if(this.cache.has(e)){let t=this.cache.get(e);(0,m.inverseClass)(t,\"art-current\"),(0,m.setStyle)(this.$parent,\"width\",`${t.dataset.width}px`),(0,m.setStyle)(this.$parent,\"height\",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{let a=(0,m.createElement)(\"div\");(0,m.addClass)(a,\"art-setting-panel\"),a.dataset.width=t||r.SETTING_WIDTH,a.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,m.append)(a,this.creatHeader(e[0])),a.dataset.height=Number(a.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;to);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,FLIP:o}}=e;function n(e,r,a){r&&(r.innerText=t.get((0,i.capitalize)(a)));let o=(0,i.queryAll)(\".art-setting-item\",e).find(e=>e.dataset.value===a);o&&(0,i.inverseClass)(o,\"art-current\")}return{width:a,name:\"flip\",html:t.get(\"Video Flip\"),tooltip:t.get((0,i.capitalize)(e.flip)),icon:r.flip,selector:o.map(r=>({value:r,name:`aspect-ratio-${r}`,default:r===e.flip,html:t.get((0,i.capitalize)(r))})),onSelect:t=>(e.flip=t.value,t.html),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on(\"flip\",()=>{n(t,r.$tooltip,e.flip)})}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5lAsp\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,ASPECT_RATIO:o}}=e;function n(e){return\"default\"===e?t.get(\"Default\"):e}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(\".art-setting-item\",e).find(e=>e.dataset.value===r);a&&(0,i.inverseClass)(a,\"art-current\")}return{width:a,name:\"aspect-ratio\",html:t.get(\"Aspect Ratio\"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.aspectRatio,html:n(t)})),onSelect:t=>(e.aspectRatio=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on(\"aspectRatio\",()=>{s(t,r.$tooltip,e.aspectRatio)})}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],e6hsR:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,PLAYBACK_RATE:o}}=e;function n(e){return 1===e?t.get(\"Normal\"):e.toFixed(1)}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(\".art-setting-item\",e).find(e=>Number(e.dataset.value)===r);a&&(0,i.inverseClass)(a,\"art-current\")}return{width:a,name:\"playback-rate\",html:t.get(\"Play Speed\"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.playbackRate,html:n(t)})),onSelect:t=>(e.playbackRate=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on(\"video:ratechange\",()=>{s(t,r.$tooltip,e.playbackRate)})}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fFNEr:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){let{i18n:t,icons:r,constructor:a}=e;return{width:a.SETTING_ITEM_WIDTH,name:\"subtitle-offset\",html:t.get(\"Subtitle Offset\"),icon:r.subtitle,tooltip:\"0s\",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+\"s\")}}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],f2Thp:[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r),r.default=class{constructor(){this.name=\"artplayer_settings\",this.settings={}}get(e){try{let t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{let r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{let t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"96ThS\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"./miniProgressBar\"),n=a.interopDefault(o),s=e(\"./autoOrientation\"),l=a.interopDefault(s),c=e(\"./autoPlayback\"),u=a.interopDefault(c),p=e(\"./fastForward\"),d=a.interopDefault(p),f=e(\"./lock\"),h=a.interopDefault(f);r.default=class{constructor(e){this.art=e,this.id=0;let{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&i.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(u.default),t.autoOrientation&&i.isMobile&&this.add(l.default),t.fastForward&&i.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;ethis.next(e,t)):this.next(e,t)}next(e,t){let r=t&&t.name||e.name||`plugin${this.id}`;return(0,i.errorHandle)(!(0,i.has)(this,r),`Cannot add a plugin that already has the same name: ${r}`),(0,i.def)(this,r,{value:t}),this}}},{\"../utils\":\"h3rH9\",\"./miniProgressBar\":\"iBx4M\",\"./autoOrientation\":\"2O9qO\",\"./autoPlayback\":\"iiOc1\",\"./fastForward\":\"d9NUE\",\"./lock\":\"5dnKh\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iBx4M:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return e.on(\"control\",t=>{t?(0,i.removeClass)(e.template.$player,\"art-mini-progress-bar\"):(0,i.addClass)(e.template.$player,\"art-mini-progress-bar\")}),{name:\"mini-progress-bar\"}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2O9qO\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{constructor:t,template:{$player:r,$video:a}}=e;return e.on(\"fullscreenWeb\",o=>{if(o){let{videoWidth:o,videoHeight:n}=a,{clientWidth:s,clientHeight:l}=document.documentElement;(o>n&&sl)&&setTimeout(()=>{(0,i.setStyle)(r,\"width\",`${l}px`),(0,i.setStyle)(r,\"height\",`${s}px`),(0,i.setStyle)(r,\"transform-origin\",\"0 0\"),(0,i.setStyle)(r,\"transform\",`rotate(90deg) translate(0, -${s}px)`),(0,i.addClass)(r,\"art-auto-orientation\"),e.isRotate=!0,e.emit(\"resize\")},t.AUTO_ORIENTATION_TIME)}else(0,i.hasClass)(r,\"art-auto-orientation\")&&((0,i.removeClass)(r,\"art-auto-orientation\"),e.isRotate=!1,e.emit(\"resize\"))}),e.on(\"fullscreen\",async e=>{if(!screen?.orientation?.lock)return;let t=screen.orientation.type;if(e){let{videoWidth:e,videoHeight:o}=a,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>o&&ns){let e=t.startsWith(\"portrait\")?\"landscape\":\"portrait\";await screen.orientation.lock(e),(0,i.addClass)(r,\"art-auto-orientation-fullscreen\")}}else(0,i.hasClass)(r,\"art-auto-orientation-fullscreen\")&&(await screen.orientation.lock(t),(0,i.removeClass)(r,\"art-auto-orientation-fullscreen\"))}),{name:\"autoOrientation\",get state(){return(0,i.hasClass)(r,\"art-auto-orientation\")}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iiOc1:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,storage:a,constructor:o,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:\"auto-playback\",html:`
`}),c=(0,i.query)(\".art-auto-playback-last\",l),u=(0,i.query)(\".art-auto-playback-jump\",l),p=(0,i.query)(\".art-auto-playback-close\",l);return e.on(\"video:timeupdate\",()=>{if(e.playing){let t=a.get(\"times\")||{},r=Object.keys(t);r.length>o.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,a.set(\"times\",t)}}),e.on(\"ready\",()=>{let d=(a.get(\"times\")||{})[e.option.id||e.option.url];d&&d>=o.AUTO_PLAYBACK_MIN&&((0,i.append)(p,r.close),(0,i.setStyle)(l,\"display\",\"flex\"),c.innerText=`${t.get(\"Last Seen\")} ${(0,i.secondToTime)(d)}`,u.innerText=t.get(\"Jump Play\"),n(p,\"click\",()=>{(0,i.setStyle)(l,\"display\",\"none\")}),n(u,\"click\",()=>{e.seek=d,e.play(),(0,i.setStyle)(s,\"display\",\"none\"),(0,i.setStyle)(l,\"display\",\"none\")}),e.once(\"video:timeupdate\",()=>{setTimeout(()=>{(0,i.setStyle)(l,\"display\",\"none\")},o.AUTO_PLAYBACK_TIMEOUT)}))}),{name:\"auto-playback\",get times(){return a.get(\"times\")||{}},clear:()=>a.del(\"times\"),delete(e){let t=a.get(\"times\")||{};return delete t[e],a.set(\"times\",t),t}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],d9NUE:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{constructor:t,proxy:r,template:{$player:a,$video:o}}=e,n=null,s=!1,l=1,c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,i.removeClass)(a,\"art-fast-forward\"))};return r(o,\"touchstart\",r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout(()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,i.addClass)(a,\"art-fast-forward\")},t.FAST_FORWARD_TIME))}),r(document,\"touchmove\",c),r(document,\"touchend\",c),{name:\"fastForward\",get state(){return(0,i.hasClass)(a,\"art-fast-forward\")}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5dnKh\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{layers:t,icons:r,template:{$player:a}}=e;function o(){return(0,i.hasClass)(a,\"art-lock\")}function n(){(0,i.addClass)(a,\"art-lock\"),e.isLock=!0,e.emit(\"lock\",!0)}function s(){(0,i.removeClass)(a,\"art-lock\"),e.isLock=!1,e.emit(\"lock\",!1)}return t.add({name:\"lock\",mounted(t){let a=(0,i.append)(t,r.lock),o=(0,i.append)(t,r.unlock);(0,i.setStyle)(a,\"display\",\"none\"),e.on(\"lock\",e=>{e?((0,i.setStyle)(a,\"display\",\"inline-flex\"),(0,i.setStyle)(o,\"display\",\"none\")):((0,i.setStyle)(a,\"display\",\"none\"),(0,i.setStyle)(o,\"display\",\"inline-flex\"))})},click(){o()?s():n()}}),{name:\"lock\",get state(){return o()},set state(value){value?n():s()}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}]},[\"abjMI\"],\"abjMI\",\"parcelRequireb749\");","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","module.exports = {\n \"100\": \"Continue\",\n \"101\": \"Switching Protocols\",\n \"102\": \"Processing\",\n \"200\": \"OK\",\n \"201\": \"Created\",\n \"202\": \"Accepted\",\n \"203\": \"Non-Authoritative Information\",\n \"204\": \"No Content\",\n \"205\": \"Reset Content\",\n \"206\": \"Partial Content\",\n \"207\": \"Multi-Status\",\n \"208\": \"Already Reported\",\n \"226\": \"IM Used\",\n \"300\": \"Multiple Choices\",\n \"301\": \"Moved Permanently\",\n \"302\": \"Found\",\n \"303\": \"See Other\",\n \"304\": \"Not Modified\",\n \"305\": \"Use Proxy\",\n \"307\": \"Temporary Redirect\",\n \"308\": \"Permanent Redirect\",\n \"400\": \"Bad Request\",\n \"401\": \"Unauthorized\",\n \"402\": \"Payment Required\",\n \"403\": \"Forbidden\",\n \"404\": \"Not Found\",\n \"405\": \"Method Not Allowed\",\n \"406\": \"Not Acceptable\",\n \"407\": \"Proxy Authentication Required\",\n \"408\": \"Request Timeout\",\n \"409\": \"Conflict\",\n \"410\": \"Gone\",\n \"411\": \"Length Required\",\n \"412\": \"Precondition Failed\",\n \"413\": \"Payload Too Large\",\n \"414\": \"URI Too Long\",\n \"415\": \"Unsupported Media Type\",\n \"416\": \"Range Not Satisfiable\",\n \"417\": \"Expectation Failed\",\n \"418\": \"I'm a teapot\",\n \"421\": \"Misdirected Request\",\n \"422\": \"Unprocessable Entity\",\n \"423\": \"Locked\",\n \"424\": \"Failed Dependency\",\n \"425\": \"Unordered Collection\",\n \"426\": \"Upgrade Required\",\n \"428\": \"Precondition Required\",\n \"429\": \"Too Many Requests\",\n \"431\": \"Request Header Fields Too Large\",\n \"451\": \"Unavailable For Legal Reasons\",\n \"500\": \"Internal Server Error\",\n \"501\": \"Not Implemented\",\n \"502\": \"Bad Gateway\",\n \"503\": \"Service Unavailable\",\n \"504\": \"Gateway Timeout\",\n \"505\": \"HTTP Version Not Supported\",\n \"506\": \"Variant Also Negotiates\",\n \"507\": \"Insufficient Storage\",\n \"508\": \"Loop Detected\",\n \"509\": \"Bandwidth Limit Exceeded\",\n \"510\": \"Not Extended\",\n \"511\": \"Network Authentication Required\"\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = hasPropertyDescriptors && GetIntrinsic('%Object.defineProperty%', true);\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar gopd = require('gopd');\n\n/** @type {(obj: Record, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {(o: {}, p: PropertyKey) => p is keyof o} */\nmodule.exports = bind.call(call, $hasOwn);\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.mpegts=t():e.mpegts=t()}(window,(function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=14)}([function(e,t,i){\"use strict\";var n=i(6),a=i.n(n),r=function(){function e(){}return e.e=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"error\",n),e.ENABLE_ERROR&&(console.error?console.error(n):console.warn?console.warn(n):console.log(n))},e.i=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"info\",n),e.ENABLE_INFO&&(console.info?console.info(n):console.log(n))},e.w=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"warn\",n),e.ENABLE_WARN&&(console.warn?console.warn(n):console.log(n))},e.d=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"debug\",n),e.ENABLE_DEBUG&&(console.debug?console.debug(n):console.log(n))},e.v=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"verbose\",n),e.ENABLE_VERBOSE&&console.log(n)},e}();r.GLOBAL_TAG=\"mpegts.js\",r.FORCE_GLOBAL_TAG=!1,r.ENABLE_ERROR=!0,r.ENABLE_INFO=!0,r.ENABLE_WARN=!0,r.ENABLE_DEBUG=!0,r.ENABLE_VERBOSE=!0,r.ENABLE_CALLBACK=!1,r.emitter=new a.a,t.a=r},function(e,t,i){\"use strict\";t.a={IO_ERROR:\"io_error\",DEMUX_ERROR:\"demux_error\",INIT_SEGMENT:\"init_segment\",MEDIA_SEGMENT:\"media_segment\",LOADING_COMPLETE:\"loading_complete\",RECOVERED_EARLY_EOF:\"recovered_early_eof\",MEDIA_INFO:\"media_info\",METADATA_ARRIVED:\"metadata_arrived\",SCRIPTDATA_ARRIVED:\"scriptdata_arrived\",TIMED_ID3_METADATA_ARRIVED:\"timed_id3_metadata_arrived\",SMPTE2038_METADATA_ARRIVED:\"smpte2038_metadata_arrived\",SCTE35_METADATA_ARRIVED:\"scte35_metadata_arrived\",PES_PRIVATE_DATA_DESCRIPTOR:\"pes_private_data_descriptor\",PES_PRIVATE_DATA_ARRIVED:\"pes_private_data_arrived\",STATISTICS_INFO:\"statistics_info\",RECOMMEND_SEEKPOINT:\"recommend_seekpoint\"}},function(e,t,i){\"use strict\";i.d(t,\"c\",(function(){return a})),i.d(t,\"b\",(function(){return r})),i.d(t,\"a\",(function(){return s}));var n=i(3),a={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},r={OK:\"OK\",EXCEPTION:\"Exception\",HTTP_STATUS_CODE_INVALID:\"HttpStatusCodeInvalid\",CONNECTING_TIMEOUT:\"ConnectingTimeout\",EARLY_EOF:\"EarlyEof\",UNRECOVERABLE_EARLY_EOF:\"UnrecoverableEarlyEof\"},s=function(){function e(e){this._type=e||\"undefined\",this._status=a.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return e.prototype.destroy=function(){this._status=a.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null},e.prototype.isWorking=function(){return this._status===a.kConnecting||this._status===a.kBuffering},Object.defineProperty(e.prototype,\"type\",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"status\",{get:function(){return this._status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"needStashBuffer\",{get:function(){return this._needStash},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onContentLengthKnown\",{get:function(){return this._onContentLengthKnown},set:function(e){this._onContentLengthKnown=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onURLRedirect\",{get:function(){return this._onURLRedirect},set:function(e){this._onURLRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDataArrival\",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onError\",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onComplete\",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),e.prototype.open=function(e,t){throw new n.c(\"Unimplemented abstract function!\")},e.prototype.abort=function(){throw new n.c(\"Unimplemented abstract function!\")},e}()},function(e,t,i){\"use strict\";i.d(t,\"d\",(function(){return r})),i.d(t,\"a\",(function(){return s})),i.d(t,\"b\",(function(){return o})),i.d(t,\"c\",(function(){return d}));var n,a=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),r=function(){function e(e){this._message=e}return Object.defineProperty(e.prototype,\"name\",{get:function(){return\"RuntimeException\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"message\",{get:function(){return this._message},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name+\": \"+this.message},e}(),s=function(e){function t(t){return e.call(this,t)||this}return a(t,e),Object.defineProperty(t.prototype,\"name\",{get:function(){return\"IllegalStateException\"},enumerable:!1,configurable:!0}),t}(r),o=function(e){function t(t){return e.call(this,t)||this}return a(t,e),Object.defineProperty(t.prototype,\"name\",{get:function(){return\"InvalidArgumentException\"},enumerable:!1,configurable:!0}),t}(r),d=function(e){function t(t){return e.call(this,t)||this}return a(t,e),Object.defineProperty(t.prototype,\"name\",{get:function(){return\"NotImplementedException\"},enumerable:!1,configurable:!0}),t}(r)},function(e,t,i){\"use strict\";var n={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\\/([\\w.]+)/.exec(e)||/(opr)[\\/]([\\w.]+)/.exec(e)||/(chrome)[ \\/]([\\w.]+)/.exec(e)||/(iemobile)[\\/]([\\w.]+)/.exec(e)||/(version)(applewebkit)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+).*(version)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(e)||/(msie) ([\\w.]+)/.exec(e)||e.indexOf(\"trident\")>=0&&/(rv)(?::| )([\\w.]+)/.exec(e)||e.indexOf(\"compatible\")<0&&/(firefox)[ \\/]([\\w.]+)/.exec(e)||[],i=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],a={browser:t[5]||t[3]||t[1]||\"\",version:t[2]||t[4]||\"0\",majorVersion:t[4]||t[2]||\"0\",platform:i[0]||\"\"},r={};if(a.browser){r[a.browser]=!0;var s=a.majorVersion.split(\".\");r.version={major:parseInt(a.majorVersion,10),string:a.version},s.length>1&&(r.version.minor=parseInt(s[1],10)),s.length>2&&(r.version.build=parseInt(s[2],10))}if(a.platform&&(r[a.platform]=!0),(r.chrome||r.opr||r.safari)&&(r.webkit=!0),r.rv||r.iemobile){r.rv&&delete r.rv;a.browser=\"msie\",r.msie=!0}if(r.edge){delete r.edge;a.browser=\"msedge\",r.msedge=!0}if(r.opr){a.browser=\"opera\",r.opera=!0}if(r.safari&&r.android){a.browser=\"android\",r.android=!0}for(var o in r.name=a.browser,r.platform=a.platform,n)n.hasOwnProperty(o)&&delete n[o];Object.assign(n,r)}(),t.a=n},function(e,t,i){\"use strict\";t.a={OK:\"OK\",FORMAT_ERROR:\"FormatError\",FORMAT_UNSUPPORTED:\"FormatUnsupported\",CODEC_UNSUPPORTED:\"CodecUnsupported\"}},function(e,t,i){\"use strict\";var n,a=\"object\"==typeof Reflect?Reflect:null,r=a&&\"function\"==typeof a.apply?a.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};n=a&&\"function\"==typeof a.ownKeys?a.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(i,n){function a(i){e.removeListener(t,r),n(i)}function r(){\"function\"==typeof e.removeListener&&e.removeListener(\"error\",a),i([].slice.call(arguments))}g(e,t,r,{once:!0}),\"error\"!==t&&function(e,t,i){\"function\"==typeof e.on&&g(e,\"error\",t,i)}(e,a,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var d=10;function _(e){if(\"function\"!=typeof e)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}function h(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,i,n){var a,r,s,o;if(_(i),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit(\"newListener\",t,i.listener?i.listener:i),r=e._events),s=r[t]),void 0===s)s=r[t]=i,++e._eventsCount;else if(\"function\"==typeof s?s=r[t]=n?[i,s]:[s,i]:n?s.unshift(i):s.push(i),(a=h(e))>0&&s.length>a&&!s.warned){s.warned=!0;var d=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");d.name=\"MaxListenersExceededWarning\",d.emitter=e,d.type=t,d.count=s.length,o=d,console&&console.warn&&console.warn(o)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},a=u.bind(n);return a.listener=i,n.wrapFn=a,a}function f(e,t,i){var n=e._events;if(void 0===n)return[];var a=n[t];return void 0===a?[]:\"function\"==typeof a?i?[a.listener||a]:[a]:i?function(e){for(var t=new Array(e.length),i=0;i0&&(s=t[0]),s instanceof Error)throw s;var o=new Error(\"Unhandled error.\"+(s?\" (\"+s.message+\")\":\"\"));throw o.context=s,o}var d=a[e];if(void 0===d)return!1;if(\"function\"==typeof d)r(d,this,t);else{var _=d.length,h=m(d,_);for(i=0;i<_;++i)r(h[i],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(this,e,t,!0)},o.prototype.once=function(e,t){return _(t),this.on(e,l(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return _(t),this.prependListener(e,l(this,e,t)),this},o.prototype.removeListener=function(e,t){var i,n,a,r,s;if(_(t),void 0===(n=this._events))return this;if(void 0===(i=n[e]))return this;if(i===t||i.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit(\"removeListener\",e,i.listener||t));else if(\"function\"!=typeof i){for(a=-1,r=i.length-1;r>=0;r--)if(i[r]===t||i[r].listener===t){s=i[r].listener,a=r;break}if(a<0)return this;0===a?i.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,i){\"use strict\";i.d(t,\"d\",(function(){return n})),i.d(t,\"b\",(function(){return a})),i.d(t,\"a\",(function(){return r})),i.d(t,\"c\",(function(){return s}));var n=function(e,t,i,n,a){this.dts=e,this.pts=t,this.duration=i,this.originalDts=n,this.isSyncPoint=a,this.fileposition=null},a=function(){function e(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return e.prototype.appendSyncPoint=function(e){e.isSyncPoint=!0,this.syncPoints.push(e)},e}(),r=function(){function e(){this._list=[]}return e.prototype.clear=function(){this._list=[]},e.prototype.appendArray=function(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts=t[a].dts&&et[n].lastSample.originalDts&&e=t[n].lastSample.originalDts&&(n===t.length-1||n0&&(a=this._searchNearestSegmentBefore(i.originalBeginDts)+1),this._lastAppendLocation=a,this._list.splice(a,0,i)},e.prototype.getLastSegmentBefore=function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null},e.prototype.getLastSampleBefore=function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null},e.prototype.getLastSyncPointBefore=function(e){for(var t=this._searchNearestSegmentBefore(e),i=this._list[t].syncPoints;0===i.length&&t>0;)t--,i=this._list[t].syncPoints;return i.length>0?i[i.length-1]:null},e}()},function(e,t,i){\"use strict\";var n=function(){function e(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return e.prototype.isComplete=function(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&e&&t},e.prototype.isSeekable=function(){return!0===this.hasKeyframesIndex},e.prototype.getNearestKeyframe=function(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,i=this._search(t.times,e);return{index:i,milliseconds:t.times[i],fileposition:t.filepositions[i]}},e.prototype._search=function(e,t){var i=0,n=e.length-1,a=0,r=0,s=n;for(t=e[a]&&t0){var i=e.getConfig();t.emit(\"change\",i)}},e.registerListener=function(t){e.emitter.addListener(\"change\",t)},e.removeListener=function(t){e.emitter.removeListener(\"change\",t)},e.addLogListener=function(t){r.a.emitter.addListener(\"log\",t),r.a.emitter.listenerCount(\"log\")>0&&(r.a.ENABLE_CALLBACK=!0,e._notifyChange())},e.removeLogListener=function(t){r.a.emitter.removeListener(\"log\",t),0===r.a.emitter.listenerCount(\"log\")&&(r.a.ENABLE_CALLBACK=!1,e._notifyChange())},e}();s.emitter=new a.a,t.a=s},function(e,t,i){\"use strict\";var n=i(6),a=i.n(n),r=i(0),s=i(4),o=i(8);function d(e,t,i){var n=e;if(t+i=128){t.push(String.fromCharCode(65535&r)),n+=2;continue}}else if(i[n]<240){if(d(i,n,2))if((r=(15&i[n])<<12|(63&i[n+1])<<6|63&i[n+2])>=2048&&55296!=(63488&r)){t.push(String.fromCharCode(65535&r)),n+=3;continue}}else if(i[n]<248){var r;if(d(i,n,3))if((r=(7&i[n])<<18|(63&i[n+1])<<12|(63&i[n+2])<<6|63&i[n+3])>65536&&r<1114112){r-=65536,t.push(String.fromCharCode(r>>>10|55296)),t.push(String.fromCharCode(1023&r|56320)),n+=4;continue}}t.push(String.fromCharCode(65533)),++n}return t.join(\"\")},c=i(3),u=(_=new ArrayBuffer(2),new DataView(_).setInt16(0,256,!0),256===new Int16Array(_)[0]),l=function(){function e(){}return e.parseScriptData=function(t,i,n){var a={};try{var s=e.parseValue(t,i,n),o=e.parseValue(t,i+s.size,n-s.size);a[s.data]=o.data}catch(e){r.a.e(\"AMF\",e.toString())}return a},e.parseObject=function(t,i,n){if(n<3)throw new c.a(\"Data not enough when parse ScriptDataObject\");var a=e.parseString(t,i,n),r=e.parseValue(t,i+a.size,n-a.size),s=r.objectEnd;return{data:{name:a.data,value:r.data},size:a.size+r.size,objectEnd:s}},e.parseVariable=function(t,i,n){return e.parseObject(t,i,n)},e.parseString=function(e,t,i){if(i<2)throw new c.a(\"Data not enough when parse String\");var n=new DataView(e,t,i).getUint16(0,!u);return{data:n>0?h(new Uint8Array(e,t+2,n)):\"\",size:2+n}},e.parseLongString=function(e,t,i){if(i<4)throw new c.a(\"Data not enough when parse LongString\");var n=new DataView(e,t,i).getUint32(0,!u);return{data:n>0?h(new Uint8Array(e,t+4,n)):\"\",size:4+n}},e.parseDate=function(e,t,i){if(i<10)throw new c.a(\"Data size invalid when parse Date\");var n=new DataView(e,t,i),a=n.getFloat64(0,!u),r=n.getInt16(8,!u);return{data:new Date(a+=60*r*1e3),size:10}},e.parseValue=function(t,i,n){if(n<1)throw new c.a(\"Data not enough when parse Value\");var a,s=new DataView(t,i,n),o=1,d=s.getUint8(0),_=!1;try{switch(d){case 0:a=s.getFloat64(1,!u),o+=8;break;case 1:a=!!s.getUint8(1),o+=1;break;case 2:var h=e.parseString(t,i+1,n-1);a=h.data,o+=h.size;break;case 3:a={};var l=0;for(9==(16777215&s.getUint32(n-4,!u))&&(l=3);o32)throw new c.b(\"ExpGolomb: readBits() bits exceeded max 32bits!\");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var i=this._current_word_bits_left?this._current_word:0;i>>>=32-this._current_word_bits_left;var n=e-this._current_word_bits_left;this._fillCurrentWord();var a=Math.min(n,this._current_word_bits_left),r=this._current_word>>>32-a;return this._current_word<<=a,this._current_word_bits_left-=a,i=i<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()},e.prototype.readUEG=function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1},e.prototype.readSEG=function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)},e}(),p=function(){function e(){}return e._ebsp2rbsp=function(e){for(var t=e,i=t.byteLength,n=new Uint8Array(i),a=0,r=0;r=2&&3===t[r]&&0===t[r-1]&&0===t[r-2]||(n[a]=t[r],a++);return new Uint8Array(n.buffer,0,a)},e.parseSPS=function(t){for(var i=t.subarray(1,4),n=\"avc1.\",a=0;a<3;a++){var r=i[a].toString(16);r.length<2&&(r=\"0\"+r),n+=r}var s=e._ebsp2rbsp(t),o=new f(s);o.readByte();var d=o.readByte();o.readByte();var _=o.readByte();o.readUEG();var h=e.getProfileString(d),c=e.getLevelString(_),u=1,l=420,p=8,m=8;if((100===d||110===d||122===d||244===d||44===d||83===d||86===d||118===d||128===d||138===d||144===d)&&(3===(u=o.readUEG())&&o.readBits(1),u<=3&&(l=[0,420,422,444][u]),p=o.readUEG()+8,m=o.readUEG()+8,o.readBits(1),o.readBool()))for(var g=3!==u?8:12,v=0;v0&&M<16?(D=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][M-1],C=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][M-1]):255===M&&(D=o.readByte()<<8|o.readByte(),C=o.readByte()<<8|o.readByte())}if(o.readBool()&&o.readBool(),o.readBool()&&(o.readBits(4),o.readBool()&&o.readBits(24)),o.readBool()&&(o.readUEG(),o.readUEG()),o.readBool()){var x=o.readBits(32),U=o.readBits(32);I=o.readBool(),B=(O=U)/(P=2*x)}}var N=1;1===D&&1===C||(N=D/C);var G=0,V=0;0===u?(G=1,V=2-R):(G=3===u?1:2,V=(1===u?2:1)*(2-R));var F=16*(E+1),j=16*(A+1)*(2-R);F-=(T+L)*G,j-=(w+k)*V;var z=Math.ceil(F*N);return o.destroy(),o=null,{codec_mimetype:n,profile_idc:d,level_idc:_,profile_string:h,level_string:c,chroma_format_idc:u,bit_depth:p,bit_depth_luma:p,bit_depth_chroma:m,ref_frames:S,chroma_format:l,chroma_format_string:e.getChromaFormatString(l),frame_rate:{fixed:I,fps:B,fps_den:P,fps_num:O},sar_ratio:{width:D,height:C},codec_size:{width:F,height:j},present_size:{width:z,height:j}}},e._skipScalingList=function(e,t){for(var i=8,n=8,a=0;a=2&&3===t[r]&&0===t[r-1]&&0===t[r-2]||(n[a]=t[r],a++);return new Uint8Array(n.buffer,0,a)},e.parseVPS=function(t){var i=e._ebsp2rbsp(t),n=new f(i);n.readByte(),n.readByte();n.readBits(4);n.readBits(2);n.readBits(6);return{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n.readBool()}},e.parseSPS=function(t){var i=e._ebsp2rbsp(t),n=new f(i);n.readByte(),n.readByte();for(var a=0,r=0,s=0,o=0,d=(n.readBits(4),n.readBits(3)),_=(n.readBool(),n.readBits(2)),h=n.readBool(),c=n.readBits(5),u=n.readByte(),l=n.readByte(),p=n.readByte(),m=n.readByte(),g=n.readByte(),v=n.readByte(),y=n.readByte(),b=n.readByte(),S=n.readByte(),E=n.readByte(),A=n.readByte(),R=[],T=[],L=0;L0)for(L=d;L<8;L++)n.readBits(2);for(L=0;L1&&n.readSEG();for(L=0;L0&&Q<=16?(W=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][Q-1],X=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][Q-1]):255===Q&&(W=n.readBits(16),X=n.readBits(16))}if(n.readBool()&&n.readBool(),n.readBool())n.readBits(3),n.readBool(),n.readBool()&&(n.readByte(),n.readByte(),n.readByte());n.readBool()&&(n.readUEG(),n.readUEG());n.readBool(),n.readBool(),n.readBool();if(n.readBool()&&(n.readUEG(),n.readUEG(),n.readUEG(),n.readUEG()),n.readBool())if(J=n.readBits(32),Z=n.readBits(32),n.readBool())if(n.readUEG(),n.readBool()){var $=!1,ee=!1,te=!1;if($=n.readBool(),ee=n.readBool(),$||ee){(te=n.readBool())&&(n.readByte(),n.readBits(5),n.readBool(),n.readBits(5));n.readBits(4),n.readBits(4);te&&n.readBits(4),n.readBits(5),n.readBits(5),n.readBits(5)}for(L=0;L<=d;L++){var ie=n.readBool();Y=ie;var ne=!1,ae=1;ie||(ne=n.readBool());var re=!1;if(ne?n.readSEG():re=n.readBool(),re||(ae=n.readUEG()+1),$)for(V=0;V>>2!=0,s=0!=(1&t[4]),o=(n=t)[a=5]<<24|n[a+1]<<16|n[a+2]<<8|n[a+3];return o<9?i:{match:!0,consumed:o,dataOffset:o,hasAudioTrack:r,hasVideoTrack:s}},e.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},Object.defineProperty(e.prototype,\"onTrackMetadata\",{get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMediaInfo\",{get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMetaDataArrived\",{get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onScriptDataArrived\",{get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onError\",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDataAvailable\",{get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"timestampBase\",{get:function(){return this._timestampBase},set:function(e){this._timestampBase=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"overridedDuration\",{get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"overridedHasAudio\",{set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"overridedHasVideo\",{set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e},enumerable:!1,configurable:!0}),e.prototype.resetMediaInfo=function(){this._mediaInfo=new o.a},e.prototype._isInitialMetadataDispatched=function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched},e.prototype.parseChunks=function(t,i){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new c.a(\"Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified\");var n=0,a=this._littleEndian;if(0===i){if(!(t.byteLength>13))return 0;n=e.probe(t).dataOffset}this._firstParse&&(this._firstParse=!1,i+n!==this._dataOffset&&r.a.w(this.TAG,\"First time parsing but chunk byteStart invalid!\"),0!==(s=new DataView(t,n)).getUint32(0,!a)&&r.a.w(this.TAG,\"PrevTagSize0 !== 0 !!!\"),n+=4);for(;nt.byteLength)break;var o=s.getUint8(0),d=16777215&s.getUint32(0,!a);if(n+11+d+4>t.byteLength)break;if(8===o||9===o||18===o){var _=s.getUint8(4),h=s.getUint8(5),u=s.getUint8(6)|h<<8|_<<16|s.getUint8(7)<<24;0!==(16777215&s.getUint32(7,!a))&&r.a.w(this.TAG,\"Meet tag which has StreamID != 0!\");var l=n+11;switch(o){case 8:this._parseAudioData(t,l,d,u);break;case 9:this._parseVideoData(t,l,d,u,i+n);break;case 18:this._parseScriptData(t,l,d)}var f=s.getUint32(11+d,!a);f!==11+d&&r.a.w(this.TAG,\"Invalid PrevTagSize \"+f),n+=11+d+4}else r.a.w(this.TAG,\"Unsupported tag type \"+o+\", skipped\"),n+=11+d+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),n},e.prototype._parseScriptData=function(e,t,i){var n=l.parseScriptData(e,t,i);if(n.hasOwnProperty(\"onMetaData\")){if(null==n.onMetaData||\"object\"!=typeof n.onMetaData)return void r.a.w(this.TAG,\"Invalid onMetaData structure!\");this._metadata&&r.a.w(this.TAG,\"Found another onMetaData tag!\"),this._metadata=n;var a=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},a)),\"boolean\"==typeof a.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=a.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),\"boolean\"==typeof a.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=a.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),\"number\"==typeof a.audiodatarate&&(this._mediaInfo.audioDataRate=a.audiodatarate),\"number\"==typeof a.videodatarate&&(this._mediaInfo.videoDataRate=a.videodatarate),\"number\"==typeof a.width&&(this._mediaInfo.width=a.width),\"number\"==typeof a.height&&(this._mediaInfo.height=a.height),\"number\"==typeof a.duration){if(!this._durationOverrided){var s=Math.floor(a.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if(\"number\"==typeof a.framerate){var o=Math.floor(1e3*a.framerate);if(o>0){var d=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=d,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=d}}if(\"object\"==typeof a.keyframes){this._mediaInfo.hasKeyframesIndex=!0;var _=a.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(_),a.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=a,r.a.v(this.TAG,\"Parsed onMetaData\"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(n).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},n))},e.prototype._parseKeyframesIndex=function(e){for(var t=[],i=[],n=1;n>>4;if(2===s||10===s){var o=0,d=(12&a)>>>2;if(d>=0&&d<=4){o=this._flvSoundRateTable[d];var _=1&a,h=this._audioMetadata,c=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),(h=this._audioMetadata={}).type=\"audio\",h.id=c.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===_?1:2),10===s){var u=this._parseAACAudioData(e,t+1,i-1);if(null==u)return;if(0===u.packetType){if(h.config){if(S(u.data.config,h.config))return;r.a.w(this.TAG,\"AudioSpecificConfig has been changed, re-generate initialization segment\")}var l=u.data;h.audioSampleRate=l.samplingRate,h.channelCount=l.channelCount,h.codec=l.codec,h.originalCodec=l.originalCodec,h.config=l.config,h.refSampleDuration=1024/h.audioSampleRate*h.timescale,r.a.v(this.TAG,\"Parsed AudioSpecificConfig\"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata(\"audio\",h),(g=this._mediaInfo).audioCodec=h.originalCodec,g.audioSampleRate=h.audioSampleRate,g.audioChannelCount=h.channelCount,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs=\"'+g.videoCodec+\",\"+g.audioCodec+'\"'):g.mimeType='video/x-flv; codecs=\"'+g.audioCodec+'\"',g.isComplete()&&this._onMediaInfo(g)}else if(1===u.packetType){var f=this._timestampBase+n,p={unit:u.data,length:u.data.byteLength,dts:f,pts:f};c.samples.push(p),c.length+=u.data.length}else r.a.e(this.TAG,\"Flv: Unsupported AAC data type \"+u.packetType)}else if(2===s){if(!h.codec){var g;if(null==(l=this._parseMP3AudioData(e,t+1,i-1,!0)))return;h.audioSampleRate=l.samplingRate,h.channelCount=l.channelCount,h.codec=l.codec,h.originalCodec=l.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,r.a.v(this.TAG,\"Parsed MPEG Audio Frame Header\"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata(\"audio\",h),(g=this._mediaInfo).audioCodec=h.codec,g.audioSampleRate=h.audioSampleRate,g.audioChannelCount=h.channelCount,g.audioDataRate=l.bitRate,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs=\"'+g.videoCodec+\",\"+g.audioCodec+'\"'):g.mimeType='video/x-flv; codecs=\"'+g.audioCodec+'\"',g.isComplete()&&this._onMediaInfo(g)}var v=this._parseMP3AudioData(e,t+1,i-1,!1);if(null==v)return;f=this._timestampBase+n;var y={unit:v,length:v.byteLength,dts:f,pts:f};c.samples.push(y),c.length+=v.length}}else this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid audio sample rate idx: \"+d)}else this._onError(m.a.CODEC_UNSUPPORTED,\"Flv: Unsupported audio codec idx: \"+s)}},e.prototype._parseAACAudioData=function(e,t,i){if(!(i<=1)){var n={},a=new Uint8Array(e,t,i);return n.packetType=a[0],0===a[0]?n.data=this._parseAACAudioSpecificConfig(e,t+1,i-1):n.data=a.subarray(1),n}r.a.w(this.TAG,\"Flv: Invalid AAC packet, missing AACPacketType or/and Data!\")},e.prototype._parseAACAudioSpecificConfig=function(e,t,i){var n,a,r=new Uint8Array(e,t,i),s=null,o=0,d=null;if(o=n=r[0]>>>3,(a=(7&r[0])<<1|r[1]>>>7)<0||a>=this._mpegSamplingRates.length)this._onError(m.a.FORMAT_ERROR,\"Flv: AAC invalid sampling frequency index!\");else{var _=this._mpegSamplingRates[a],h=(120&r[1])>>>3;if(!(h<0||h>=8)){5===o&&(d=(7&r[1])<<1|r[2]>>>7,(124&r[2])>>>2);var c=self.navigator.userAgent.toLowerCase();return-1!==c.indexOf(\"firefox\")?a>=6?(o=5,s=new Array(4),d=a-3):(o=2,s=new Array(2),d=a):-1!==c.indexOf(\"android\")?(o=2,s=new Array(2),d=a):(o=5,d=a,s=new Array(4),a>=6?d=a-3:1===h&&(o=2,s=new Array(2),d=a)),s[0]=o<<3,s[0]|=(15&a)>>>1,s[1]=(15&a)<<7,s[1]|=(15&h)<<3,5===o&&(s[1]|=(15&d)>>>1,s[2]=(1&d)<<7,s[2]|=8,s[3]=0),{config:s,samplingRate:_,channelCount:h,codec:\"mp4a.40.\"+o,originalCodec:\"mp4a.40.\"+n}}this._onError(m.a.FORMAT_ERROR,\"Flv: AAC invalid channel configuration\")}},e.prototype._parseMP3AudioData=function(e,t,i,n){if(!(i<4)){this._littleEndian;var a=new Uint8Array(e,t,i),s=null;if(n){if(255!==a[0])return;var o=a[1]>>>3&3,d=(6&a[1])>>1,_=(240&a[2])>>>4,h=(12&a[2])>>>2,c=3!==(a[3]>>>6&3)?2:1,u=0,l=0;switch(o){case 0:u=this._mpegAudioV25SampleRateTable[h];break;case 2:u=this._mpegAudioV20SampleRateTable[h];break;case 3:u=this._mpegAudioV10SampleRateTable[h]}switch(d){case 1:34,_>>4;if(0!=(128&s)){var d=15&s,_=String.fromCharCode.apply(String,new Uint8Array(e,t,i).slice(1,5));if(\"hvc1\"!==_)return void this._onError(m.a.CODEC_UNSUPPORTED,\"Flv: Unsupported codec in video frame: \"+_);this._parseEnhancedHEVCVideoPacket(e,t+5,i-5,n,a,o,d)}else{var h=15&s;if(7===h)this._parseAVCVideoPacket(e,t+1,i-1,n,a,o);else{if(12!==h)return void this._onError(m.a.CODEC_UNSUPPORTED,\"Flv: Unsupported codec in video frame: \"+h);this._parseHEVCVideoPacket(e,t+1,i-1,n,a,o)}}}},e.prototype._parseAVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.a.w(this.TAG,\"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime\");else{var o=this._littleEndian,d=new DataView(e,t,i),_=d.getUint8(0),h=(16777215&d.getUint32(0,!o))<<8>>8;if(0===_)this._parseAVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===_)this._parseAVCVideoData(e,t+4,i-4,n,a,s,h);else if(2!==_)return void this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid video packet type \"+_)}},e.prototype._parseHEVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.a.w(this.TAG,\"Flv: Invalid HEVC packet, missing HEVCPacketType or/and CompositionTime\");else{var o=this._littleEndian,d=new DataView(e,t,i),_=d.getUint8(0),h=(16777215&d.getUint32(0,!o))<<8>>8;if(0===_)this._parseHEVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===_)this._parseHEVCVideoData(e,t+4,i-4,n,a,s,h);else if(2!==_)return void this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid video packet type \"+_)}},e.prototype._parseEnhancedHEVCVideoPacket=function(e,t,i,n,a,s,o){if(i<4)r.a.w(this.TAG,\"Flv: Invalid HEVC packet, missing HEVCPacketType or/and CompositionTime\");else{var d=this._littleEndian,_=new DataView(e,t,i);if(0===o)this._parseHEVCDecoderConfigurationRecord(e,t,i);else if(1===o){var h=(4294967040&_.getUint32(0,!d))>>8;this._parseHEVCVideoData(e,t+3,i-3,n,a,s,h)}else if(3===o)this._parseHEVCVideoData(e,t,i,n,a,s,0);else if(2!==o)return void this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid video packet type \"+o)}},e.prototype._parseAVCDecoderConfigurationRecord=function(e,t,i){if(i<7)r.a.w(this.TAG,\"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!\");else{var n=this._videoMetadata,a=this._videoTrack,s=this._littleEndian,o=new DataView(e,t,i);if(n){if(void 0!==n.avcc){var d=new Uint8Array(e,t,i);if(S(d,n.avcc))return;r.a.w(this.TAG,\"AVCDecoderConfigurationRecord has been changed, re-generate initialization segment\")}}else!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type=\"video\",n.id=a.id,n.timescale=this._timescale,n.duration=this._duration;var _=o.getUint8(0),h=o.getUint8(1);o.getUint8(2),o.getUint8(3);if(1===_&&0!==h)if(this._naluLengthSize=1+(3&o.getUint8(4)),3===this._naluLengthSize||4===this._naluLengthSize){var c=31&o.getUint8(5);if(0!==c){c>1&&r.a.w(this.TAG,\"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = \"+c);for(var u=6,l=0;l1&&r.a.w(this.TAG,\"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = \"+w),u++;for(l=0;l=i){r.a.w(this.TAG,\"Malformed Nalu near timestamp \"+f+\", offset = \"+u+\", dataSize = \"+i);break}var m=_.getUint32(u,!d);if(3===l&&(m>>>=8),m>i-l)return void r.a.w(this.TAG,\"Malformed Nalus near timestamp \"+f+\", NaluSize > DataSize!\");var g=31&_.getUint8(u+l);5===g&&(p=!0);var v=new Uint8Array(e,t+u,l+m),y={type:g,data:v};h.push(y),c+=v.byteLength,u+=l+m}if(h.length){var b=this._videoTrack,S={units:h,length:c,isKeyframe:p,dts:f,cts:o,pts:f+o};p&&(S.fileposition=a),b.samples.push(S),b.length+=c}},e.prototype._parseHEVCVideoData=function(e,t,i,n,a,s,o){for(var d=this._littleEndian,_=new DataView(e,t,i),h=[],c=0,u=0,l=this._naluLengthSize,f=this._timestampBase+n,p=1===s;u=i){r.a.w(this.TAG,\"Malformed Nalu near timestamp \"+f+\", offset = \"+u+\", dataSize = \"+i);break}var m=_.getUint32(u,!d);if(3===l&&(m>>>=8),m>i-l)return void r.a.w(this.TAG,\"Malformed Nalus near timestamp \"+f+\", NaluSize > DataSize!\");var g=31&_.getUint8(u+l);19!==g&&20!==g||(p=!0);var v=new Uint8Array(e,t+u,l+m),y={type:g,data:v};h.push(y),c+=v.byteLength,u+=l+m}if(h.length){var b=this._videoTrack,S={units:h,length:c,isKeyframe:p,dts:f,cts:o,pts:f+o};p&&(S.fileposition=a),b.samples.push(S),b.length+=c}},e}(),R=function(){function e(){}return e.prototype.destroy=function(){this.onError=null,this.onMediaInfo=null,this.onMetaDataArrived=null,this.onTrackMetadata=null,this.onDataAvailable=null,this.onTimedID3Metadata=null,this.onSMPTE2038Metadata=null,this.onSCTE35Metadata=null,this.onPESPrivateData=null,this.onPESPrivateDataDescriptor=null},e}(),T=function(){this.program_pmt_pid={}};!function(e){e[e.kMPEG1Audio=3]=\"kMPEG1Audio\",e[e.kMPEG2Audio=4]=\"kMPEG2Audio\",e[e.kPESPrivateData=6]=\"kPESPrivateData\",e[e.kADTSAAC=15]=\"kADTSAAC\",e[e.kLOASAAC=17]=\"kLOASAAC\",e[e.kAC3=129]=\"kAC3\",e[e.kID3=21]=\"kID3\",e[e.kSCTE35=134]=\"kSCTE35\",e[e.kH264=27]=\"kH264\",e[e.kH265=36]=\"kH265\"}(E||(E={}));var L,w=function(){this.pid_stream_type={},this.common_pids={h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,mp3:void 0},this.pes_private_data_pids={},this.timed_id3_pids={},this.scte_35_pids={},this.smpte2038_pids={}},k=function(){},D=function(){},C=function(){this.slices=[],this.total_length=0,this.expected_length=0,this.file_position=0};!function(e){e[e.kUnspecified=0]=\"kUnspecified\",e[e.kSliceNonIDR=1]=\"kSliceNonIDR\",e[e.kSliceDPA=2]=\"kSliceDPA\",e[e.kSliceDPB=3]=\"kSliceDPB\",e[e.kSliceDPC=4]=\"kSliceDPC\",e[e.kSliceIDR=5]=\"kSliceIDR\",e[e.kSliceSEI=6]=\"kSliceSEI\",e[e.kSliceSPS=7]=\"kSliceSPS\",e[e.kSlicePPS=8]=\"kSlicePPS\",e[e.kSliceAUD=9]=\"kSliceAUD\",e[e.kEndOfSequence=10]=\"kEndOfSequence\",e[e.kEndOfStream=11]=\"kEndOfStream\",e[e.kFiller=12]=\"kFiller\",e[e.kSPSExt=13]=\"kSPSExt\",e[e.kReserved0=14]=\"kReserved0\"}(L||(L={}));var B,I,O=function(){},P=function(e){var t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)},M=function(){function e(e){this.TAG=\"H264AnnexBParser\",this.current_startcode_offset_=0,this.eof_flag_=!1,this.data_=e,this.current_startcode_offset_=this.findNextStartCodeOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not find H264 startcode until payload end!\")}return e.prototype.findNextStartCodeOffset=function(e){for(var t=e,i=this.data_;;){if(t+3>=i.byteLength)return this.eof_flag_=!0,i.byteLength;var n=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],a=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===n||1===a)return t;t++}},e.prototype.readNextNaluPayload=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_startcode_offset_,n=31&e[i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3],a=(128&e[i])>>>7,r=this.findNextStartCodeOffset(i);if(this.current_startcode_offset_=r,!(n>=L.kReserved0)&&0===a){var s=e.subarray(i,r);(t=new O).type=n,t.data=s}}return t},e}(),x=function(){function e(e,t,i){var n=8+e.byteLength+1+2+t.byteLength,a=!1;66!==e[3]&&77!==e[3]&&88!==e[3]&&(a=!0,n+=4);var r=this.data=new Uint8Array(n);r[0]=1,r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=255,r[5]=225;var s=e.byteLength;r[6]=s>>>8,r[7]=255&s;var o=8;r.set(e,8),r[o+=s]=1;var d=t.byteLength;r[o+1]=d>>>8,r[o+2]=255&d,r.set(t,o+3),o+=3+d,a&&(r[o]=252|i.chroma_format_idc,r[o+1]=248|i.bit_depth_luma-8,r[o+2]=248|i.bit_depth_chroma-8,r[o+3]=0,o+=4)}return e.prototype.getData=function(){return this.data},e}();!function(e){e[e.kNull=0]=\"kNull\",e[e.kAACMain=1]=\"kAACMain\",e[e.kAAC_LC=2]=\"kAAC_LC\",e[e.kAAC_SSR=3]=\"kAAC_SSR\",e[e.kAAC_LTP=4]=\"kAAC_LTP\",e[e.kAAC_SBR=5]=\"kAAC_SBR\",e[e.kAAC_Scalable=6]=\"kAAC_Scalable\",e[e.kLayer1=32]=\"kLayer1\",e[e.kLayer2=33]=\"kLayer2\",e[e.kLayer3=34]=\"kLayer3\"}(B||(B={})),function(e){e[e.k96000Hz=0]=\"k96000Hz\",e[e.k88200Hz=1]=\"k88200Hz\",e[e.k64000Hz=2]=\"k64000Hz\",e[e.k48000Hz=3]=\"k48000Hz\",e[e.k44100Hz=4]=\"k44100Hz\",e[e.k32000Hz=5]=\"k32000Hz\",e[e.k24000Hz=6]=\"k24000Hz\",e[e.k22050Hz=7]=\"k22050Hz\",e[e.k16000Hz=8]=\"k16000Hz\",e[e.k12000Hz=9]=\"k12000Hz\",e[e.k11025Hz=10]=\"k11025Hz\",e[e.k8000Hz=11]=\"k8000Hz\",e[e.k7350Hz=12]=\"k7350Hz\"}(I||(I={}));var U,N,G=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],V=(U=function(e,t){return(U=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}U(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),F=function(){},j=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return V(t,e),t}(F),z=function(){function e(e){this.TAG=\"AACADTSParser\",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not found ADTS syncword until payload end\")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+7>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(4095===(i[t+0]<<8|i[t+1])>>>4)return t;t++}},e.prototype.readNextAACFrame=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_syncword_offset_,n=(8&e[i+1])>>>3,a=(6&e[i+1])>>>1,r=1&e[i+1],s=(192&e[i+2])>>>6,o=(60&e[i+2])>>>2,d=(1&e[i+2])<<2|(192&e[i+3])>>>6,_=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;e[i+6];if(i+_>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var h=1===r?7:9,c=_-h;i+=h;var u=this.findNextSyncwordOffset(i+c);if(this.current_syncword_offset_=u,(0===n||1===n)&&0===a){var l=e.subarray(i,i+c);(t=new F).audio_object_type=s+1,t.sampling_freq_index=o,t.sampling_frequency=G[o],t.channel_config=d,t.data=l}}return t},e.prototype.hasIncompleteData=function(){return this.has_last_incomplete_data},e.prototype.getIncompleteData=function(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null},e}(),H=function(){function e(e){this.TAG=\"AACLOASParser\",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not found LOAS syncword until payload end\")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+1>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(695===(i[t+0]<<3|i[t+1]>>>5))return t;t++}},e.prototype.getLATMValue=function(e){for(var t=e.readBits(2),i=0,n=0;n<=t;n++)i<<=8,i|=e.readByte();return i},e.prototype.readNextAACFrame=function(e){for(var t=this.data_,i=null;null==i&&!this.eof_flag_;){var n=this.current_syncword_offset_,a=(31&t[n+1])<<8|t[n+2];if(n+3+a>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var s=new f(t.subarray(n+3,n+3+a)),o=null;if(s.readBool()){if(null==e){r.a.w(this.TAG,\"StreamMuxConfig Missing\"),this.current_syncword_offset_=this.findNextSyncwordOffset(n+3+a),s.destroy();continue}o=e}else{var d=s.readBool();if(d&&s.readBool()){r.a.e(this.TAG,\"audioMuxVersionA is Not Supported\"),s.destroy();break}if(d&&this.getLATMValue(s),!s.readBool()){r.a.e(this.TAG,\"allStreamsSameTimeFraming zero is Not Supported\"),s.destroy();break}if(0!==s.readBits(6)){r.a.e(this.TAG,\"more than 2 numSubFrames Not Supported\"),s.destroy();break}if(0!==s.readBits(4)){r.a.e(this.TAG,\"more than 2 numProgram Not Supported\"),s.destroy();break}if(0!==s.readBits(3)){r.a.e(this.TAG,\"more than 2 numLayer Not Supported\"),s.destroy();break}var _=d?this.getLATMValue(s):0,h=s.readBits(5);_-=5;var c=s.readBits(4);_-=4;var u=s.readBits(4);_-=4,s.readBits(3),(_-=3)>0&&s.readBits(_);var l=s.readBits(3);if(0!==l){r.a.e(this.TAG,\"frameLengthType = \"+l+\". Only frameLengthType = 0 Supported\"),s.destroy();break}s.readByte();var p=s.readBool();if(p)if(d)this.getLATMValue(s);else{for(var m=0;;){m<<=8;var g=s.readBool();if(m+=s.readByte(),!g)break}console.log(m)}s.readBool()&&s.readByte(),(o=new j).audio_object_type=h,o.sampling_freq_index=c,o.sampling_frequency=G[o.sampling_freq_index],o.channel_config=u,o.other_data_present=p}for(var v=0;;){var y=s.readByte();if(v+=y,255!==y)break}for(var b=new Uint8Array(v),S=0;S=6?(n=5,t=new Array(4),s=a-3):(n=2,t=new Array(2),s=a):-1!==o.indexOf(\"android\")?(n=2,t=new Array(2),s=a):(n=5,s=a,t=new Array(4),a>=6?s=a-3:1===r&&(n=2,t=new Array(2),s=a)),t[0]=n<<3,t[0]|=(15&a)>>>1,t[1]=(15&a)<<7,t[1]|=(15&r)<<3,5===n&&(t[1]|=(15&s)>>>1,t[2]=(1&s)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=G[a],this.channel_count=r,this.codec_mimetype=\"mp4a.40.\"+n,this.original_codec_mimetype=\"mp4a.40.\"+i},K=function(){},W=function(){};!function(e){e[e.kSpliceNull=0]=\"kSpliceNull\",e[e.kSpliceSchedule=4]=\"kSpliceSchedule\",e[e.kSpliceInsert=5]=\"kSpliceInsert\",e[e.kTimeSignal=6]=\"kTimeSignal\",e[e.kBandwidthReservation=7]=\"kBandwidthReservation\",e[e.kPrivateCommand=255]=\"kPrivateCommand\"}(N||(N={}));var X,Y=function(e){var t=e.readBool();return t?(e.readBits(6),{time_specified_flag:t,pts_time:4*e.readBits(31)+e.readBits(2)}):(e.readBits(7),{time_specified_flag:t})},J=function(e){var t=e.readBool();return e.readBits(6),{auto_return:t,duration:4*e.readBits(31)+e.readBits(2)}},Z=function(e,t){var i=t.readBits(8);return e?{component_tag:i}:{component_tag:i,splice_time:Y(t)}},Q=function(e){return{component_tag:e.readBits(8),utc_splice_time:e.readBits(32)}},$=function(e){var t=e.readBits(32),i=e.readBool();e.readBits(7);var n={splice_event_id:t,splice_event_cancel_indicator:i};if(i)return n;if(n.out_of_network_indicator=e.readBool(),n.program_splice_flag=e.readBool(),n.duration_flag=e.readBool(),e.readBits(5),n.program_splice_flag)n.utc_splice_time=e.readBits(32);else{n.component_count=e.readBits(8),n.components=[];for(var a=0;a=i.byteLength)return this.eof_flag_=!0,i.byteLength;var n=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],a=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===n||1===a)return t;t++}},e.prototype.readNextNaluPayload=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_startcode_offset_,n=e[i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3]>>1&63,a=(128&e[i])>>>7,r=this.findNextStartCodeOffset(i);if(this.current_startcode_offset_=r,0===a){var s=e.subarray(i,r);(t=new de).type=n,t.data=s}}return t},e}(),ce=function(){function e(e,t,i,n){var a=23+(5+e.byteLength)+(5+t.byteLength)+(5+i.byteLength),r=this.data=new Uint8Array(a);r[0]=1,r[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,r[2]=n.general_profile_compatibility_flags_1,r[3]=n.general_profile_compatibility_flags_2,r[4]=n.general_profile_compatibility_flags_3,r[5]=n.general_profile_compatibility_flags_4,r[6]=n.general_constraint_indicator_flags_1,r[7]=n.general_constraint_indicator_flags_2,r[8]=n.general_constraint_indicator_flags_3,r[9]=n.general_constraint_indicator_flags_4,r[10]=n.general_constraint_indicator_flags_5,r[11]=n.general_constraint_indicator_flags_6,r[12]=n.general_level_idc,r[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,r[14]=255&n.min_spatial_segmentation_idc,r[15]=252|3&n.parallelismType,r[16]=252|3&n.chroma_format_idc,r[17]=248|7&n.bit_depth_luma_minus8,r[18]=248|7&n.bit_depth_chroma_minus8,r[19]=0,r[20]=0,r[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,r[22]=3,r[23]=128|X.kSliceVPS,r[24]=0,r[25]=1,r[26]=(65280&e.byteLength)>>8,r[27]=(255&e.byteLength)>>0,r.set(e,28),r[23+(5+e.byteLength)+0]=128|X.kSliceSPS,r[23+(5+e.byteLength)+1]=0,r[23+(5+e.byteLength)+2]=1,r[23+(5+e.byteLength)+3]=(65280&t.byteLength)>>8,r[23+(5+e.byteLength)+4]=(255&t.byteLength)>>0,r.set(t,23+(5+e.byteLength)+5),r[23+(5+e.byteLength+5+t.byteLength)+0]=128|X.kSlicePPS,r[23+(5+e.byteLength+5+t.byteLength)+1]=0,r[23+(5+e.byteLength+5+t.byteLength)+2]=1,r[23+(5+e.byteLength+5+t.byteLength)+3]=(65280&i.byteLength)>>8,r[23+(5+e.byteLength+5+t.byteLength)+4]=(255&i.byteLength)>>0,r.set(i,23+(5+e.byteLength+5+t.byteLength)+5)}return e.prototype.getData=function(){return this.data},e}(),ue=function(){},le=function(){},fe=function(){},pe=[[64,64,80,80,96,96,112,112,128,128,160,160,192,192,224,224,256,256,320,320,384,384,448,448,512,512,640,640,768,768,896,896,1024,1024,1152,1152,1280,1280],[69,70,87,88,104,105,121,122,139,140,174,175,208,209,243,244,278,279,348,349,417,418,487,488,557,558,696,697,835,836,975,976,1114,1115,1253,1254,1393,1394],[96,96,120,120,144,144,168,168,192,192,240,240,288,288,336,336,384,384,480,480,576,576,672,672,768,768,960,960,1152,1152,1344,1344,1536,1536,1728,1728,1920,1920]],me=function(){function e(e){this.TAG=\"AC3Parser\",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not found AC3 syncword until payload end\")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+7>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(2935===(i[t+0]<<8|i[t+1]<<0))return t;t++}},e.prototype.readNextAC3Frame=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_syncword_offset_,n=e[i+4]>>6,a=[48e3,44200,33e3][n],r=63&e[i+4],s=2*pe[n][r];if(i+s>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var o=this.findNextSyncwordOffset(i+s);this.current_syncword_offset_=o;var d=e[i+5]>>3,_=7&e[i+5],h=e[i+6]>>5,c=0;0!=(1&h)&&1!==h&&(c+=2),0!=(4&h)&&(c+=2),2===h&&(c+=2);var u=(e[i+6]<<8|e[i+7]<<0)>>12-c&1,l=[2,1,2,3,3,4,4,5][h]+u;(t=new fe).sampling_frequency=a,t.channel_count=l,t.channel_mode=h,t.bit_stream_identification=d,t.low_frequency_effects_channel_on=u,t.bit_stream_mode=_,t.frame_size_code=r,t.data=e.subarray(i,i+s)}return t},e.prototype.hasIncompleteData=function(){return this.has_last_incomplete_data},e.prototype.getIncompleteData=function(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null},e}(),ge=function(e){var t;t=[e.sampling_rate_code<<6|e.bit_stream_identification<<1|e.bit_stream_mode>>2,(3&e.bit_stream_mode)<<6|e.channel_mode<<3|e.low_frequency_effects_channel_on<<2|e.frame_size_code>>4,e.frame_size_code<<4&224],this.config=t,this.sampling_rate=e.sampling_frequency,this.bit_stream_identification=e.bit_stream_identification,this.bit_stream_mode=e.bit_stream_mode,this.low_frequency_effects_channel_on=e.low_frequency_effects_channel_on,this.channel_count=e.channel_count,this.channel_mode=e.channel_mode,this.codec_mimetype=\"ac-3\",this.original_codec_mimetype=\"ac-3\"},ve=function(){var e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(t,i)};return function(t,i){function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),ye=function(){return(ye=Object.assign||function(e){for(var t,i=1,n=arguments.length;i=4?(r.a.v(\"TSDemuxer\",\"ts_packet_size = 192, m2ts mode\"),i-=4):204===n&&r.a.v(\"TSDemuxer\",\"ts_packet_size = 204, RS encoded MPEG2-TS stream\"),{match:!0,consumed:0,ts_packet_size:n,sync_offset:i})},t.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},t.prototype.resetMediaInfo=function(){this.media_info_=new o.a},t.prototype.parseChunks=function(e,t){if(!(this.onError&&this.onMediaInfo&&this.onTrackMetadata&&this.onDataAvailable))throw new c.a(\"onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified\");var i=0;for(this.first_parse_&&(this.first_parse_=!1,i=this.sync_offset_);i+this.ts_packet_size_<=e.byteLength;){var n=t+i;192===this.ts_packet_size_&&(i+=4);var a=new Uint8Array(e,i,188),s=a[0];if(71!==s){r.a.e(this.TAG,\"sync_byte = \"+s+\", not 0x47\");break}var o=(64&a[1])>>>6,d=(a[1],(31&a[1])<<8|a[2]),_=(48&a[3])>>>4,h=15&a[3],u={},l=4;if(2==_||3==_){var f=a[4];if(5+f===188){i+=188,204===this.ts_packet_size_&&(i+=16);continue}f>0&&(u=this.parseAdaptationField(e,i+4,1+f)),l=5+f}if(1==_||3==_)if(0===d||d===this.current_pmt_pid_||null!=this.pmt_&&this.pmt_.pid_stream_type[d]===E.kSCTE35){var p=188-l;this.handleSectionSlice(e,i+l,p,{pid:d,file_position:n,payload_unit_start_indicator:o,continuity_conunter:h,random_access_indicator:u.random_access_indicator})}else if(null!=this.pmt_&&null!=this.pmt_.pid_stream_type[d]){p=188-l;var m=this.pmt_.pid_stream_type[d];d!==this.pmt_.common_pids.h264&&d!==this.pmt_.common_pids.h265&&d!==this.pmt_.common_pids.adts_aac&&d!==this.pmt_.common_pids.loas_aac&&d!==this.pmt_.common_pids.ac3&&d!==this.pmt_.common_pids.opus&&d!==this.pmt_.common_pids.mp3&&!0!==this.pmt_.pes_private_data_pids[d]&&!0!==this.pmt_.timed_id3_pids[d]||this.handlePESSlice(e,i+l,p,{pid:d,stream_type:m,file_position:n,payload_unit_start_indicator:o,continuity_conunter:h,random_access_indicator:u.random_access_indicator})}i+=188,204===this.ts_packet_size_&&(i+=16)}return this.dispatchAudioVideoMediaSegment(),i},t.prototype.parseAdaptationField=function(e,t,i){var n=new Uint8Array(e,t,i),a=n[0];return a>0?a>183?(r.a.w(this.TAG,\"Illegal adaptation_field_length: \"+a),{}):{discontinuity_indicator:(128&n[1])>>>7,random_access_indicator:(64&n[1])>>>6,elementary_stream_priority_indicator:(32&n[1])>>>5}:{}},t.prototype.handleSectionSlice=function(e,t,i,n){var a=new Uint8Array(e,t,i),r=this.section_slice_queues_[n.pid];if(n.payload_unit_start_indicator){var s=a[0];if(null!=r&&0!==r.total_length){var o=new Uint8Array(e,t+1,Math.min(i,s));r.slices.push(o),r.total_length+=o.byteLength,r.total_length===r.expected_length?this.emitSectionSlices(r,n):this.clearSlices(r,n)}for(var d=1+s;d=r.expected_length&&this.clearSlices(r,n),d+=o.byteLength}}else if(null!=r&&0!==r.total_length){o=new Uint8Array(e,t,Math.min(i,r.expected_length-r.total_length));r.slices.push(o),r.total_length+=o.byteLength,r.total_length===r.expected_length?this.emitSectionSlices(r,n):r.total_length>=r.expected_length&&this.clearSlices(r,n)}},t.prototype.handlePESSlice=function(e,t,i,n){var a=new Uint8Array(e,t,i),s=a[0]<<16|a[1]<<8|a[2],o=(a[3],a[4]<<8|a[5]);if(n.payload_unit_start_indicator){if(1!==s)return void r.a.e(this.TAG,\"handlePESSlice: packet_start_code_prefix should be 1 but with value \"+s);var d=this.pes_slice_queues_[n.pid];d&&(0===d.expected_length||d.expected_length===d.total_length?this.emitPESSlices(d,n):this.clearSlices(d,n)),this.pes_slice_queues_[n.pid]=new C,this.pes_slice_queues_[n.pid].file_position=n.file_position,this.pes_slice_queues_[n.pid].random_access_indicator=n.random_access_indicator}if(null!=this.pes_slice_queues_[n.pid]){var _=this.pes_slice_queues_[n.pid];_.slices.push(a),n.payload_unit_start_indicator&&(_.expected_length=0===o?0:o+6),_.total_length+=a.byteLength,_.expected_length>0&&_.expected_length===_.total_length?this.emitPESSlices(_,n):_.expected_length>0&&_.expected_length<_.total_length&&this.clearSlices(_,n)}},t.prototype.emitSectionSlices=function(e,t){for(var i=new Uint8Array(e.total_length),n=0,a=0;n>>6,o=t[8],d=void 0,_=void 0;2!==s&&3!==s||(d=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,_=3===s?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:d);var h=9+o,c=void 0;if(0!==a){if(a<3+o)return void r.a.v(this.TAG,\"Malformed PES: PES_packet_length < 3 + PES_header_data_length\");c=a-3-o}else c=t.byteLength-h;var u=t.subarray(h,h+c);switch(e.stream_type){case E.kMPEG1Audio:case E.kMPEG2Audio:this.parseMP3Payload(u,d);break;case E.kPESPrivateData:this.pmt_.common_pids.opus===e.pid?this.parseOpusPayload(u,d):this.pmt_.common_pids.ac3===e.pid?this.parseAC3Payload(u,d):this.pmt_.smpte2038_pids[e.pid]?this.parseSMPTE2038MetadataPayload(u,d,_,e.pid,n):this.parsePESPrivateDataPayload(u,d,_,e.pid,n);break;case E.kADTSAAC:this.parseADTSAACPayload(u,d);break;case E.kLOASAAC:this.parseLOASAACPayload(u,d);break;case E.kAC3:this.parseAC3Payload(u,d);break;case E.kID3:this.parseTimedID3MetadataPayload(u,d,_,e.pid,n);break;case E.kH264:this.parseH264Payload(u,d,_,e.file_position,e.random_access_indicator);break;case E.kH265:this.parseH265Payload(u,d,_,e.file_position,e.random_access_indicator)}}else if((188===n||191===n||240===n||241===n||255===n||242===n||248===n)&&e.stream_type===E.kPESPrivateData){h=6,c=void 0;c=0!==a?a:t.byteLength-h;u=t.subarray(h,h+c);this.parsePESPrivateDataPayload(u,void 0,void 0,e.pid,n)}}else r.a.e(this.TAG,\"parsePES: packet_start_code_prefix should be 1 but with value \"+i)},t.prototype.parsePAT=function(e){var t=e[0];if(0===t){var i=(15&e[1])<<8|e[2],n=(e[3],e[4],(62&e[5])>>>1),a=1&e[5],s=e[6],o=(e[7],null);if(1===a&&0===s)(o=new T).version_number=n;else if(null==(o=this.pat_))return;for(var d=i-5-4,_=-1,h=-1,c=8;c<8+d;c+=4){var u=e[c]<<8|e[c+1],l=(31&e[c+2])<<8|e[c+3];0===u?o.network_pid=l:(o.program_pmt_pid[u]=l,-1===_&&(_=u),-1===h&&(h=l))}1===a&&0===s&&(null==this.pat_&&r.a.v(this.TAG,\"Parsed first PAT: \"+JSON.stringify(o)),this.pat_=o,this.current_program_=_,this.current_pmt_pid_=h)}else r.a.e(this.TAG,\"parsePAT: table_id \"+t+\" is not corresponded to PAT!\")},t.prototype.parsePMT=function(e){var t=e[0];if(2===t){var i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],a=(62&e[5])>>>1,s=1&e[5],o=e[6],d=(e[7],null);if(1===s&&0===o)(d=new w).program_number=n,d.version_number=a,this.program_pmt_map_[n]=d;else if(null==(d=this.program_pmt_map_[n]))return;e[8],e[9];for(var _=(15&e[10])<<8|e[11],h=12+_,c=i-9-_-4,u=h;u0){for(var v=u+5;v1&&(r.a.w(this.TAG,\"AAC: Detected pts overlapped, expected: \"+s+\"ms, PES pts: \"+a+\"ms\"),a=s)}}for(var o,d=new z(e),_=null,h=a;null!=(_=d.readNextAACFrame());){n=1024/_.sampling_frequency*1e3;var c={codec:\"aac\",data:_};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:\"aac\",audio_object_type:_.audio_object_type,sampling_freq_index:_.sampling_freq_index,sampling_frequency:_.sampling_frequency,channel_config:_.channel_config},this.dispatchAudioInitSegment(c)):this.detectAudioMetadataChange(c)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(c)),o=h;var u=Math.floor(h),l={unit:_.data,length:_.data.byteLength,pts:u,dts:u};this.audio_track_.samples.push(l),this.audio_track_.length+=_.data.byteLength,h+=n}d.hasIncompleteData()&&(this.aac_last_incomplete_data_=d.getIncompleteData()),o&&(this.aac_last_sample_pts_=o)}},t.prototype.parseLOASAACPayload=function(e,t){var i;if(!this.has_video_||this.video_init_segment_dispatched_){if(this.aac_last_incomplete_data_){var n=new Uint8Array(e.byteLength+this.aac_last_incomplete_data_.byteLength);n.set(this.aac_last_incomplete_data_,0),n.set(e,this.aac_last_incomplete_data_.byteLength),e=n}var a,s;if(null!=t&&(s=t/this.timescale_),\"aac\"===this.audio_metadata_.codec){if(null==t&&null!=this.aac_last_sample_pts_)a=1024/this.audio_metadata_.sampling_frequency*1e3,s=this.aac_last_sample_pts_+a;else if(null==t)return void r.a.w(this.TAG,\"AAC: Unknown pts\");if(this.aac_last_incomplete_data_&&this.aac_last_sample_pts_){a=1024/this.audio_metadata_.sampling_frequency*1e3;var o=this.aac_last_sample_pts_+a;Math.abs(o-s)>1&&(r.a.w(this.TAG,\"AAC: Detected pts overlapped, expected: \"+o+\"ms, PES pts: \"+s+\"ms\"),s=o)}}for(var d,_=new H(e),h=null,c=s;null!=(h=_.readNextAACFrame(null!==(i=this.loas_previous_frame)&&void 0!==i?i:void 0));){this.loas_previous_frame=h,a=1024/h.sampling_frequency*1e3;var u={codec:\"aac\",data:h};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:\"aac\",audio_object_type:h.audio_object_type,sampling_freq_index:h.sampling_freq_index,sampling_frequency:h.sampling_frequency,channel_config:h.channel_config},this.dispatchAudioInitSegment(u)):this.detectAudioMetadataChange(u)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(u)),d=c;var l=Math.floor(c),f={unit:h.data,length:h.data.byteLength,pts:l,dts:l};this.audio_track_.samples.push(f),this.audio_track_.length+=h.data.byteLength,c+=a}_.hasIncompleteData()&&(this.aac_last_incomplete_data_=_.getIncompleteData()),d&&(this.aac_last_sample_pts_=d)}},t.prototype.parseAC3Payload=function(e,t){if(!this.has_video_||this.video_init_segment_dispatched_){var i,n;if(null!=t&&(n=t/this.timescale_),\"ac-3\"===this.audio_metadata_.codec)if(null==t&&null!=this.aac_last_sample_pts_)i=1536/this.audio_metadata_.sampling_frequency*1e3,n=this.aac_last_sample_pts_+i;else if(null==t)return void r.a.w(this.TAG,\"Opus: Unknown pts\");for(var a,s=new me(e),o=null,d=n;null!=(o=s.readNextAC3Frame());){i=1536/o.sampling_frequency*1e3;var _={codec:\"ac-3\",data:o};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:\"ac-3\",sampling_frequency:o.sampling_frequency,bit_stream_identification:o.bit_stream_identification,bit_stream_mode:o.bit_stream_mode,low_frequency_effects_channel_on:o.low_frequency_effects_channel_on,channel_mode:o.channel_mode},console.log(JSON.stringify(this.audio_metadata_)),this.dispatchAudioInitSegment(_)):this.detectAudioMetadataChange(_)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(_)),a=d;var h=Math.floor(d),c={unit:o.data,length:o.data.byteLength,pts:h,dts:h};this.audio_track_.samples.push(c),this.audio_track_.length+=o.data.byteLength,d+=i}a&&(this.aac_last_sample_pts_=a)}},t.prototype.parseOpusPayload=function(e,t){if(!this.has_video_||this.video_init_segment_dispatched_){var i,n;if(null!=t&&(n=t/this.timescale_),\"opus\"===this.audio_metadata_.codec)if(null==t&&null!=this.aac_last_sample_pts_)i=20,n=this.aac_last_sample_pts_+i;else if(null==t)return void r.a.w(this.TAG,\"Opus: Unknown pts\");for(var a,s=n,o=0;o>>3&3,s=(6&e[1])>>1,o=(240&e[2])>>>4,d=(12&e[2])>>>2,_=3!==(e[3]>>>6&3)?2:1,h=0,c=34;switch(r){case 0:h=[11025,12e3,8e3,0][d];break;case 2:h=[22050,24e3,16e3,0][d];break;case 3:h=[44100,48e3,32e3,0][d]}switch(s){case 1:c=34,o>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);var s=8;for(r=0;r>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))},e.trak=function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.tkhd=function(t){var i=t.id,n=t.duration,a=t.presentWidth,r=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,a>>>8&255,255&a,0,0,r>>>8&255,255&r,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))},e.mdhd=function(t){var i=t.timescale,n=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))},e.hdlr=function(t){var i=null;return i=\"audio\"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,i)},e.minf=function(t){var i=null;return i=\"audio\"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,i,e.dinf(),e.stbl(t))},e.dinf=function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))},e.stsd=function(t){return\"audio\"===t.type?\"mp3\"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):\"ac-3\"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.ac3(t)):\"opus\"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.Opus(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):\"video\"===t.type&&t.codec.startsWith(\"hvc1\")?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.hvc1(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))},e.mp3=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[\".mp3\"],a)},e.mp4a=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.mp4a,a,e.esds(t))},e.ac3=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[\"ac-3\"],a,e.box(e.types.dac3,new Uint8Array(t.config)))},e.esds=function(t){var i=t.config||[],n=i.length,a=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n]).concat(i).concat([6,1,2]));return e.box(e.types.esds,a)},e.Opus=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.Opus,a,e.dOps(t))},e.dOps=function(t){var i=t.channelCount,n=t.channelConfigCode,a=t.audioSampleRate;if(t.config)return e.box(e.types.dOps,s);var r=[];switch(n){case 1:case 2:r=[0];break;case 0:r=[255,1,1,0,1];break;case 128:r=[255,2,0,0,1];break;case 3:r=[1,2,1,0,2,1];break;case 4:r=[1,2,2,0,1,2,3];break;case 5:r=[1,3,2,0,4,1,2,3];break;case 6:r=[1,4,2,0,4,1,2,3,5];break;case 7:r=[1,4,2,0,4,1,2,3,5,6];break;case 8:r=[1,5,3,0,6,1,2,3,4,5,7];break;case 130:r=[1,1,2,0,1];break;case 131:r=[1,1,3,0,1,2];break;case 132:r=[1,1,4,0,1,2,3];break;case 133:r=[1,1,5,0,1,2,3,4];break;case 134:r=[1,1,6,0,1,2,3,4,5];break;case 135:r=[1,1,7,0,1,2,3,4,5,6];break;case 136:r=[1,1,8,0,1,2,3,4,5,6,7]}var s=new Uint8Array(Se([0,i,0,0,a>>>24&255,a>>>17&255,a>>>8&255,a>>>0&255,0,0],r));return e.box(e.types.dOps,s)},e.avc1=function(t){var i=t.avcc,n=t.codecWidth,a=t.codecHeight,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,a>>>8&255,255&a,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,r,e.box(e.types.avcC,i))},e.hvc1=function(t){var i=t.hvcc,n=t.codecWidth,a=t.codecHeight,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,a>>>8&255,255&a,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.hvc1,r,e.box(e.types.hvcC,i))},e.mvex=function(t){return e.box(e.types.mvex,e.trex(t))},e.trex=function(t){var i=t.id,n=new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,n)},e.moof=function(t,i){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,i))},e.mfhd=function(t){var i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,i)},e.traf=function(t,i){var n=t.id,a=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),r=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.sdtp(t),o=e.trun(t,s.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,a,r,o,s)},e.sdtp=function(t){for(var i=t.samples||[],n=i.length,a=new Uint8Array(4+n),r=0;r>>24&255,a>>>16&255,a>>>8&255,255&a,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0);for(var o=0;o>>24&255,d>>>16&255,d>>>8&255,255&d,_>>>24&255,_>>>16&255,_>>>8&255,255&_,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.isNonSync,0,0,c>>>24&255,c>>>16&255,c>>>8&255,255&c],12+16*o)}return e.box(e.types.trun,s)},e.mdat=function(t){return e.box(e.types.mdat,t)},e}();Ee.init();var Ae=Ee,Re=function(){function e(){}return e.getSilentFrame=function(e,t){if(\"mp4a.40.2\"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},e}(),Te=i(7),Le=function(){function e(e){this.TAG=\"MP4Remuxer\",this._config=e,this._isLive=!0===e.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new Te.c(\"audio\"),this._videoSegmentInfoList=new Te.c(\"video\"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!s.a.chrome||!(s.a.version.major<50||50===s.a.version.major&&s.a.version.build<2661)),this._fillSilentAfterSeek=s.a.msedge||s.a.msie,this._mp3UseMpegAudio=!s.a.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return e.prototype.destroy=function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null},e.prototype.bindDataSource=function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this},Object.defineProperty(e.prototype,\"onInitSegment\",{get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMediaSegment\",{get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e},enumerable:!1,configurable:!0}),e.prototype.insertDiscontinuity=function(){this._audioNextDts=this._videoNextDts=void 0},e.prototype.seek=function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()},e.prototype.remux=function(e,t){if(!this._onMediaSegment)throw new c.a(\"MP4Remuxer: onMediaSegment callback must be specificed!\");this._dtsBaseInited||this._calculateDtsBase(e,t),t&&this._remuxVideo(t),e&&this._remuxAudio(e)},e.prototype._onTrackMetadataReceived=function(e,t){var i=null,n=\"mp4\",a=t.codec;if(\"audio\"===e)this._audioMeta=t,\"mp3\"===t.codec&&this._mp3UseMpegAudio?(n=\"mpeg\",a=\"\",i=new Uint8Array):i=Ae.generateInitSegment(t);else{if(\"video\"!==e)return;this._videoMeta=t,i=Ae.generateInitSegment(t)}if(!this._onInitSegment)throw new c.a(\"MP4Remuxer: onInitSegment callback must be specified!\");this._onInitSegment(e,{type:e,data:i.buffer,codec:a,container:e+\"/\"+n,mediaDuration:t.duration})},e.prototype._calculateDtsBase=function(e,t){this._dtsBaseInited||(e&&e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t&&t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)},e.prototype.getTimestampBase=function(){if(this._dtsBaseInited)return this._dtsBase},e.prototype.flushStashedSamples=function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,i={type:\"video\",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(i.samples.push(e),i.length=e.length);var n={type:\"audio\",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(n.samples.push(t),n.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(i,!0),this._remuxAudio(n,!0)},e.prototype._remuxAudio=function(e,t){if(null!=this._audioMeta){var i,n=e,a=n.samples,o=void 0,d=-1,_=this._audioMeta.refSampleDuration,h=\"mp3\"===this._audioMeta.codec&&this._mp3UseMpegAudio,c=this._dtsBaseInited&&void 0===this._audioNextDts,u=!1;if(a&&0!==a.length&&(1!==a.length||t)){var l=0,f=null,p=0;h?(l=0,p=n.length):(l=8,p=8+n.length);var m=null;if(a.length>1&&(p-=(m=a.pop()).length),null!=this._audioStashedLastSample){var g=this._audioStashedLastSample;this._audioStashedLastSample=null,a.unshift(g),p+=g.length}null!=m&&(this._audioStashedLastSample=m);var v=a[0].dts-this._dtsBase;if(this._audioNextDts)o=v-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())o=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&\"mp3\"!==this._audioMeta.originalCodec&&(u=!0);else{var y=this._audioSegmentInfoList.getLastSampleBefore(v);if(null!=y){var b=v-(y.originalDts+y.duration);b<=3&&(b=0),o=v-(y.dts+y.duration+b)}else o=0}if(u){var S=v-o,E=this._videoSegmentInfoList.getLastSegmentBefore(v);if(null!=E&&E.beginDts=3*_&&this._fillAudioTimestampGap&&!s.a.safari){D=!0;var O,P=Math.floor(o/_);r.a.w(this.TAG,\"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\\noriginalDts: \"+k+\" ms, curRefDts: \"+I+\" ms, dtsCorrection: \"+Math.round(o)+\" ms, generate: \"+P+\" frames\"),A=Math.floor(I),B=Math.floor(I+_)-A,null==(O=Re.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount))&&(r.a.w(this.TAG,\"Unable to generate silent frame for \"+this._audioMeta.originalCodec+\" with \"+this._audioMeta.channelCount+\" channels, repeat last frame\"),O=w),C=[];for(var M=0;M=1?T[T.length-1].duration:Math.floor(_);this._audioNextDts=A+B}-1===d&&(d=A),T.push({dts:A,pts:A,cts:0,unit:g.unit,size:g.unit.byteLength,duration:B,originalDts:k,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),D&&T.push.apply(T,C)}}if(0===T.length)return n.samples=[],void(n.length=0);h?f=new Uint8Array(p):((f=new Uint8Array(p))[0]=p>>>24&255,f[1]=p>>>16&255,f[2]=p>>>8&255,f[3]=255&p,f.set(Ae.types.mdat,4));for(L=0;L1&&(c-=(u=r.pop()).length),null!=this._videoStashedLastSample){var l=this._videoStashedLastSample;this._videoStashedLastSample=null,r.unshift(l),c+=l.length}null!=u&&(this._videoStashedLastSample=u);var f=r[0].dts-this._dtsBase;if(this._videoNextDts)s=f-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())s=0;else{var p=this._videoSegmentInfoList.getLastSampleBefore(f);if(null!=p){var m=f-(p.originalDts+p.duration);m<=3&&(m=0),s=f-(p.dts+p.duration+m)}else s=0}for(var g=new Te.b,v=[],y=0;y=1?v[v.length-1].duration:Math.floor(this._videoMeta.refSampleDuration);if(S){var L=new Te.d(E,R,T,l.dts,!0);L.fileposition=l.fileposition,g.appendSyncPoint(L)}v.push({dts:E,pts:R,cts:A,units:l.units,size:l.length,isKeyframe:S,duration:T,originalDts:b,flags:{isLeading:0,dependsOn:S?2:1,isDependedOn:S?1:0,hasRedundancy:0,isNonSync:S?0:1}})}(h=new Uint8Array(c))[0]=c>>>24&255,h[1]=c>>>16&255,h[2]=c>>>8&255,h[3]=255&c,h.set(Ae.types.mdat,4);for(y=0;y0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,n=this._demuxer.parseChunks(e,t);else{var a=null;(a=A.probe(e)).match&&(this._setupFLVDemuxerRemuxer(a),n=this._demuxer.parseChunks(e,t)),a.match||a.needMoreData||(a=be.probe(e)).match&&(this._setupTSDemuxerRemuxer(a),n=this._demuxer.parseChunks(e,t)),a.match||a.needMoreData||(a=null,r.a.e(this.TAG,\"Non MPEG-TS/FLV, Unsupported media type!\"),Promise.resolve().then((function(){i._internalAbort()})),this._emitter.emit(ke.a.DEMUX_ERROR,m.a.FORMAT_UNSUPPORTED,\"Non MPEG-TS/FLV, Unsupported media type!\"))}return n},e.prototype._setupFLVDemuxerRemuxer=function(e){this._demuxer=new A(e,this._config),this._remuxer||(this._remuxer=new Le(this._config));var t=this._mediaDataSource;null==t.duration||isNaN(t.duration)||(this._demuxer.overridedDuration=t.duration),\"boolean\"==typeof t.hasAudio&&(this._demuxer.overridedHasAudio=t.hasAudio),\"boolean\"==typeof t.hasVideo&&(this._demuxer.overridedHasVideo=t.hasVideo),this._demuxer.timestampBase=t.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this)},e.prototype._setupTSDemuxerRemuxer=function(e){var t=this._demuxer=new be(e,this._config);this._remuxer||(this._remuxer=new Le(this._config)),t.onError=this._onDemuxException.bind(this),t.onMediaInfo=this._onMediaInfo.bind(this),t.onMetaDataArrived=this._onMetaDataArrived.bind(this),t.onTimedID3Metadata=this._onTimedID3Metadata.bind(this),t.onSMPTE2038Metadata=this._onSMPTE2038Metadata.bind(this),t.onSCTE35Metadata=this._onSCTE35Metadata.bind(this),t.onPESPrivateDataDescriptor=this._onPESPrivateDataDescriptor.bind(this),t.onPESPrivateData=this._onPESPrivateData.bind(this),this._remuxer.bindDataSource(this._demuxer),this._demuxer.bindDataSource(this._ioctl),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this)},e.prototype._onMediaInfo=function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,o.a.prototype));var i=Object.assign({},e);Object.setPrototypeOf(i,o.a.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=i,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then((function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)}))},e.prototype._onMetaDataArrived=function(e){this._emitter.emit(ke.a.METADATA_ARRIVED,e)},e.prototype._onScriptDataArrived=function(e){this._emitter.emit(ke.a.SCRIPTDATA_ARRIVED,e)},e.prototype._onTimedID3Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(ke.a.TIMED_ID3_METADATA_ARRIVED,e))},e.prototype._onSMPTE2038Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.dts&&(e.dts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),this._emitter.emit(ke.a.SMPTE2038_METADATA_ARRIVED,e))},e.prototype._onSCTE35Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),this._emitter.emit(ke.a.SCTE35_METADATA_ARRIVED,e))},e.prototype._onPESPrivateDataDescriptor=function(e){this._emitter.emit(ke.a.PES_PRIVATE_DATA_DESCRIPTOR,e)},e.prototype._onPESPrivateData=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(ke.a.PES_PRIVATE_DATA_ARRIVED,e))},e.prototype._onIOSeeked=function(){this._remuxer.insertDiscontinuity()},e.prototype._onIOComplete=function(e){var t=e+1;t0&&i[0].originalDts===n&&(n=i[0].pts),this._emitter.emit(ke.a.RECOMMEND_SEEKPOINT,n)}},e.prototype._enableStatisticsReporter=function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))},e.prototype._disableStatisticsReporter=function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype._reportSegmentMediaInfo=function(e){var t=this._mediaInfo.segments[e],i=Object.assign({},t);i.duration=this._mediaInfo.duration,i.segmentCount=this._mediaInfo.segmentCount,delete i.segments,delete i.keyframesIndex,this._emitter.emit(ke.a.MEDIA_INFO,i)},e.prototype._reportStatisticsInfo=function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(ke.a.STATISTICS_INFO,e)},e}();t.a=De},function(e,t,i){\"use strict\";var n,a=i(0),r=function(){function e(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return e.prototype.reset=function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0},e.prototype.addBytes=function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())},Object.defineProperty(e.prototype,\"currentKBps\",{get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"lastSecondKBps\",{get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"averageKBps\",{get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024},enumerable:!1,configurable:!0}),e}(),s=i(2),o=i(4),d=i(3),_=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),h=function(e){function t(t,i){var n=e.call(this,\"fetch-stream-loader\")||this;return n.TAG=\"FetchStreamLoader\",n._seekHandler=t,n._config=i,n._needStash=!0,n._requestAbort=!1,n._abortController=null,n._contentLength=null,n._receivedLength=0,n}return _(t,e),t.isSupported=function(){try{var e=o.a.msedge&&o.a.version.minor>=15048,t=!o.a.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){var i=this;this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(n=e.redirectedURL);var a=this._seekHandler.getConfig(n,t),r=new self.Headers;if(\"object\"==typeof a.headers){var o=a.headers;for(var _ in o)o.hasOwnProperty(_)&&r.append(_,o[_])}var h={method:\"GET\",headers:r,mode:\"cors\",cache:\"default\",referrerPolicy:\"no-referrer-when-downgrade\"};if(\"object\"==typeof this._config.headers)for(var _ in this._config.headers)r.append(_,this._config.headers[_]);!1===e.cors&&(h.mode=\"same-origin\"),e.withCredentials&&(h.credentials=\"include\"),e.referrerPolicy&&(h.referrerPolicy=e.referrerPolicy),self.AbortController&&(this._abortController=new self.AbortController,h.signal=this._abortController.signal),this._status=s.c.kConnecting,self.fetch(a.url,h).then((function(e){if(i._requestAbort)return i._status=s.c.kIdle,void e.body.cancel();if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==a.url&&i._onURLRedirect){var t=i._seekHandler.removeURLParameters(e.url);i._onURLRedirect(t)}var n=e.headers.get(\"Content-Length\");return null!=n&&(i._contentLength=parseInt(n),0!==i._contentLength&&i._onContentLengthKnown&&i._onContentLengthKnown(i._contentLength)),i._pump.call(i,e.body.getReader())}if(i._status=s.c.kError,!i._onError)throw new d.d(\"FetchStreamLoader: Http code invalid, \"+e.status+\" \"+e.statusText);i._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})})).catch((function(e){if(!i._abortController||!i._abortController.signal.aborted){if(i._status=s.c.kError,!i._onError)throw e;i._onError(s.b.EXCEPTION,{code:-1,msg:e.message})}}))},t.prototype.abort=function(){if(this._requestAbort=!0,(this._status!==s.c.kBuffering||!o.a.chrome)&&this._abortController)try{this._abortController.abort()}catch(e){}},t.prototype._pump=function(e){var t=this;return e.read().then((function(i){if(i.done)if(null!==t._contentLength&&t._receivedLength299)){if(this._status=s.c.kError,!this._onError)throw new d.d(\"MozChunkedLoader: Http code invalid, \"+t.status+\" \"+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=s.c.kBuffering}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,i=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)}},t.prototype._onLoadEnd=function(e){!0!==this._requestAbort?this._status!==s.c.kError&&(this._status=s.c.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)):this._requestAbort=!1},t.prototype._onXhrError=function(e){this._status=s.c.kError;var t=0,i=null;if(this._contentLength&&e.loaded=this._contentLength&&(i=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:i},this._internalOpen(this._dataSource,this._currentRequestRange)},t.prototype._internalOpen=function(e,t){this._lastTimeLoaded=0;var i=e.url;this._config.reuseRedirectedURL&&(null!=this._currentRedirectedURL?i=this._currentRedirectedURL:null!=e.redirectedURL&&(i=e.redirectedURL));var n=this._seekHandler.getConfig(i,t);this._currentRequestURL=n.url;var a=this._xhr=new XMLHttpRequest;if(a.open(\"GET\",n.url,!0),a.responseType=\"arraybuffer\",a.onreadystatechange=this._onReadyStateChange.bind(this),a.onprogress=this._onProgress.bind(this),a.onload=this._onLoad.bind(this),a.onerror=this._onXhrError.bind(this),e.withCredentials&&(a.withCredentials=!0),\"object\"==typeof n.headers){var r=n.headers;for(var s in r)r.hasOwnProperty(s)&&a.setRequestHeader(s,r[s])}if(\"object\"==typeof this._config.headers){r=this._config.headers;for(var s in r)r.hasOwnProperty(s)&&a.setRequestHeader(s,r[s])}a.send()},t.prototype.abort=function(){this._requestAbort=!0,this._internalAbort(),this._status=s.c.kComplete},t.prototype._internalAbort=function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL){var i=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&i!==this._currentRedirectedURL&&(this._currentRedirectedURL=i,this._onURLRedirect&&this._onURLRedirect(i))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=s.c.kBuffering}else{if(this._status=s.c.kError,!this._onError)throw new d.d(\"RangeLoader: Http code invalid, \"+t.status+\" \"+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var i=e.total;this._internalAbort(),null!=i&0!==i&&(this._totalLength=i)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var n=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(n)}},t.prototype._normalizeSpeed=function(e){var t=this._chunkSizeKBList,i=t.length-1,n=0,a=0,r=i;if(e=t[n]&&e=3&&(t=this._speedSampler.currentKBps)),0!==t){var i=this._normalizeSpeed(t);this._currentSpeedNormalized!==i&&(this._currentSpeedNormalized=i,this._currentChunkSizeKB=i)}var n=e.target.response,a=this._range.from+this._receivedLength;this._receivedLength+=n.byteLength;var r=!1;null!=this._contentLength&&this._receivedLength0&&this._receivedLength0)for(var r=i.split(\"&\"),s=0;s0;o[0]!==this._startName&&o[0]!==this._endName&&(d&&(a+=\"&\"),a+=r[s])}return 0===a.length?t:t+\"?\"+a},e}(),y=function(){function e(e,t,i){this.TAG=\"IOController\",this._config=t,this._extraData=i,this._stashInitialSize=65536,null!=t.stashInitialSize&&t.stashInitialSize>0&&(this._stashInitialSize=t.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===t.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=e,this._isWebSocketURL=/wss?:\\/\\/(.+?)/.test(e.url),this._refTotalLength=e.filesize?e.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new r,this._speedNormalizeList=[32,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return e.prototype.destroy=function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null},e.prototype.isWorking=function(){return this._loader&&this._loader.isWorking()&&!this._paused},e.prototype.isPaused=function(){return this._paused},Object.defineProperty(e.prototype,\"status\",{get:function(){return this._loader.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"extraData\",{get:function(){return this._extraData},set:function(e){this._extraData=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDataArrival\",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onSeeked\",{get:function(){return this._onSeeked},set:function(e){this._onSeeked=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onError\",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onComplete\",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onRedirect\",{get:function(){return this._onRedirect},set:function(e){this._onRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onRecoveredEarlyEof\",{get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentURL\",{get:function(){return this._dataSource.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasRedirect\",{get:function(){return null!=this._redirectedURL||null!=this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentRedirectedURL\",{get:function(){return this._redirectedURL||this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentSpeed\",{get:function(){return this._loaderClass===f?this._loader.currentSpeed:this._speedSampler.lastSecondKBps},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"loaderType\",{get:function(){return this._loader.type},enumerable:!1,configurable:!0}),e.prototype._selectSeekHandler=function(){var e=this._config;if(\"range\"===e.seekType)this._seekHandler=new g(this._config.rangeLoadZeroStart);else if(\"param\"===e.seekType){var t=e.seekParamStart||\"bstart\",i=e.seekParamEnd||\"bend\";this._seekHandler=new v(t,i)}else{if(\"custom\"!==e.seekType)throw new d.b(\"Invalid seekType in config: \"+e.seekType);if(\"function\"!=typeof e.customSeekHandler)throw new d.b(\"Custom seekType specified in config but invalid customSeekHandler!\");this._seekHandler=new e.customSeekHandler}},e.prototype._selectLoader=function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=m;else if(h.isSupported())this._loaderClass=h;else if(u.isSupported())this._loaderClass=u;else{if(!f.isSupported())throw new d.d(\"Your browser doesn't support xhr with arraybuffer responseType!\");this._loaderClass=f}},e.prototype._createLoader=function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)},e.prototype.open=function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))},e.prototype.abort=function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)},e.prototype.pause=function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)},e.prototype.resume=function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}},e.prototype.seek=function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)},e.prototype._internalSeek=function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var i={from:e,to:-1};this._currentRange={from:i.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,i),this._onSeeked&&this._onSeeked()},e.prototype.updateUrl=function(e){if(!e||\"string\"!=typeof e||0===e.length)throw new d.b(\"Url must be a non-empty string!\");this._dataSource.url=e},e.prototype._expandBuffer=function(e){for(var t=this._stashSize;t+10485760){var n=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(i,0,t).set(n,0)}this._stashBuffer=i,this._bufferSize=t}},e.prototype._normalizeSpeed=function(e){var t=this._speedNormalizeList,i=t.length-1,n=0,a=0,r=i;if(e=t[n]&&e=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var i=1024*t+1048576;this._bufferSize0){var r=this._stashBuffer.slice(0,this._stashUsed);if((_=this._dispatchChunks(r,this._stashByteStart))0){h=new Uint8Array(r,_);o.set(h,0),this._stashUsed=h.byteLength,this._stashByteStart+=_}}else this._stashUsed=0,this._stashByteStart+=_;this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{if((_=this._dispatchChunks(e,t))this._bufferSize&&(this._expandBuffer(s),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e,_),0),this._stashUsed+=s,this._stashByteStart=t+_}}else if(0===this._stashUsed){var s;if((_=this._dispatchChunks(e,t))this._bufferSize&&this._expandBuffer(s),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e,_),0),this._stashUsed+=s,this._stashByteStart=t+_}else{var o,_;if(this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength,(_=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart))0){var h=new Uint8Array(this._stashBuffer,_);o.set(h,0)}this._stashUsed-=_,this._stashByteStart+=_}}},e.prototype._flushStashBuffer=function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),i=this._dispatchChunks(t,this._stashByteStart),n=t.byteLength-i;if(i0){var r=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,i);r.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=i}return 0}a.a.w(this.TAG,n+\" bytes unconsumed data remain when flush buffer, dropped\")}return this._stashUsed=0,this._stashByteStart=0,n}return 0},e.prototype._onLoaderComplete=function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)},e.prototype._onLoaderError=function(e,t){switch(a.a.e(this.TAG,\"Loader error, code = \"+t.code+\", msg = \"+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=s.b.UNRECOVERABLE_EARLY_EOF),e){case s.b.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var i=this._currentRange.to+1;return void(i0}),!1)}e.exports=function(e,t){t=t||{};var a={main:i.m},o=t.all?{main:Object.keys(a.main)}:function(e,t){for(var i={main:[t]},n={main:[]},a={main:{}};s(i);)for(var o=Object.keys(i),d=0;d1)for(var i=1;i0&&(n+=\";codecs=\"+i.codec);var a=!1;if(c.a.v(this.TAG,\"Received Initialization Segment, mimeType: \"+n),this._lastInitSegments[i.type]=i,n!==this._mimeTypes[i.type]){if(this._mimeTypes[i.type])c.a.v(this.TAG,\"Notice: \"+i.type+\" mimeType changed, origin: \"+this._mimeTypes[i.type]+\", target: \"+n);else{a=!0;try{var r=this._sourceBuffers[i.type]=this._mediaSource.addSourceBuffer(n);r.addEventListener(\"error\",this.e.onSourceBufferError),r.addEventListener(\"updateend\",this.e.onSourceBufferUpdateEnd)}catch(e){return c.a.e(this.TAG,e.message),void this._emitter.emit(S.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[i.type]=n}t||this._pendingSegments[i.type].push(i),a||this._sourceBuffers[i.type]&&!this._sourceBuffers[i.type].updating&&this._doAppendSegments(),u.a.safari&&\"audio/mpeg\"===i.container&&i.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=i.mediaDuration/1e3,this._updateMediaSourceDuration())},e.prototype.appendMediaSegment=function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var i=this._sourceBuffers[t.type];!i||i.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()},e.prototype.seek=function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var i=this._sourceBuffers[t];if(\"open\"===this._mediaSource.readyState)try{i.abort()}catch(e){c.a.e(this.TAG,e.message)}this._idrList.clear();var n=this._pendingSegments[t];if(n.splice(0,n.length),\"closed\"!==this._mediaSource.readyState){for(var a=0;a=1&&e-n.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1},e.prototype._doCleanupSourceBuffer=function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var i=this._sourceBuffers[t];if(i){for(var n=i.buffered,a=!1,r=0;r=this._config.autoCleanupMaxBackwardDuration){a=!0;var d=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:s,end:d})}}else o0&&(isNaN(t)||i>t)&&(c.a.v(this.TAG,\"Update MediaSource duration from \"+t+\" to \"+i),this._mediaSource.duration=i),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}},e.prototype._doRemoveRanges=function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],i=this._pendingRemoveRanges[e];i.length&&!t.updating;){var n=i.shift();t.remove(n.start,n.end)}},e.prototype._doAppendSegments=function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var i=e[t].shift();if(i.timestampOffset){var n=this._sourceBuffers[t].timestampOffset,a=i.timestampOffset/1e3;Math.abs(n-a)>.1&&(c.a.v(this.TAG,\"Update MPEG audio timestampOffset from \"+n+\" to \"+a),this._sourceBuffers[t].timestampOffset=a),delete i.timestampOffset}if(!i.data||0===i.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(i.data),this._isBufferFull=!1,\"video\"===t&&i.hasOwnProperty(\"info\")&&this._idrList.appendArray(i.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(i),22===e.code?(this._isBufferFull||this._emitter.emit(S.BUFFER_FULL),this._isBufferFull=!0):(c.a.e(this.TAG,e.message),this._emitter.emit(S.ERROR,{code:e.code,msg:e.message}))}}},e.prototype._onSourceOpen=function(){if(c.a.v(this.TAG,\"MediaSource onSourceOpen\"),this._mediaSource.removeEventListener(\"sourceopen\",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(S.SOURCE_OPEN)},e.prototype._onSourceEnded=function(){c.a.v(this.TAG,\"MediaSource onSourceEnded\")},e.prototype._onSourceClose=function(){c.a.v(this.TAG,\"MediaSource onSourceClose\"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener(\"sourceopen\",this.e.onSourceOpen),this._mediaSource.removeEventListener(\"sourceended\",this.e.onSourceEnded),this._mediaSource.removeEventListener(\"sourceclose\",this.e.onSourceClose))},e.prototype._hasPendingSegments=function(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0},e.prototype._hasPendingRemoveRanges=function(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0},e.prototype._onSourceBufferUpdateEnd=function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(S.UPDATE_END)},e.prototype._onSourceBufferError=function(e){c.a.e(this.TAG,\"SourceBuffer Error: \"+e)},e}(),T=i(5),L={NETWORK_ERROR:\"NetworkError\",MEDIA_ERROR:\"MediaError\",OTHER_ERROR:\"OtherError\"},w={NETWORK_EXCEPTION:d.b.EXCEPTION,NETWORK_STATUS_CODE_INVALID:d.b.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:d.b.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:d.b.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:\"MediaMSEError\",MEDIA_FORMAT_ERROR:T.a.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:T.a.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:T.a.CODEC_UNSUPPORTED},k=function(){function e(e,t){this.TAG=\"MSEPlayer\",this._type=\"MSEPlayer\",this._emitter=new h.a,this._config=s(),\"object\"==typeof t&&Object.assign(this._config,t);var i=e.type.toLowerCase();if(\"mse\"!==i&&\"mpegts\"!==i&&\"m2ts\"!==i&&\"flv\"!==i)throw new A.b(\"MSEPlayer requires an mpegts/m2ts/flv MediaDataSource input!\");!0===e.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=e,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var n=u.a.chrome&&(u.a.version.major<50||50===u.a.version.major&&u.a.version.build<2661);this._alwaysSeekKeyframe=!!(n||u.a.msedge||u.a.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return e.prototype.destroy=function(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){var i=this;e===l.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then((function(){i._emitter.emit(l.MEDIA_INFO,i.mediaInfo)})):e===l.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then((function(){i._emitter.emit(l.STATISTICS_INFO,i.statisticsInfo)})),this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.attachMediaElement=function(e){var t=this;if(this._mediaElement=e,e.addEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),e.addEventListener(\"seeking\",this.e.onvSeeking),e.addEventListener(\"canplay\",this.e.onvCanPlay),e.addEventListener(\"stalled\",this.e.onvStalled),e.addEventListener(\"progress\",this.e.onvProgress),this._msectl=new R(this._config),this._msectl.on(S.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(S.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(S.SOURCE_OPEN,(function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())})),this._msectl.on(S.ERROR,(function(e){t._emitter.emit(l.ERROR,L.MEDIA_ERROR,w.MEDIA_MSE_ERROR,e)})),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}},e.prototype.detachMediaElement=function(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener(\"seeking\",this.e.onvSeeking),this._mediaElement.removeEventListener(\"canplay\",this.e.onvCanPlay),this._mediaElement.removeEventListener(\"stalled\",this.e.onvStalled),this._mediaElement.removeEventListener(\"progress\",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)},e.prototype.load=function(){var e=this;if(!this._mediaElement)throw new A.a(\"HTMLMediaElement must be attached before load()!\");if(this._transmuxer)throw new A.a(\"MSEPlayer.load() has been called, please call unload() first!\");this._hasPendingLoad||(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened?this._hasPendingLoad=!0:(this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new b(this._mediaDataSource,this._config),this._transmuxer.on(v.a.INIT_SEGMENT,(function(t,i){e._msectl.appendInitSegment(i)})),this._transmuxer.on(v.a.MEDIA_SEGMENT,(function(t,i){if(e._msectl.appendMediaSegment(i),e._config.lazyLoad&&!e._config.isLive){var n=e._mediaElement.currentTime;i.info.endDts>=1e3*(n+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(c.a.v(e.TAG,\"Maximum buffering duration exceeded, suspend transmuxing task\"),e._suspendTransmuxer())}})),this._transmuxer.on(v.a.LOADING_COMPLETE,(function(){e._msectl.endOfStream(),e._emitter.emit(l.LOADING_COMPLETE)})),this._transmuxer.on(v.a.RECOVERED_EARLY_EOF,(function(){e._emitter.emit(l.RECOVERED_EARLY_EOF)})),this._transmuxer.on(v.a.IO_ERROR,(function(t,i){e._emitter.emit(l.ERROR,L.NETWORK_ERROR,t,i)})),this._transmuxer.on(v.a.DEMUX_ERROR,(function(t,i){e._emitter.emit(l.ERROR,L.MEDIA_ERROR,t,{code:-1,msg:i})})),this._transmuxer.on(v.a.MEDIA_INFO,(function(t){e._mediaInfo=t,e._emitter.emit(l.MEDIA_INFO,Object.assign({},t))})),this._transmuxer.on(v.a.METADATA_ARRIVED,(function(t){e._emitter.emit(l.METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SCRIPTDATA_ARRIVED,(function(t){e._emitter.emit(l.SCRIPTDATA_ARRIVED,t)})),this._transmuxer.on(v.a.TIMED_ID3_METADATA_ARRIVED,(function(t){e._emitter.emit(l.TIMED_ID3_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SMPTE2038_METADATA_ARRIVED,(function(t){e._emitter.emit(l.SMPTE2038_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SCTE35_METADATA_ARRIVED,(function(t){e._emitter.emit(l.SCTE35_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_DESCRIPTOR,(function(t){e._emitter.emit(l.PES_PRIVATE_DATA_DESCRIPTOR,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_ARRIVED,(function(t){e._emitter.emit(l.PES_PRIVATE_DATA_ARRIVED,t)})),this._transmuxer.on(v.a.STATISTICS_INFO,(function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(l.STATISTICS_INFO,Object.assign({},e._statisticsInfo))})),this._transmuxer.on(v.a.RECOMMEND_SEEKPOINT,(function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)})),this._transmuxer.open()))},e.prototype.unload=function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,\"type\",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"buffered\",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"duration\",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"volume\",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"muted\",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentTime\",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mediaInfo\",{get:function(){return Object.assign({},this._mediaInfo)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"statisticsInfo\",{get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)},enumerable:!1,configurable:!0}),e.prototype._fillStatisticsInfo=function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var a=this._mediaElement.getVideoPlaybackQuality();i=a.totalVideoFrames,n=a.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},e.prototype._onmseUpdateEnd=function(){var e=this._mediaElement.buffered,t=this._mediaElement.currentTime;if(this._config.isLive&&this._config.liveBufferLatencyChasing&&e.length>0&&!this._mediaElement.paused){var i=e.end(e.length-1);if(i>this._config.liveBufferLatencyMaxLatency&&i-t>this._config.liveBufferLatencyMaxLatency){var n=i-this._config.liveBufferLatencyMinRemain;this.currentTime=n}}if(this._config.lazyLoad&&!this._config.isLive){for(var a=0,r=0;r=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(c.a.v(this.TAG,\"Maximum buffering duration exceeded, suspend transmuxing task\"),this._suspendTransmuxer())}},e.prototype._onmseBufferFull=function(){c.a.v(this.TAG,\"MSE SourceBuffer is full, suspend transmuxing task\"),null==this._progressChecker&&this._suspendTransmuxer()},e.prototype._suspendTransmuxer=function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))},e.prototype._checkProgressAndResume=function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,i=!1,n=0;n=a&&e=r-this._config.lazyLoadRecoverDuration&&(i=!0);break}}i&&(window.clearInterval(this._progressChecker),this._progressChecker=null,i&&(c.a.v(this.TAG,\"Continue loading from paused position\"),this._transmuxer.resume()))},e.prototype._isTimepointBuffered=function(e){for(var t=this._mediaElement.buffered,i=0;i=n&&e0){var a=this._mediaElement.buffered.start(0);(a<1&&e0&&t.currentTime0){var n=i.start(0);if(n<1&&t0&&(this._mediaElement.currentTime=0),this._mediaElement.preload=\"auto\",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)},e.prototype.unload=function(){this._mediaElement&&(this._mediaElement.src=\"\",this._mediaElement.removeAttribute(\"src\")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,\"type\",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"buffered\",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"duration\",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"volume\",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"muted\",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentTime\",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mediaInfo\",{get:function(){var e={mimeType:(this._mediaElement instanceof HTMLAudioElement?\"audio/\":\"video/\")+this._mediaDataSource.type};return this._mediaElement&&(e.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(e.width=this._mediaElement.videoWidth,e.height=this._mediaElement.videoHeight)),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"statisticsInfo\",{get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var a=this._mediaElement.getVideoPlaybackQuality();i=a.totalVideoFrames,n=a.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},enumerable:!1,configurable:!0}),e.prototype._onvLoadedMetadata=function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(l.MEDIA_INFO,this.mediaInfo)},e.prototype._reportStatisticsInfo=function(){this._emitter.emit(l.STATISTICS_INFO,this.statisticsInfo)},e}();n.a.install();var C={createPlayer:function(e,t){var i=e;if(null==i||\"object\"!=typeof i)throw new A.b(\"MediaDataSource must be an javascript object!\");if(!i.hasOwnProperty(\"type\"))throw new A.b(\"MediaDataSource must has type field to indicate video file type!\");switch(i.type){case\"mse\":case\"mpegts\":case\"m2ts\":case\"flv\":return new k(i,t);default:return new D(i,t)}},isSupported:function(){return o.supportMSEH264Playback()},getFeatureList:function(){return o.getFeatureList()}};C.BaseLoader=d.a,C.LoaderStatus=d.c,C.LoaderErrors=d.b,C.Events=l,C.ErrorTypes=L,C.ErrorDetails=w,C.MSEPlayer=k,C.NativePlayer=D,C.LoggingControl=m.a,Object.defineProperty(C,\"version\",{enumerable:!0,get:function(){return\"1.7.3\"}});t.default=C}])}));\n//# sourceMappingURL=mpegts.js.map","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $floor = GetIntrinsic('%Math.floor%');\n\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(fn, 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(fn, 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","var ClientRequest = require('./lib/request')\nvar response = require('./lib/response')\nvar extend = require('xtend')\nvar statusCodes = require('builtin-status-codes')\nvar url = require('url')\n\nvar http = exports\n\nhttp.request = function (opts, cb) {\n\tif (typeof opts === 'string')\n\t\topts = url.parse(opts)\n\telse\n\t\topts = extend(opts)\n\n\t// Normally, the page is loaded from http or https, so not specifying a protocol\n\t// will result in a (valid) protocol-relative url. However, this won't work if\n\t// the protocol is something else, like 'file:'\n\tvar defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''\n\n\tvar protocol = opts.protocol || defaultProtocol\n\tvar host = opts.hostname || opts.host\n\tvar port = opts.port\n\tvar path = opts.path || '/'\n\n\t// Necessary for IPv6 addresses\n\tif (host && host.indexOf(':') !== -1)\n\t\thost = '[' + host + ']'\n\n\t// This may be a relative url. The browser should always be able to interpret it correctly.\n\topts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path\n\topts.method = (opts.method || 'GET').toUpperCase()\n\topts.headers = opts.headers || {}\n\n\t// Also valid opts.auth, opts.mode\n\n\tvar req = new ClientRequest(opts)\n\tif (cb)\n\t\treq.on('response', cb)\n\treturn req\n}\n\nhttp.get = function get (opts, cb) {\n\tvar req = http.request(opts, cb)\n\treq.end()\n\treturn req\n}\n\nhttp.ClientRequest = ClientRequest\nhttp.IncomingMessage = response.IncomingMessage\n\nhttp.Agent = function () {}\nhttp.Agent.defaultMaxSockets = 4\n\nhttp.globalAgent = new http.Agent()\n\nhttp.STATUS_CODES = statusCodes\n\nhttp.METHODS = [\n\t'CHECKOUT',\n\t'CONNECT',\n\t'COPY',\n\t'DELETE',\n\t'GET',\n\t'HEAD',\n\t'LOCK',\n\t'M-SEARCH',\n\t'MERGE',\n\t'MKACTIVITY',\n\t'MKCOL',\n\t'MOVE',\n\t'NOTIFY',\n\t'OPTIONS',\n\t'PATCH',\n\t'POST',\n\t'PROPFIND',\n\t'PROPPATCH',\n\t'PURGE',\n\t'PUT',\n\t'REPORT',\n\t'SEARCH',\n\t'SUBSCRIBE',\n\t'TRACE',\n\t'UNLOCK',\n\t'UNSUBSCRIBE'\n]","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\n\n// The xhr request to example.com may violate some restrictive CSP configurations,\n// so if we're running in a browser that supports `fetch`, avoid calling getXHR()\n// and assume support for certain features below.\nvar xhr\nfunction getXHR () {\n\t// Cache the xhr value\n\tif (xhr !== undefined) return xhr\n\n\tif (global.XMLHttpRequest) {\n\t\txhr = new global.XMLHttpRequest()\n\t\t// If XDomainRequest is available (ie only, where xhr might not work\n\t\t// cross domain), use the page location. Otherwise use example.com\n\t\t// Note: this doesn't actually make an http request.\n\t\ttry {\n\t\t\txhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')\n\t\t} catch(e) {\n\t\t\txhr = null\n\t\t}\n\t} else {\n\t\t// Service workers don't have XHR\n\t\txhr = null\n\t}\n\treturn xhr\n}\n\nfunction checkTypeSupport (type) {\n\tvar xhr = getXHR()\n\tif (!xhr) return false\n\ttry {\n\t\txhr.responseType = type\n\t\treturn xhr.responseType === type\n\t} catch (e) {}\n\treturn false\n}\n\n// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || checkTypeSupport('arraybuffer')\n\n// These next two tests unavoidably show warnings in Chrome. Since fetch will always\n// be used if it's available, just return false for these to avoid the warnings.\nexports.msstream = !exports.fetch && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport('moz-chunked-arraybuffer')\n\n// If fetch is supported, then overrideMimeType will be supported too. Skip calling\n// getXHR().\nexports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)\n\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\n\nvar IncomingMessage = response.IncomingMessage\nvar rStates = response.readyStates\n\nfunction decideMode (preferBinary, useFetch) {\n\tif (capability.fetch && useFetch) {\n\t\treturn 'fetch'\n\t} else if (capability.mozchunkedarraybuffer) {\n\t\treturn 'moz-chunked-arraybuffer'\n\t} else if (capability.msstream) {\n\t\treturn 'ms-stream'\n\t} else if (capability.arraybuffer && preferBinary) {\n\t\treturn 'arraybuffer'\n\t} else {\n\t\treturn 'text'\n\t}\n}\n\nvar ClientRequest = module.exports = function (opts) {\n\tvar self = this\n\tstream.Writable.call(self)\n\n\tself._opts = opts\n\tself._body = []\n\tself._headers = {}\n\tif (opts.auth)\n\t\tself.setHeader('Authorization', 'Basic ' + Buffer.from(opts.auth).toString('base64'))\n\tObject.keys(opts.headers).forEach(function (name) {\n\t\tself.setHeader(name, opts.headers[name])\n\t})\n\n\tvar preferBinary\n\tvar useFetch = true\n\tif (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) {\n\t\t// If the use of XHR should be preferred. Not typically needed.\n\t\tuseFetch = false\n\t\tpreferBinary = true\n\t} else if (opts.mode === 'prefer-streaming') {\n\t\t// If streaming is a high priority but binary compatibility and\n\t\t// the accuracy of the 'content-type' header aren't\n\t\tpreferBinary = false\n\t} else if (opts.mode === 'allow-wrong-content-type') {\n\t\t// If streaming is more important than preserving the 'content-type' header\n\t\tpreferBinary = !capability.overrideMimeType\n\t} else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') {\n\t\t// Use binary if text streaming may corrupt data or the content-type header, or for speed\n\t\tpreferBinary = true\n\t} else {\n\t\tthrow new Error('Invalid value for opts.mode')\n\t}\n\tself._mode = decideMode(preferBinary, useFetch)\n\tself._fetchTimer = null\n\tself._socketTimeout = null\n\tself._socketTimer = null\n\n\tself.on('finish', function () {\n\t\tself._onFinish()\n\t})\n}\n\ninherits(ClientRequest, stream.Writable)\n\nClientRequest.prototype.setHeader = function (name, value) {\n\tvar self = this\n\tvar lowerName = name.toLowerCase()\n\t// This check is not necessary, but it prevents warnings from browsers about setting unsafe\n\t// headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but\n\t// http-browserify did it, so I will too.\n\tif (unsafeHeaders.indexOf(lowerName) !== -1)\n\t\treturn\n\n\tself._headers[lowerName] = {\n\t\tname: name,\n\t\tvalue: value\n\t}\n}\n\nClientRequest.prototype.getHeader = function (name) {\n\tvar header = this._headers[name.toLowerCase()]\n\tif (header)\n\t\treturn header.value\n\treturn null\n}\n\nClientRequest.prototype.removeHeader = function (name) {\n\tvar self = this\n\tdelete self._headers[name.toLowerCase()]\n}\n\nClientRequest.prototype._onFinish = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\tvar opts = self._opts\n\n\tif ('timeout' in opts && opts.timeout !== 0) {\n\t\tself.setTimeout(opts.timeout)\n\t}\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n body = new Blob(self._body, {\n type: (headersObj['content-type'] || {}).value || ''\n });\n }\n\n\t// create flattened list of headers\n\tvar headersList = []\n\tObject.keys(headersObj).forEach(function (keyName) {\n\t\tvar name = headersObj[keyName].name\n\t\tvar value = headersObj[keyName].value\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(function (v) {\n\t\t\t\theadersList.push([name, v])\n\t\t\t})\n\t\t} else {\n\t\t\theadersList.push([name, value])\n\t\t}\n\t})\n\n\tif (self._mode === 'fetch') {\n\t\tvar signal = null\n\t\tif (capability.abortController) {\n\t\t\tvar controller = new AbortController()\n\t\t\tsignal = controller.signal\n\t\t\tself._fetchAbortController = controller\n\n\t\t\tif ('requestTimeout' in opts && opts.requestTimeout !== 0) {\n\t\t\t\tself._fetchTimer = global.setTimeout(function () {\n\t\t\t\t\tself.emit('requestTimeout')\n\t\t\t\t\tif (self._fetchAbortController)\n\t\t\t\t\t\tself._fetchAbortController.abort()\n\t\t\t\t}, opts.requestTimeout)\n\t\t\t}\n\t\t}\n\n\t\tglobal.fetch(self._opts.url, {\n\t\t\tmethod: self._opts.method,\n\t\t\theaders: headersList,\n\t\t\tbody: body || undefined,\n\t\t\tmode: 'cors',\n\t\t\tcredentials: opts.withCredentials ? 'include' : 'same-origin',\n\t\t\tsignal: signal\n\t\t}).then(function (response) {\n\t\t\tself._fetchResponse = response\n\t\t\tself._resetTimers(false)\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tself._resetTimers(true)\n\t\t\tif (!self._destroyed)\n\t\t\t\tself.emit('error', reason)\n\t\t})\n\t} else {\n\t\tvar xhr = self._xhr = new global.XMLHttpRequest()\n\t\ttry {\n\t\t\txhr.open(self._opts.method, self._opts.url, true)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Can't set responseType on really old browsers\n\t\tif ('responseType' in xhr)\n\t\t\txhr.responseType = self._mode\n\n\t\tif ('withCredentials' in xhr)\n\t\t\txhr.withCredentials = !!opts.withCredentials\n\n\t\tif (self._mode === 'text' && 'overrideMimeType' in xhr)\n\t\t\txhr.overrideMimeType('text/plain; charset=x-user-defined')\n\n\t\tif ('requestTimeout' in opts) {\n\t\t\txhr.timeout = opts.requestTimeout\n\t\t\txhr.ontimeout = function () {\n\t\t\t\tself.emit('requestTimeout')\n\t\t\t}\n\t\t}\n\n\t\theadersList.forEach(function (header) {\n\t\t\txhr.setRequestHeader(header[0], header[1])\n\t\t})\n\n\t\tself._response = null\n\t\txhr.onreadystatechange = function () {\n\t\t\tswitch (xhr.readyState) {\n\t\t\t\tcase rStates.LOADING:\n\t\t\t\tcase rStates.DONE:\n\t\t\t\t\tself._onXHRProgress()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Necessary for streaming in Firefox, since xhr.response is ONLY defined\n\t\t// in onprogress, not in onreadystatechange with xhr.readyState = 3\n\t\tif (self._mode === 'moz-chunked-arraybuffer') {\n\t\t\txhr.onprogress = function () {\n\t\t\t\tself._onXHRProgress()\n\t\t\t}\n\t\t}\n\n\t\txhr.onerror = function () {\n\t\t\tif (self._destroyed)\n\t\t\t\treturn\n\t\t\tself._resetTimers(true)\n\t\t\tself.emit('error', new Error('XHR error'))\n\t\t}\n\n\t\ttry {\n\t\t\txhr.send(body)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\n/**\n * Checks if xhr.status is readable and non-zero, indicating no error.\n * Even though the spec says it should be available in readyState 3,\n * accessing it throws an exception in IE8\n */\nfunction statusValid (xhr) {\n\ttry {\n\t\tvar status = xhr.status\n\t\treturn (status !== null && status !== 0)\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\nClientRequest.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tself._resetTimers(false)\n\n\tif (!statusValid(self._xhr) || self._destroyed)\n\t\treturn\n\n\tif (!self._response)\n\t\tself._connect()\n\n\tself._response._onXHRProgress(self._resetTimers.bind(self))\n}\n\nClientRequest.prototype._connect = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\n\tself._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._resetTimers.bind(self))\n\tself._response.on('error', function(err) {\n\t\tself.emit('error', err)\n\t})\n\n\tself.emit('response', self._response)\n}\n\nClientRequest.prototype._write = function (chunk, encoding, cb) {\n\tvar self = this\n\n\tself._body.push(chunk)\n\tcb()\n}\n\nClientRequest.prototype._resetTimers = function (done) {\n\tvar self = this\n\n\tglobal.clearTimeout(self._socketTimer)\n\tself._socketTimer = null\n\n\tif (done) {\n\t\tglobal.clearTimeout(self._fetchTimer)\n\t\tself._fetchTimer = null\n\t} else if (self._socketTimeout) {\n\t\tself._socketTimer = global.setTimeout(function () {\n\t\t\tself.emit('timeout')\n\t\t}, self._socketTimeout)\n\t}\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function (err) {\n\tvar self = this\n\tself._destroyed = true\n\tself._resetTimers(true)\n\tif (self._response)\n\t\tself._response._destroyed = true\n\tif (self._xhr)\n\t\tself._xhr.abort()\n\telse if (self._fetchAbortController)\n\t\tself._fetchAbortController.abort()\n\n\tif (err)\n\t\tself.emit('error', err)\n}\n\nClientRequest.prototype.end = function (data, encoding, cb) {\n\tvar self = this\n\tif (typeof data === 'function') {\n\t\tcb = data\n\t\tdata = undefined\n\t}\n\n\tstream.Writable.prototype.end.call(self, data, encoding, cb)\n}\n\nClientRequest.prototype.setTimeout = function (timeout, cb) {\n\tvar self = this\n\n\tif (cb)\n\t\tself.once('timeout', cb)\n\n\tself._socketTimeout = timeout\n\tself._resetTimers(false)\n}\n\nClientRequest.prototype.flushHeaders = function () {}\nClientRequest.prototype.setNoDelay = function () {}\nClientRequest.prototype.setSocketKeepAlive = function () {}\n\n// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method\nvar unsafeHeaders = [\n\t'accept-charset',\n\t'accept-encoding',\n\t'access-control-request-headers',\n\t'access-control-request-method',\n\t'connection',\n\t'content-length',\n\t'cookie',\n\t'cookie2',\n\t'date',\n\t'dnt',\n\t'expect',\n\t'host',\n\t'keep-alive',\n\t'origin',\n\t'referer',\n\t'te',\n\t'trailer',\n\t'transfer-encoding',\n\t'upgrade',\n\t'via'\n]\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar stream = require('readable-stream')\n\nvar rStates = exports.readyStates = {\n\tUNSENT: 0,\n\tOPENED: 1,\n\tHEADERS_RECEIVED: 2,\n\tLOADING: 3,\n\tDONE: 4\n}\n\nvar IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, resetTimers) {\n\tvar self = this\n\tstream.Readable.call(self)\n\n\tself._mode = mode\n\tself.headers = {}\n\tself.rawHeaders = []\n\tself.trailers = {}\n\tself.rawTrailers = []\n\n\t// Fake the 'close' event, but only once 'end' fires\n\tself.on('end', function () {\n\t\t// The nextTick is necessary to prevent the 'request' module from causing an infinite loop\n\t\tprocess.nextTick(function () {\n\t\t\tself.emit('close')\n\t\t})\n\t})\n\n\tif (mode === 'fetch') {\n\t\tself._fetchResponse = response\n\n\t\tself.url = response.url\n\t\tself.statusCode = response.status\n\t\tself.statusMessage = response.statusText\n\t\t\n\t\tresponse.headers.forEach(function (header, key){\n\t\t\tself.headers[key.toLowerCase()] = header\n\t\t\tself.rawHeaders.push(key, header)\n\t\t})\n\n\t\tif (capability.writableStream) {\n\t\t\tvar writable = new WritableStream({\n\t\t\t\twrite: function (chunk) {\n\t\t\t\t\tresetTimers(false)\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tif (self._destroyed) {\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t} else if(self.push(Buffer.from(chunk))) {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself._resumeFetch = resolve\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tclose: function () {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.push(null)\n\t\t\t\t},\n\t\t\t\tabort: function (err) {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tresponse.body.pipeTo(writable).catch(function (err) {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this\n\t\t}\n\t\t// fallback for when writableStream or pipeTo aren't available\n\t\tvar reader = response.body.getReader()\n\t\tfunction read () {\n\t\t\treader.read().then(function (result) {\n\t\t\t\tif (self._destroyed)\n\t\t\t\t\treturn\n\t\t\t\tresetTimers(result.done)\n\t\t\t\tif (result.done) {\n\t\t\t\t\tself.push(null)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.push(Buffer.from(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tresetTimers(true)\n\t\t\t\tif (!self._destroyed)\n\t\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t}\n\t\tread()\n\t} else {\n\t\tself._xhr = xhr\n\t\tself._pos = 0\n\n\t\tself.url = xhr.responseURL\n\t\tself.statusCode = xhr.status\n\t\tself.statusMessage = xhr.statusText\n\t\tvar headers = xhr.getAllResponseHeaders().split(/\\r?\\n/)\n\t\theaders.forEach(function (header) {\n\t\t\tvar matches = header.match(/^([^:]+):\\s*(.*)/)\n\t\t\tif (matches) {\n\t\t\t\tvar key = matches[1].toLowerCase()\n\t\t\t\tif (key === 'set-cookie') {\n\t\t\t\t\tif (self.headers[key] === undefined) {\n\t\t\t\t\t\tself.headers[key] = []\n\t\t\t\t\t}\n\t\t\t\t\tself.headers[key].push(matches[2])\n\t\t\t\t} else if (self.headers[key] !== undefined) {\n\t\t\t\t\tself.headers[key] += ', ' + matches[2]\n\t\t\t\t} else {\n\t\t\t\t\tself.headers[key] = matches[2]\n\t\t\t\t}\n\t\t\t\tself.rawHeaders.push(matches[1], matches[2])\n\t\t\t}\n\t\t})\n\n\t\tself._charset = 'x-user-defined'\n\t\tif (!capability.overrideMimeType) {\n\t\t\tvar mimeType = self.rawHeaders['mime-type']\n\t\t\tif (mimeType) {\n\t\t\t\tvar charsetMatch = mimeType.match(/;\\s*charset=([^;])(;|$)/)\n\t\t\t\tif (charsetMatch) {\n\t\t\t\t\tself._charset = charsetMatch[1].toLowerCase()\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!self._charset)\n\t\t\t\tself._charset = 'utf-8' // best guess\n\t\t}\n\t}\n}\n\ninherits(IncomingMessage, stream.Readable)\n\nIncomingMessage.prototype._read = function () {\n\tvar self = this\n\n\tvar resolve = self._resumeFetch\n\tif (resolve) {\n\t\tself._resumeFetch = null\n\t\tresolve()\n\t}\n}\n\nIncomingMessage.prototype._onXHRProgress = function (resetTimers) {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text':\n\t\t\tresponse = xhr.responseText\n\t\t\tif (response.length > self._pos) {\n\t\t\t\tvar newData = response.substr(self._pos)\n\t\t\t\tif (self._charset === 'x-user-defined') {\n\t\t\t\t\tvar buffer = Buffer.alloc(newData.length)\n\t\t\t\t\tfor (var i = 0; i < newData.length; i++)\n\t\t\t\t\t\tbuffer[i] = newData.charCodeAt(i) & 0xff\n\n\t\t\t\t\tself.push(buffer)\n\t\t\t\t} else {\n\t\t\t\t\tself.push(newData, self._charset)\n\t\t\t\t}\n\t\t\t\tself._pos = response.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'arraybuffer':\n\t\t\tif (xhr.readyState !== rStates.DONE || !xhr.response)\n\t\t\t\tbreak\n\t\t\tresponse = xhr.response\n\t\t\tself.push(Buffer.from(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'moz-chunked-arraybuffer': // take whole\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING || !response)\n\t\t\t\tbreak\n\t\t\tself.push(Buffer.from(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'ms-stream':\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING)\n\t\t\t\tbreak\n\t\t\tvar reader = new global.MSStreamReader()\n\t\t\treader.onprogress = function () {\n\t\t\t\tif (reader.result.byteLength > self._pos) {\n\t\t\t\t\tself.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos))))\n\t\t\t\t\tself._pos = reader.result.byteLength\n\t\t\t\t}\n\t\t\t}\n\t\t\treader.onload = function () {\n\t\t\t\tresetTimers(true)\n\t\t\t\tself.push(null)\n\t\t\t}\n\t\t\t// reader.onerror = ??? // TODO: this\n\t\t\treader.readAsArrayBuffer(response)\n\t\t\tbreak\n\t}\n\n\t// The ms-stream case handles end separately in reader.onload()\n\tif (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') {\n\t\tresetTimers(true)\n\t\tself.push(null)\n\t}\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjczOTc5NTQ2Mjk4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1MzkiIGlkPSJteF9uXzE2NzM5Nzk1NDYyOTkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTUxMiA3MTkuMzZjNy42OCAwIDEyLjgtMi41NiAxNy45Mi03LjY4bDE4MS43Ni0xODEuNzZjMTAuMjQtMTAuMjQgMTAuMjQtMjUuNiAwLTM1Ljg0bC0xODEuNzYtMTgxLjc2Yy01LjEyLTUuMTItMTIuOC03LjY4LTE3LjkyLTcuNjhzLTEyLjggMi41Ni0xNy45MiA3LjY4bC0xODEuNzYgMTgxLjc2Yy0xMC4yNCAxMC4yNC0xMC4yNCAyNS42IDAgMzUuODRsMTgxLjc2IDE4MS43NmM1LjEyIDUuMTIgMTAuMjQgNy42OCAxNy45MiA3LjY4eiBtMC0zNTMuMjhsMTQ1LjkyIDE0NS45Mi0xNDUuOTIgMTQ1LjkyLTE0NS45Mi0xNDUuOTIgMTQ1LjkyLTE0NS45MnoiIHAtaWQ9IjI1NDAiIGZpbGw9IiNlNmU2ZTYiPjwvcGF0aD48cGF0aCBkPSJNNTEyIDUxLjJjLTEwMi40IDAtMjAyLjI0IDMzLjI4LTI4MS42IDk3LjI4VjEwMi40YzAtMTIuOC0xMC4yNC0yNS42LTI1LjYtMjUuNi0xMi44IDAtMjUuNiAxMC4yNC0yNS42IDI1LjZ2OTkuODRjMCA3LjY4IDIuNTYgMTUuMzYgNy42OCAyMC40OCAyLjU2IDIuNTYgNS4xMiA1LjEyIDEwLjI0IDUuMTIgMi41NiAwIDUuMTIgMi41NiA3LjY4IDIuNTZoMTAyLjRjMTIuOCAwIDI1LjYtMTAuMjQgMjUuNi0yNS42IDAtMTIuOC0xMC4yNC0yNS42LTI1LjYtMjUuNmgtMzMuMjhjNjkuMTItNDguNjQgMTUxLjA0LTc2LjggMjM4LjA4LTc2LjggMjI1LjI4IDAgNDA5LjYgMTg0LjMyIDQwOS42IDQwOS42IDAgMTUuMzYgMTAuMjQgMjUuNiAyNS42IDI1LjZzMjUuNi0xMC4yNCAyNS42LTI1LjZjMC0yNTMuNDQtMjA3LjM2LTQ2MC44LTQ2MC44LTQ2MC44ek04MzcuMTIgODAxLjI4Yy01LjEyLTUuMTItMTIuOC03LjY4LTIwLjQ4LTcuNjhoLTEwMi40Yy0xMi44IDAtMjUuNiAxMC4yNC0yNS42IDI1LjYgMCAxMi44IDEwLjI0IDI1LjYgMjUuNiAyNS42aDMzLjI4Yy02OS4xMiA0OC42NC0xNTEuMDQgNzYuOC0yMzguMDggNzYuOC0yMjUuMjggMC00MDkuNi0xODQuMzItNDA5LjYtNDA5LjYgMC0xNS4zNi0xMC4yNC0yNS42LTI1LjYtMjUuNnMtMjUuNiAxMC4yNC0yNS42IDI1LjZjMCAyNTMuNDQgMjA3LjM2IDQ2MC44IDQ2MC44IDQ2MC44IDEwMi40IDAgMjAyLjI0LTMzLjI4IDI4MS42LTk3LjI4djQ2LjA4YzAgMTIuOCAxMC4yNCAyNS42IDI1LjYgMjUuNiAxMi44IDAgMjUuNi0xMC4yNCAyNS42LTI1LjZ2LTEwMi40YzIuNTYtNS4xMiAwLTEyLjgtNS4xMi0xNy45MnoiIHAtaWQ9IjI1NDEiIGZpbGw9IiNlNmU2ZTYiPjwvcGF0aD48L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiI+DQogICAgPHBhdGggZD0iTTE2LjExOCAzLjY2N2guMzgyYTMuNjY3IDMuNjY3IDAgMDEzLjY2NyAzLjY2N3Y3LjMzM2EzLjY2NyAzLjY2NyAwIDAxLTMuNjY3IDMuNjY3aC0xMWEzLjY2NyAzLjY2NyAwIDAxLTMuNjY3LTMuNjY3VjcuMzMzQTMuNjY3IDMuNjY3IDAgMDE1LjUgMy42NjZoLjM4Mkw0Ljk1IDIuMDUzYTEuMSAxLjEgMCAwMTEuOTA2LTEuMWwxLjU2NyAyLjcxNGg1LjE1NkwxNS4xNDYuOTUzYTEuMTAxIDEuMTAxIDAgMDExLjkwNiAxLjFsLS45MzQgMS42MTR6IiBmaWxsPSIjMzMzIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTUuNTYxIDUuMTk0aDEwLjg3OGEyLjIgMi4yIDAgMDEyLjIgMi4ydjcuMjExYTIuMiAyLjIgMCAwMS0yLjIgMi4ySDUuNTYxYTIuMiAyLjIgMCAwMS0yLjItMi4yVjcuMzk0YTIuMiAyLjIgMCAwMTIuMi0yLjJ6IiBmaWxsPSIjZmZmIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTYuOTY3IDguNTU2YTEuMSAxLjEgMCAwMTEuMSAxLjF2Mi42ODlhMS4xIDEuMSAwIDExLTIuMiAwVjkuNjU2YTEuMSAxLjEgMCAwMTEuMS0xLjF6TTE1LjAzMyA4LjU1NmExLjEgMS4xIDAgMDExLjEgMS4xdjIuNjg5YTEuMSAxLjEgMCAxMS0yLjIgMFY5LjY1NmExLjEgMS4xIDAgMDExLjEtMS4xeiIgZmlsbD0iIzMzMyI+PC9wYXRoPg0KPC9zdmc+\"","export default \"data:image/gif;base64,R0lGODlhWgBaALMOAHR0dAICAnd3dwEBAXh4eAMDAwkJCQ0NDQsLCxwcHA4ODggICHl5eQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYWE1ODg5ZS1jN2RmLTRmZmUtYjkzOS0wMmVkMTZhNmNjZDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0I2ODI2NjA1NzhGMTFFNkEyMEVDNzhEOUY1RkQxRjgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0I2ODI2NUY1NzhGMTFFNkEyMEVDNzhEOUY1RkQxRjgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjljYjgzNjY2LWYxYWUtNGMyZi1hMGEwLThhODJmYjIxM2U0MyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmU1NDE3YzFmLTllODAtMTE3OS04NjdiLWUy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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQsAAAELCAYAAADOVaNSAAAACXBIWXMAAC4jAAAuIwF4pT92AAAGaGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDUtMDZUMjE6Mzk6MzErMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA1LTA2VDIxOjQwOjU1KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA1LTA2VDIxOjQwOjU1KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNhN2I0MGQwLTlkN2ItNDAwOS04YmMwLTY1NjZmY2I2OGQ5MyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjllYTQ0NDEzLTA5YWMtNGE0YS05OGI4LTZmMjQ1ZTViYmI4NiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjlmZmM1YzJkLTA4ODEtNGU2My1hYTdhLWJmMDhiZTU3YzQ5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OWZmYzVjMmQtMDg4MS00ZTYzLWFhN2EtYmYwOGJlNTdjNDllIiBzdEV2dDp3aGVuPSIyMDE5LTA1LTA2VDIxOjM5OjMxKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozYTdiNDBkMC05ZDdiLTQwMDktOGJjMC02NTY2ZmNiNjhkOTMiIHN0RXZ0OndoZW49IjIwMTktMDUtMDZUMjE6NDA6NTUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ph7aCJkAADakSURBVHic7Z15mBTV1f+/VdVd3T09+8DAMMzCNjAgDPu+CQgq/lzAgBolRN8YQUTDi7yuPC4JwdckAhoNcUtIBH0TFMH4aCIGBRQBwxNBEFDRwCCLCA7M0vvv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\"","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import Artplayer from 'artplayer';\r\nimport mpegts from 'mpegts.js';\r\nimport artplayerPluginDanmuku from 'artplayer-plugin-danmuku';\r\n\r\nimport ploading from \"./img/ploading.gif\";\r\nimport state from \"./img/state.png\";\r\nimport indicator from \"./img/indicator.svg\";\r\nimport filp from \"./img/filp.svg\";\r\nimport http from \"stream-http\";\r\n\r\n(() => {\r\n class FIFO {\r\n #indexedDB;\r\n #ok=false;\r\n #db;\r\n #size=0;\r\n #cu=1;\r\n #dbN=\"FIFO\"+new Date().getTime();\r\n #objN=\"fifo\"+new Date().getTime();\r\n\r\n constructor(okf = (_)=>{}) {\r\n const that = this;\r\n this.#indexedDB = window.indexedDB;\r\n if (!this.#indexedDB) {\r\n console.error(\"IndexedDB could not be found in this browser.\");\r\n }\r\n\r\n this.close().catch();\r\n\r\n const request = this.#indexedDB.open(this.#dbN, 1);\r\n\r\n request.onerror = function (event) {\r\n console.error(\"An error occurred with IndexedDB\");\r\n console.error(event);\r\n };\r\n \r\n request.onupgradeneeded = function () {\r\n that.#db = request.result;\r\n that.#db.createObjectStore(that.#objN, { keyPath: \"id\", autoIncrement: true });\r\n };\r\n \r\n request.onsuccess = function () {\r\n console.log(\"Database opened successfully\");\r\n that.#db = request.result;\r\n that.#ok = true;\r\n if(okf)okf(that);\r\n };\r\n }\r\n\r\n #getTx(mode,func) {\r\n if(!this.#ok)return;\r\n const transaction = this.#db.transaction(this.#objN, mode);\r\n transaction.onerror = (event) => {\r\n console.error(\"An error occurred with put\");\r\n console.error(event);\r\n };\r\n transaction.oncomplete = function () {};\r\n return func(transaction, transaction.objectStore(this.#objN));\r\n }\r\n\r\n #stillTx(transaction,func) {\r\n return func(transaction, transaction.objectStore(this.#objN));\r\n }\r\n\r\n size(){\r\n return new Promise((resolve) => resolve(this.#size));\r\n }\r\n\r\n showSize(){\r\n return this.#getTx(\"readonly\", (transaction, store)=>{\r\n const idQuery = store.count();\r\n idQuery.onsuccess = function () {\r\n console.log(this.#size);\r\n };\r\n });\r\n }\r\n\r\n put(data){\r\n const that = this;\r\n return this.#getTx(\"readwrite\", (transaction, store)=>{\r\n return new Promise((resolve) => {\r\n store.put({ data: data });\r\n that.#size += 1;\r\n resolve(that.#size);\r\n });\r\n });\r\n }\r\n\r\n get(){\r\n const that = this;\r\n return this.#getTx(\"readwrite\", (transaction, store)=>{\r\n return new Promise((resolve, reject) => {\r\n const idQuery = store.get(that.#cu);\r\n idQuery.onsuccess = async function () {\r\n if(idQuery.result){\r\n that.#size -= 1;\r\n that.#cu += 1;\r\n await that.#stillTx(transaction, (transaction, store)=>{\r\n return new Promise((resolve) => {\r\n transaction.oncomplete = function () {\r\n resolve();\r\n };\r\n store.delete(idQuery.result.id)\r\n });\r\n });\r\n resolve({size: that.#size, data: idQuery.result.data});\r\n } else reject();\r\n };\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @returns .then(e=>{}).catch(e=>{});\r\n */\r\n close(){\r\n if(this.#ok)this.#db.close();\r\n return new Promise((resolve, reject) => {\r\n const DBDeleteRequest = this.#indexedDB.deleteDatabase(this.#dbN);\r\n DBDeleteRequest.onerror = (event) => {\r\n reject(\"Error deleting database.\");\r\n };\r\n\r\n DBDeleteRequest.onsuccess = (event) => {\r\n if(event.result===undefined)resolve(\"Database deleted successfully.\");\r\n else reject(\"Error deleting fail.\");\r\n };\r\n });\r\n }\r\n\r\n deleteOnExit() {\r\n let that = this;\r\n window.addEventListener('beforeunload', function (e) {\r\n that.close().catch(()=>{});\r\n });\r\n }\r\n\r\n static test() {\r\n new FIFO(async fifo=>{\r\n fifo.put(1).then(size=>size!=1?console.error(\"size:1 \",size):console.log(\"1ok\"));\r\n fifo.put(2).then(size=>size!=2?console.error(\"size:2 \",size):console.log(\"2ok\"));\r\n fifo.put(3).then(size=>size!=3?console.error(\"size:3 \",size):console.log(\"3ok\"));\r\n fifo.put(4).then(size=>size!=4?console.error(\"size:4 \",size):console.log(\"4ok\"));\r\n fifo.size().then(size=>size!=4?console.error(\"size:4 \",size):console.log(\"5ok\"));\r\n console.log('1!')\r\n await fifo.get().then(result=>result.id!=1?console.error(result):console.log(\"6ok\")).catch(()=>{});\r\n console.log('2!')\r\n await fifo.get().then(result=>result.id!=2?console.error(result):console.log(\"7ok\")).catch(()=>{});\r\n console.log('3!')\r\n fifo.close().then(r=>console.log(r)).catch(result=>console.error(result));\r\n console.log(\"fin\");\r\n });\r\n }\r\n }\r\n\r\n class EventPromise {\r\n #eventEL = document.createElement(\"_\");\r\n \r\n eventCall(name, data = undefined, el = this.#eventEL){\r\n let e = new Event(name, {bubbles: true, cancelable: false})\r\n e.detail = data;\r\n el.dispatchEvent(e);\r\n }\r\n\r\n promise(name, bootFunc = ({event: event})=>{}){\r\n return EventPromise.toPromise(this, name, bootFunc);\r\n }\r\n\r\n /**\r\n * cover event listener to promise\r\n * @param {*} object \r\n * @param {*} event name \r\n * @param {*} bootFunc {event: event} => {}\r\n * @returns .then(({event: event, data: data}) => {}).catch(({event: event, error: error}) => {})\r\n */\r\n static toPromise(object, name, bootFunc = ({event: event})=>{}){\r\n return new Promise((resolve, reject) => {\r\n let event = object.addEventListener(name, data =>{\r\n object.removeEventListener(name, event);\r\n resolve({object:object, name:name, event: event, data: data});\r\n });\r\n try {\r\n bootFunc({event: event});\r\n } catch (error) {\r\n object.removeEventListener(name, event);\r\n reject({object:object, name:name, event: event, error: error});\r\n }\r\n });\r\n }\r\n\r\n addEventListener(name, func, el = this.#eventEL){\r\n let eventFunc = e=>func(e.detail);\r\n el.addEventListener(name, eventFunc);\r\n return eventFunc;\r\n }\r\n\r\n removeEventListener(name, eventFunc, el = this.#eventEL){\r\n el.addEventListener(name, eventFunc);\r\n }\r\n\r\n constructor(name){\r\n this.#eventEL = document.createElement(name);\r\n }\r\n\r\n static test(){\r\n let ep = new EventPromise();\r\n ep.addEventListener(\"test\", data=>{\r\n if (data==\"ss\")console.log(\"event ok\");\r\n else console.error(data);\r\n });\r\n ep.promise(\"test\").then(data=>{\r\n if (data==\"ss\")console.log(\"promise ok\");\r\n else console.error(data);\r\n });\r\n ep.eventCall('test','ss');\r\n }\r\n }\r\n\r\n class MSC extends EventPromise {\r\n #fetchDone = false;\r\n #forceExit = false;\r\n #exit = () => this.#forceExit || this.#bufLen <= 1 && this.#fifoL == 0 && this.#fetchDone;\r\n #fifo;\r\n\r\n #id = new Date().getTime();\r\n #url = \"\";\r\n #loadedRange = 0;\r\n #video;\r\n #fifoL = 0;\r\n #bufLen = 0;\r\n #sourceBuffer;\r\n #mediaSource;\r\n\r\n #mp4LoadFromDB = 20;\r\n #mp4StopFromDB = 30;\r\n #mp4LoadFromWeb = 1000;\r\n #mp4StopFromWeb = 2000;\r\n\r\n #loopIfFalse(f, miliSec = 1000, rejectFail = false){\r\n return new Promise((reslove, reject)=>{\r\n if(f())return reslove();\r\n let l = () => setTimeout(()=>{\r\n if(f())return reslove();\r\n else if(rejectFail)return reject();\r\n else return l();\r\n },miliSec);\r\n l();\r\n });\r\n }\r\n\r\n #fetchLoop = () => {\r\n let that = this;\r\n var reqHeaders = new Headers();\r\n reqHeaders.append(\"Range\", \"bytes=\"+that.#loadedRange+\"-\");\r\n\r\n fetch(new Request(that.#url,{\r\n method: \"GET\",\r\n headers: reqHeaders,\r\n mode: \"cors\",\r\n cache: \"default\",\r\n }))\r\n .then((response) => {\r\n const reader = response.body.getReader();\r\n reader.read().then(function pump({ done, value }) {\r\n if(done)return that.eventCall(\"fetch.done\", \"ok\");\r\n if(that.#exit())return;\r\n \r\n that.#loadedRange += value.length;\r\n that.#fifo.put(value).then(tfifoL=>{that.#fifoL = tfifoL;});\r\n\r\n if(that.#fifoL>that.#mp4StopFromWeb){\r\n reader.cancel();\r\n return that.#loopIfFalse(()=>that.#exit() || that.#fifoLthat.#fetchLoop());\r\n }\r\n return reader.read().then(pump);\r\n });\r\n })\r\n .catch(({event: event, error: error}) => that.eventCall(\"error\", {altmsg: error}));\r\n }\r\n\r\n #sourceBufferLoop = () => {\r\n let that = this;\r\n let deal = () => {\r\n\r\n if(that.#mediaSource.sourceBuffers.length != 0 && that.#sourceBuffer.buffered.length != 0)\r\n that.#bufLen = that.#sourceBuffer.buffered.end(that.#sourceBuffer.buffered.length-1) - that.#video.currentTime;\r\n else that.#bufLen = 0;\r\n\r\n if(that.#exit()){\r\n try {\r\n that.eventCall(\"mediaSource.sourceended\");\r\n that.#mediaSource.endOfStream();\r\n } catch {}\r\n return;\r\n }\r\n\r\n if(that.#bufLen{\r\n that.#fifoL = size;\r\n that.#sourceBuffer.appendBuffer(data);\r\n })\r\n .catch(()=>setTimeout(deal, 1000));\r\n } else {\r\n return that.#loopIfFalse(()=>{\r\n if(that.#mediaSource.sourceBuffers.length != 0 && that.#sourceBuffer.buffered.length != 0)\r\n that.#bufLen = that.#sourceBuffer.buffered.end(that.#sourceBuffer.buffered.length-1) - that.#video.currentTime;\r\n else that.#bufLen = 0;\r\n return that.#exit() || that.#bufLen{\r\n if(that.#exit())return;\r\n console.log(\"[%s] fifo: %d buf: %d\", that.#id, that.#fifoL, that.#bufLen);\r\n that.#stateLoop();\r\n }, 2000);\r\n }\r\n\r\n #watchExit(){\r\n let exitf = (o) => {\r\n this.#forceExit = true;\r\n this.removeEventListener(\"mediaSource.sourceended\", exitf);\r\n this.removeEventListener(\"beforeunload\", exitf, window);\r\n this.removeEventListener(\"mediaSource.error\", exitf);\r\n this.removeEventListener(\"error\", exitf, this.#video);\r\n this.removeEventListener(\"error\", exitf, this.#sourceBuffer);\r\n if(o.event && o.event.name && o.event.name.indexOf(\"error\") != -1)console.error(o);\r\n else console.log(o);\r\n if(o.event && o.event.altmsg)alert(o.altmsg);\r\n }\r\n this.promise(\"mediaSource.sourceended\").then(exitf).catch(()=>{});\r\n this.promise(\"mediaSource.error\").then(exitf).catch(()=>{});\r\n EventPromise.toPromise(window, \"beforeunload\").then(exitf).catch(()=>{});\r\n EventPromise.toPromise(this.#video, \"error\").then(exitf).catch(()=>{});\r\n EventPromise.toPromise(this.#sourceBuffer, \"error\").then(exitf).catch(()=>{});\r\n }\r\n\r\n constructor({\r\n video: video, \r\n url: url, \r\n mimeType: mimeType = 'video/mp4; codecs=\"avc1.640032,mp4a.40.2\"', \r\n mode: mode = \"sequence\",\r\n mp4LoadFromDB = 20,\r\n mp4StopFromDB = 30,\r\n mp4LoadFromWeb = 1000,\r\n mp4StopFromWeb = 2000\r\n }){\r\n super();\r\n\r\n let that = this;\r\n that.#url = url;\r\n that.#video = video;\r\n that.#mp4LoadFromDB = mp4LoadFromDB;\r\n that.#mp4StopFromDB = mp4StopFromDB;\r\n that.#mp4LoadFromWeb = mp4LoadFromWeb;\r\n that.#mp4StopFromWeb = mp4StopFromWeb;\r\n\r\n if (!MediaSource.isTypeSupported(mimeType)) {\r\n that.eventCall(\"mediaSource.error\", {altmsg: mimeType+\" not Supported\"});\r\n return;\r\n }\r\n\r\n this.#mediaSource = new MediaSource();\r\n this.#mediaSource.addEventListener('sourceopen', () => {\r\n\r\n that.eventCall(\"mediaSource.sourceopen\");\r\n\r\n that.#sourceBuffer = that.#mediaSource.addSourceBuffer(mimeType);\r\n that.#sourceBuffer.mode = mode;\r\n\r\n if(that.#mediaSource.sourceBuffers.length == 0){\r\n that.eventCall(\"mediaSource.error\", {altmsg: \"addSourceBuffer error\"});\r\n return;\r\n }\r\n\r\n this.promise(\"fetch.done\").then(()=>{\r\n that.#fetchDone = true;\r\n console.log(\"[%s] fetch.done\", that.#id);\r\n });\r\n\r\n that.#watchExit();\r\n\r\n that.#stateLoop();\r\n\r\n that.#sourceBufferLoop();\r\n\r\n that.#fetchLoop();\r\n });\r\n\r\n new FIFO(fifo => {\r\n console.log(that);\r\n fifo.deleteOnExit();\r\n that.#fifo = fifo;\r\n that.#video.src = URL.createObjectURL(that.#mediaSource);\r\n });\r\n }\r\n }\r\n\r\n console.log(\"init 31\");\r\n let player,\r\n flvPlayer,\r\n danmuEmit = document.createElement(\"div\"),\r\n config = {\r\n conn: undefined,\r\n container: '.artplayer-app',\r\n url: \"../stream?_=\" + new Date().getTime()+\"&ref=\"+new URL(window.location.href).searchParams.get(\"ref\"),\r\n title: \"\" + new Date().getTime(),\r\n type: new URL(window.location.href).searchParams.get(\"format\")||\"flv\",\r\n volume: 0.5,\r\n hotkey: true,\r\n isLive: true,\r\n muted: false,\r\n autoplay: true,\r\n autoMini: true,\r\n screenshot: true,\r\n setting: true,\r\n loop: false,\r\n flip: true,\r\n playbackRate: true,\r\n aspectRatio: true,\r\n fullscreen: true,\r\n fullscreenWeb: true,\r\n subtitleOffset: true,\r\n miniProgressBar: true,\r\n mutex: true,\r\n backdrop: true,\r\n playsInline: true,\r\n autoPlayback: true,\r\n theme: '#23ade5',\r\n lang: navigator.language.toLowerCase(),\r\n whitelist: ['*'],\r\n moreVideoAttr: {\r\n crossOrigin: 'anonymous',\r\n },\r\n settings: [],\r\n contextmenu: [],\r\n layers: [],\r\n quality: [],\r\n thumbnails: {},\r\n subtitle: {},\r\n highlight: [],\r\n controls: [\r\n {\r\n name: '翻转',\r\n index: 10,\r\n position: 'right',\r\n html: '',\r\n click: function (...args) {\r\n let f = function(...e){\r\n // if(e)alert(e);\r\n rotate(document.querySelector('.art-video'));\r\n rotate(document.querySelector('.art-danmuku'));\r\n }, rotate = function(element) {\r\n if(element.style.transform == 'rotateZ(0deg)' || element.style.transform == ''){\r\n element.style.transform = 'rotateZ(180deg)';\r\n }\r\n else {\r\n element.style.transform = 'rotateZ(0deg)';\r\n }\r\n };\r\n\r\n switch (screen.orientation.type) {\r\n case \"landscape-primary\":\r\n screen.orientation.lock(\"landscape-secondary\").catch(e=>{f(e);});\r\n break;\r\n case \"landscape-secondary\":\r\n screen.orientation.lock(\"landscape-primary\").catch(e=>{f(e);});\r\n break;\r\n case \"portrait-secondary\":\r\n screen.orientation.lock(\"portrait-primary\").catch(e=>{f(e);});\r\n break;\r\n case \"portrait-primary\":\r\n screen.orientation.lock(\"portrait-secondary\").catch(e=>{f(e);});\r\n break;\r\n default:\r\n f();\r\n }\r\n },\r\n }\r\n ],\r\n plugins: [\r\n artplayerPluginDanmuku({\r\n danmuku: [],\r\n speed: 7,\r\n opacity: 0.7,\r\n mount: danmuEmit,\r\n }),\r\n ],\r\n icons: {\r\n loading: '',\r\n state: '',\r\n indicator: '',\r\n },\r\n customType: {\r\n mp4: (video, url) => {\r\n if(url.indexOf(\"now\")!=-1)new MSC({video: video, url: url});\r\n else video.src = url;\r\n },\r\n flv: function (video, url) {\r\n var needUnload = true;\r\n if(flvPlayer){\r\n needUnload = false;\r\n flvPlayer.destroy();\r\n }\r\n if (mpegts.getFeatureList().mseLivePlayback) {\r\n flvPlayer = mpegts.createPlayer({\r\n type: 'flv', // could also be mpegts, m2ts, flv\r\n isLive: true,\r\n url: url\r\n });\r\n flvPlayer.attachMediaElement(video);\r\n flvPlayer.load();\r\n flvPlayer.on(\"error\", function(){\r\n flvPlayer.destroy();\r\n var c = config;\r\n c.type=\"mp4\";\r\n initPlay(c);\r\n })\r\n if(needUnload){\r\n setTimeout(function(){\r\n if(flvPlayer.paused)flvPlayer.unload();\r\n },1000);\r\n }\r\n }\r\n },\r\n },\r\n };\r\n \r\n /**\r\n * ws 收发\r\n */\r\n function ws(player) {\r\n if (window[\"WebSocket\"]) {\r\n var conn = new WebSocket(\"ws://\" + window.location.host + window.location.pathname+\"ws?ref=\"+new URL(window.location.href).searchParams.get(\"ref\"));\r\n let interval_handle = undefined;\r\n player.on('video:error', conn.close);\r\n conn.onclose = function (evt) {\r\n clearInterval(interval_handle)\r\n };\r\n conn.onmessage = function (evt) {\r\n try {\r\n let data = JSON.parse(evt.data)\r\n player.plugins.artplayerPluginDanmuku.emit({\r\n text: data.text,\r\n color: data.style.color,\r\n border: data.style.border,\r\n mode: data.style.mode,\r\n });\r\n if(!interval_handle)interval_handle = setInterval(()=>{\r\n if(conn && player && player.currentTime)conn.send(player.currentTime);\r\n },3000);\r\n } catch (e) {\r\n console.log(e)\r\n console.log(evt.data)\r\n }\r\n };\r\n conn.onerror = () => {\r\n clearInterval(interval_handle)\r\n };\r\n conn.onopen = function () {\r\n conn.send(`pause`);\r\n config.conn = conn;\r\n };\r\n }\r\n }\r\n\r\n function initPlay(config) {\r\n if(player != undefined && player.destroy != undefined)player.destroy();\r\n player = new Artplayer(config);\r\n ws(player);\r\n player.on('ready', () => {\r\n player.autoHeight();\r\n });\r\n player.on('resize', () => {\r\n player.autoHeight();\r\n });\r\n player.on('video:play', (...args) => {\r\n if(config.conn != undefined)config.conn.send(`play`);\r\n });\r\n player.on('pause', (...args) => {\r\n if(config.conn != undefined)config.conn.send(`pause`);\r\n });\r\n player.on('video:error', (...args) => {\r\n console.log(\"clear danmu\");\r\n player.plugins.artplayerPluginDanmuku.config({\r\n danmuku: [],\r\n speed: 7,\r\n opacity: 0.7,\r\n mount: danmuEmit,\r\n });\r\n player.plugins.artplayerPluginDanmuku.load();\r\n if(config.conn != undefined){\r\n config.conn.close();\r\n config.conn = undefined;\r\n }\r\n ws(player);\r\n });\r\n player.on('video:ended', (...args) => {\r\n if(config.conn != undefined){\r\n config.conn.close();\r\n config.conn = undefined;\r\n }\r\n if(flvPlayer)flvPlayer.unload();\r\n });\r\n player.on('artplayerPluginDanmuku:visible', (danmu) => {\r\n danmu.$ref.innerHTML = danmu.$ref.innerText.replace(/(\\[.*\\])/,\"\\\"$1\\\"\");\r\n });\r\n player.on('artplayerPluginDanmuku:emit', (danmu) => {\r\n if(config.conn != undefined)config.conn.send(\"%S\"+danmu.text);\r\n });\r\n document.addEventListener(\"resize\", player.autoSize);\r\n // window.addEventListener('beforeunload', function (e) {\r\n // tabUnload = true;\r\n // });\r\n }\r\n\r\n http.get('../keepAlive', function (res) {\r\n res.on('data', function (buf) {\r\n config.url += \"&key=\"+buf;\r\n initPlay(config);\r\n let i = setInterval(function () {\r\n http.get('../keepAlive?key='+buf, function (res) {\r\n if (res.statusCode>=300)clearInterval(i);\r\n })\r\n },15000);\r\n });\r\n })\r\n})();"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"bundle.js","mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oIAAoI,qBAAM,CAAC,qBAAM,GAAG,8CAA8C,GAAG,KAA0B,iEAAiE,gBAAgB,UAAU,UAAU,oCAAoC,wBAAwB,oBAAoB,qCAAqC,0CAA0C,kCAAkC,sBAAsB,iBAAiB,mBAAmB,YAAY,2BAA2B,2CAA2C,oBAAoB,cAAc,mBAAmB,eAAe,OAAO,0CAA0C,wCAAwC,2DAA2D,oBAAoB,YAAY,GAAG,EAAE,iCAAiC,eAAe,aAAa,SAAS,YAAY,WAAW,YAAY,MAAM,WAAW,KAAoD,kBAAkB,CAAmE,EAAE,EAAE,uBAAuB,0DAA0D,mDAAmD,yHAAyH,cAAc,WAAW,8CAA8C,8DAA8D,+LAA+L,gBAAgB,cAAc,gBAAgB,cAAc,mBAAmB,sFAAsF,EAAE,qHAAqH,2BAA2B,0DAA0D,uBAAuB,wEAAwE,QAAQ,iBAAiB,IAAI,yBAAyB,GAAG,oJAAoJ,uFAAuF,iCAAiC,6bAA6b,oBAAoB,OAAO,mSAAmS,aAAa,UAAU,SAAS,WAAW,oBAAoB,OAAO,yfAAyf,qBAAqB,2BAA2B,oBAAoB,kBAAkB,sBAAsB,oBAAoB,uBAAuB,wBAAwB,qBAAqB,oBAAoB,oBAAoB,yEAAyE,uHAAuH,EAAE,eAAe,gDAAgD,gBAAgB,IAAI,QAAQ,qCAAqC,eAAe,cAAc,sHAAsH,mBAAmB,IAAI,QAAQ,qCAAqC,eAAe,cAAc,sHAAsH,eAAe,IAAI,QAAQ,aAAa,eAAe,qCAAqC,uHAAuH,WAAW,sDAAsD,oEAAoE,aAAa,IAAI,cAAc,eAAe,gEAAgE,sCAAsC,IAAI,eAAe,UAAU,cAAc,2CAA2C,8BAA8B,sHAAsH,oHAAoH,IAAI,YAAY,gIAAgI,aAAa,IAAI,cAAc,YAAY,IAAI,4fAA4f,SAAS,wDAAwD,YAAY,QAAQ,IAAI,QAAQ,YAAY,qBAAqB,8FAA8F,wJAAwJ,+GAA+G,OAAO,4EAA4E,uDAAuD,UAAU,IAAI,QAAQ,aAAa,kBAAkB,mBAAmB,mHAAmH,sdAAsd,WAAW,gCAAgC,kCAAkC,gBAAgB,EAAE,uBAAuB,qEAAqE,IAAI,OAAO,GAAG,mBAAmB,EAAE,YAAY,yBAAyB,YAAY,WAAW,YAAY,SAAS,cAAc,gIAAgI,YAAY,8PAA8P,SAAS,IAAI,YAAY,YAAY,yDAAyD,mCAAmC,uBAAuB,wCAAwC,4EAA4E,EAAE,kBAAkB,YAAY,WAAW,KAAK,WAAW,uCAAuC,IAAI,6BAA6B,cAAc,6IAA6I,cAAc,yEAAyE,QAAQ,0IAA0I,4BAA4B,MAAM,yBAAyB,QAAQ,2DAA2D,iJAAiJ,EAAE,WAAW,wFAAwF,KAAK,mDAAmD,EAAE,yEAAyE,4BAA4B,EAAE,uEAAuE,GAAG,0CAA0C,YAAY,aAAa,MAAM,kEAAkE,qBAAqB,IAAI,sDAAsD,2BAA2B,OAAO,SAAS,IAAI,cAAc,cAAc,uBAAuB,kCAAkC,EAAE,KAAK,yBAAyB,2CAA2C,2BAA2B,qBAAqB,EAAE,yCAAyC,GAAG,0CAA0C,YAAY,cAAc,EAAE,WAAW,IAAI,cAAc,cAAc,8BAA8B,mEAAmE,2BAA2B,qCAAqC,GAAG,0CAA0C,YAAY,cAAc,OAAO,UAAU,IAAI,cAAc,cAAc,8BAA8B,uCAAuC,0DAA0D,qCAAqC,GAAG,uDAAuD,OAAO,OAAO,+HAA+H,QAAQ,uGAAuG,QAAQ,kGAAkG,OAAO,6HAA6H,OAAO,6HAA6H,UAAU,yTAAyT,YAAY,EAAE,6GAA6G,yBAAyB,0DAA0D,cAAc,UAAU,sCAAsC,gBAAgB,iBAAiB,cAAc,sHAAsH,4BAA4B,oBAAoB,4CAA4C,yBAAyB,uBAAuB,uBAAuB,wBAAwB,8EAA8E,0BAA0B,0EAA0E,MAAM,kBAAkB,oBAAoB,qBAAqB,yBAAyB,+IAA+I,EAAE,yDAAyD,2BAA2B,6BAA6B,0BAA0B,WAAW,iCAAiC,sCAAsC,SAAS,EAAE,2BAA2B,0CAA0C,uGAAuG,6BAA6B,aAAa,EAAE,IAAI,0BAA0B,2BAA2B,oBAAoB,GAAG,GAAG,yBAAyB,gCAAgC,oJAAoJ,8CAA8C,8FAA8F,gBAAgB,UAAU,UAAU,oCAAoC,wBAAwB,oBAAoB,qCAAqC,4CAA4C,kCAAkC,sBAAsB,iBAAiB,mBAAmB,YAAY,2BAA2B,2CAA2C,oBAAoB,cAAc,mBAAmB,eAAe,OAAO,0CAA0C,wCAAwC,2DAA2D,oBAAoB,YAAY,GAAG,EAAE,iCAAiC,eAAe,aAAa,SAAS,YAAY,WAAW,YAAY,MAAM,WAAW,+HAA+H,SAAS,GAAG,EAAE,yBAAyB,cAAc,IAAI,OAAO,GAAG,gBAAgB,gBAAgB,0FAA0F,EAAE,4EAA4E,+CAA+C,cAAc,oEAAoE,UAAU,uEAAuE,kCAAkC,KAAK,MAAM,qCAAqC,2CAA2C,iBAAiB,WAAW,MAAM,qCAAqC,8BAA8B,SAAS,YAAY,aAAa,MAAM,WAAW,aAAa,oBAAoB,uCAAuC,iBAAiB,oBAAoB,QAAQ,kGAAkG,+BAA+B,qBAAqB,KAAK,eAAe,sBAAsB,sEAAsE,6BAA6B,EAAE,MAAM,6BAA6B,qCAAqC,0DAA0D,EAAE,oBAAoB,IAAI,kBAAkB,cAAc,GAAG,GAAG,EAAE,wCAAwC,EAAE,GAAG,yBAAyB,0DAA0D,uBAAuB,owBAAowB,mBAAmB,iBAAiB,yDAAyD,IAAI,WAAW,aAAa,kBAAkB,YAAY,qCAAqC,qRAAqR,cAAc,kDAAkD,uOAAuO,mBAAmB,OAAO,2OAA2O,aAAa,2BAA2B,cAAc,4DAA4D,eAAe,IAAI,SAAS,MAAM,iCAAiC,UAAU,EAAE,UAAU,gCAAgC,UAAU,kGAAkG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,6DAA6D,UAAU,EAAE,UAAU,QAAQ,KAAK,GAAG,KAAK,kDAAkD,UAAU,EAAE,UAAU,QAAQ,KAAK,GAAG,KAAK,kDAAkD,UAAU,EAAE,UAAU,QAAQ,KAAK,GAAG,KAAK,gGAAgG,UAAU,EAAE,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,8CAA8C,UAAU,EAAE,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,iEAAiE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,wDAAwD,KAAK,GAAG,KAAK,gEAAgE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,wDAAwD,KAAK,GAAG,KAAK,kEAAkE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,wDAAwD,KAAK,GAAG,KAAK,+DAA+D,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,wDAAwD,KAAK,GAAG,KAAK,gFAAgF,UAAU,+FAA+F,KAAK,GAAG,KAAK,6DAA6D,UAAU,QAAQ,KAAK,GAAG,KAAK,kDAAkD,UAAU,QAAQ,KAAK,GAAG,KAAK,kDAAkD,UAAU,QAAQ,KAAK,GAAG,KAAK,wDAAwD,KAAK,GAAG,KAAK,0BAA0B,sCAAsC,EAAE,+CAA+C,EAAE,oBAAoB,uEAAuE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,kCAAkC,YAAY,6BAA6B,KAAK,GAAG,KAAK,cAAc,cAAc,OAAO,+CAA+C,gBAAgB,OAAO,kDAAkD,aAAa,OAAO,oBAAoB,4BAA4B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,wBAAwB,yBAAyB,YAAY,OAAO,oBAAoB,mBAAmB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,kBAAkB,wBAAwB,YAAY,gMAAgM,SAAS,IAAI,QAAQ,aAAa,WAAW,eAAe,cAAc,aAAa,IAAI,UAAU,oBAAoB,SAAS,eAAe,8CAA8C,iBAAiB,IAAI,0BAA0B,uBAAuB,slCAAslC,IAAI,UAAU,eAAe,+CAA+C,YAAY,iDAAiD,YAAY,EAAE,eAAe,IAAI,8FAA8F,eAAe,8BAA8B,qBAAqB,6BAA6B,eAAe,+BAA+B,oCAAoC,aAAa,6BAA6B,mDAAmD,yCAAyC,uBAAuB,+BAA+B,eAAe,gCAAgC,qBAAqB,qCAAqC,eAAe,gCAAgC,qBAAqB,qDAAqD,eAAe,+BAA+B,oCAAoC,aAAa,6BAA6B,qBAAqB,OAAO,eAAe,+BAA+B,qCAAqC,yBAAyB,sBAAsB,gBAAgB,4EAA4E,kDAAkD,EAAE,gBAAgB,uCAAuC,sHAAsH,IAAI,gBAAgB,eAAe,iBAAiB,EAAE,wBAAwB,cAAc,GAAG,wCAAwC,uLAAuL,2BAA2B,aAAa,IAAI,eAAe,eAAe,0CAA0C,eAAe,GAAG,0CAA0C,uHAAuH,IAAI,iBAAiB,eAAe,iBAAiB,EAAE,yBAAyB,WAAW,GAAG,uCAAuC,yIAAyI,0BAA0B,aAAa,IAAI,cAAc,eAAe,0CAA0C,cAAc,GAAG,EAAE,cAAc,0DAA0D,EAAE,IAAI,gBAAgB,YAAY,2EAA2E,2DAA2D,qHAAqH,mDAAmD,OAAO,kBAAkB,QAAQ,gEAAgE,kBAAkB,mBAAmB,kBAAkB,gBAAgB,MAAM,mDAAmD,cAAc,IAAI,eAAe,2BAA2B,4CAA4C,oCAAoC,KAAK,mCAAmC,eAAe,uCAAuC,QAAQ,qCAAqC,eAAe,GAAG,SAAS,gBAAgB,iBAAiB,IAAI,sCAAsC,eAAe,qCAAqC,aAAa,IAAI,SAAS,gCAAgC,gDAAgD,OAAO,gFAAgF,IAAI,iBAAiB,sCAAsC,kCAAkC,sEAAsE,SAAS,kBAAkB,OAAO,IAAI,WAAW,aAAa,QAAQ,eAAe,eAAe,2BAA2B,8BAA8B,WAAW,2BAA2B,6CAA6C,OAAO,IAAI,SAAS,IAAI,cAAc,aAAa,QAAQ,eAAe,yEAAyE,QAAQ,IAAI,yBAAyB,aAAa,oBAAoB,eAAe,4oBAA4oB,wFAAwF,4DAA4D,SAAS,qDAAqD,2EAA2E,+BAA+B,8DAA8D,6BAA6B,KAAK,sCAAsC,8DAA8D,EAAE,kkBAAkkB,yBAAyB,qCAAqC,WAAW,WAAW,cAAc,uBAAuB,mBAAmB,SAAS,WAAW,YAAY,eAAe,gBAAgB,aAAa,kBAAkB,oCAAoC,eAAe,YAAY,UAAU,mBAAmB,0CAA0C,UAAU,sCAAsC,aAAa,kBAAkB,wDAAwD,YAAY,aAAa,aAAa,kBAAkB,YAAY,YAAY,gFAAgF,2BAA2B,kBAAkB,WAAW,aAAa,8DAA8D,aAAa,8KAA8K,mBAAmB,qCAAqC,mBAAmB,SAAS,eAAe,aAAa,+CAA+C,eAAe,kBAAkB,qDAAqD,cAAc,6CAA6C,mBAAmB,SAAS,aAAa,wDAAwD,iBAAiB,WAAW,sCAAsC,eAAe,OAAO,uBAAuB,mBAAmB,YAAY,aAAa,kBAAkB,uDAAuD,2BAA2B,kBAAkB,WAAW,WAAW,kBAAkB,gBAAgB,yDAAyD,8BAA8B,mBAAmB,aAAa,kBAAkB,QAAQ,2EAA2E,2BAA2B,kBAAkB,UAAU,WAAW,2DAA2D,yBAAyB,SAAS,YAAY,sDAAsD,yBAAyB,kBAAkB,WAAW,YAAY,kBAAkB,QAAQ,0BAA0B,wDAAwD,WAAW,8BAA8B,mBAAmB,wBAAwB,aAAa,kBAAkB,aAAa,yEAAyE,kBAAkB,cAAc,WAAW,UAAU,4CAA4C,mBAAmB,SAAS,aAAa,qHAAqH,WAAW,YAAY,uDAAuD,eAAe,mBAAmB,QAAQ,aAAa,6DAA6D,cAAc,uCAAuC,2BAA2B,kBAAkB,OAAO,mBAAmB,YAAY,aAAa,qCAAqC,uBAAuB,mBAAmB,aAAa,kBAAkB,sDAAsD,YAAY,aAAa,aAAa,kBAAkB,YAAY,WAAW,6EAA6E,2BAA2B,kBAAkB,WAAW,aAAa,4DAA4D,aAAa,sCAAsC,eAAe,QAAQ,eAAe,aAAa,iDAAiD,eAAe,kBAAkB,WAAW,YAAY,4DAA4D,sBAAsB,0BAA0B,qCAAqC,WAAW,uBAAuB,YAAY,aAAa,OAAO,WAAW,YAAY,YAAY,cAAc,kDAAkD,gBAAgB,oCAAoC,eAAe,iBAAiB,yBAAyB,4BAA4B,+BAA+B,cAAc,uBAAuB,mBAAmB,WAAW,YAAY,aAAa,6CAA6C,mBAAmB,WAAW,yBAAyB,kCAAkC,UAAU,YAAY,wFAAwF,SAAS,YAAY,wWAAwW,WAAW,YAAY,kHAAkH,UAAU,YAAY,0CAA0C,uBAAuB,4EAA4E,yBAAyB,SAAS,0LAA0L,SAAS,+DAA+D,UAAU,kEAAkE,yBAAyB,gEAAgE,WAAW,6EAA6E,gBAAgB,6CAA6C,cAAc,wFAAwF,aAAa,2CAA2C,cAAc,kEAAkE,aAAa,oIAAoI,cAAc,gIAAgI,aAAa,4HAA4H,cAAc,8DAA8D,aAAa,4DAA4D,cAAc,2DAA2D,aAAa,wDAAwD,oBAAoB,2DAA2D,aAAa,0DAA0D,cAAc,wDAAwD,cAAc,6DAA6D,aAAa,4DAA4D,cAAc,2DAA2D,aAAa,wDAAwD,oBAAoB,2DAA2D,aAAa,0DAA0D,cAAc,wDAAwD,cAAc,6DAA6D,aAAa,4DAA4D,cAAc,2DAA2D,aAAa,wDAAwD,oBAAoB,2DAA2D,aAAa,0DAA0D,cAAc,wDAAwD,cAAc,6DAA6D,aAAa,EAAE,GAAG,2BAA2B,i+DAAi+D,GAAG,yBAAyB,o1DAAo1D,GAAG,yBAAyB,6xEAA6xE,GAAG,2BAA2B,8eAA8e,GAAG,yBAAyB,irBAAirB,GAAG,yBAAyB,gaAAga,GAAG,yBAAyB,inBAAinB,GAAG,yBAAyB,6WAA6W,GAAG,yBAAyB,ulBAAulB,GAAG,yBAAyB,kXAAkX,GAAG,yBAAyB,obAAob,GAAG,2BAA2B,gVAAgV,GAAG,2BAA2B,0DAA0D,mDAAmD,OAAO,kDAAkD,wBAAwB,mBAAmB,2BAA2B,gBAAgB,WAAW,4BAA4B,OAAO,sEAAsE,kBAAkB,IAAI,QAAQ,qBAAqB,gBAAgB,6CAA6C,yGAAyG,YAAY,kBAAkB,iBAAiB,oEAAoE,OAAO,iCAAiC,IAAI,4IAA4I,uCAAuC,SAAS,uCAAuC,KAAK,qBAAqB,YAAY,OAAO,eAAe,wBAAwB,OAAO,sCAAsC,eAAe,uBAAuB,kCAAkC,yBAAyB,yDAAyD,YAAY,WAAW,KAAK,kBAAkB,6CAA6C,kBAAkB,oHAAoH,8CAA8C,aAAa,0EAA0E,WAAW,KAAK,GAAG,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,EAAE,4GAA4G,iBAAiB,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,KAAK,GAAG,EAAE,SAAS,MAAM,iCAAiC,KAAK,EAAE,IAAI,mIAAmI,eAAe,UAAU,yDAAyD,eAAe,UAAU,qFAAqF,oGAAoG,iFAAiF,EAAE,2FAA2F,aAAa,+BAA+B,aAAa,IAAI,6BAA6B,kCAAkC,aAAa,+BAA+B,aAAa,KAAK,wBAAwB,gDAAgD,MAAM,+BAA+B,MAAM,KAAK,4IAA4I,GAAG,EAAE,yDAAyD,EAAE;;;;;;;;;;;;ACLxijD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oIAAoI,qBAAM,CAAC,qBAAM,GAAG,8CAA8C,GAAG,KAA0B,iEAAiE,gBAAgB,UAAU,UAAU,oCAAoC,wBAAwB,oBAAoB,qCAAqC,0CAA0C,kCAAkC,sBAAsB,iBAAiB,mBAAmB,YAAY,2BAA2B,2CAA2C,oBAAoB,cAAc,mBAAmB,eAAe,OAAO,0CAA0C,wCAAwC,2DAA2D,oBAAoB,YAAY,GAAG,EAAE,iCAAiC,eAAe,aAAa,SAAS,YAAY,WAAW,YAAY,MAAM,WAAW,KAAoD,kBAAkB,CAAmE,EAAE,EAAE,uBAAuB,0DAA0D,uBAAuB,k4BAAk4B,aAAa,0BAA0B,iBAAiB,oBAAoB,8BAA8B,kxBAAkxB,6BAA6B,QAAQ,OAAO,EAAE,GAAG,4DAA4D,YAAY,0BAA0B,gEAAgE,aAAa,uBAAuB,SAAS,qBAAqB,cAAc,iBAAiB,mBAAmB,mBAAmB,4BAA4B,oBAAoB,iBAAiB,mBAAmB,SAAS,oBAAoB,iBAAiB,qBAAqB,iBAAiB,uBAAuB,iBAAiB,oBAAoB,wBAAwB,kBAAkB,sBAAsB,oBAAoB,OAAO,ofAAof,4CAA4C,WAAW,uBAAuB,mDAAmD,gBAAgB,iDAAiD,QAAQ,SAAS,UAAU,cAAc,wCAAwC,YAAY,yBAAyB,YAAY,2BAA2B,YAAY,4BAA4B,cAAc,mHAAmH,s0BAAs0B,8CAA8C,WAAW,wCAAwC,mCAAmC,yBAAyB,OAAO,EAAE,whBAAwhB,yBAAyB,6BAA6B,gBAAgB,sBAAsB,4BAA4B,kCAAkC,8BAA8B,mBAAmB,wBAAwB,0BAA0B,+BAA+B,4BAA4B,6BAA6B,sBAAsB,uBAAuB,0BAA0B,yBAAyB,qBAAqB,0BAA0B,gCAAgC,0BAA0B,0BAA0B,6BAA6B,6BAA6B,0BAA0B,8BAA8B,qBAAqB,wBAAwB,0BAA0B,gCAAgC,8BAA8B,gCAAgC,gCAAgC,mCAAmC,8BAA8B,uBAAuB,2BAA2B,2BAA2B,kCAAkC,+BAA+B,yBAAyB,qCAAqC,2CAA2C,+BAA+B,cAAc,wBAAwB,4BAA4B,sBAAsB,qBAAqB,mDAAmD,2BAA2B,2BAA2B,qBAAqB,yCAAyC,qCAAqC,cAAc,uBAAuB,mBAAmB,gBAAgB,kBAAkB,OAAO,gBAAgB,iBAAiB,sBAAsB,4BAA4B,6CAA6C,iDAAiD,kCAAkC,8BAA8B,0BAA0B,8BAA8B,cAAc,UAAU,WAAW,YAAY,cAAc,UAAU,+EAA+E,eAAe,gBAAgB,kBAAkB,uEAAuE,sBAAsB,sCAAsC,gCAAgC,iCAAiC,4CAA4C,iDAAiD,kDAAkD,uDAAuD,sBAAsB,mBAAmB,eAAe,sBAAsB,2BAA2B,oBAAoB,4BAA4B,qBAAqB,UAAU,uBAAuB,mBAAmB,cAAc,aAAa,kSAAkS,yCAAyC,qCAAqC,WAAW,WAAW,eAAe,WAAW,YAAY,kBAAkB,QAAQ,YAAY,WAAW,oBAAoB,wBAAwB,4BAA4B,sBAAsB,WAAW,YAAY,kBAAkB,QAAQ,gCAAgC,WAAW,kBAAkB,oBAAoB,uBAAuB,mBAAmB,4BAA4B,kCAAkC,wCAAwC,qDAAqD,0TAA0T,sBAAsB,WAAW,aAAa,aAAa,kBAAkB,kDAAkD,aAAa,iDAAiD,oEAAoE,aAAa,WAAW,oBAAoB,WAAW,YAAY,kBAAkB,QAAQ,gBAAgB,8BAA8B,WAAW,oBAAoB,WAAW,YAAY,aAAa,kBAAkB,QAAQ,yCAAyC,oBAAoB,6CAA6C,aAAa,4BAA4B,WAAW,oBAAoB,uBAAuB,mBAAmB,WAAW,YAAY,aAAa,kBAAkB,QAAQ,uCAAuC,UAAU,4BAA4B,6BAA6B,kDAAkD,uBAAuB,mBAAmB,aAAa,mBAAmB,2CAA2C,eAAe,oBAAoB,iCAAiC,mBAAmB,8CAA8C,aAAa,+BAA+B,WAAW,oBAAoB,uBAAuB,mBAAmB,WAAW,YAAY,aAAa,kBAAkB,QAAQ,gDAAgD,aAAa,8BAA8B,WAAW,UAAU,oBAAoB,6BAA6B,kDAAkD,8CAA8C,mDAAmD,2BAA2B,2BAA2B,sBAAsB,yBAAyB,WAAW,YAAY,aAAa,kBAAkB,QAAQ,gBAAgB,wFAAwF,+CAA+C,wDAAwD,uFAAuF,UAAU,sOAAsO,wBAAwB,0BAA0B,UAAU,oBAAoB,qCAAqC,kBAAkB,gDAAgD,eAAe,kCAAkC,uBAAuB,mBAAmB,aAAa,kBAAkB,4EAA4E,qDAAqD,2CAA2C,mBAAmB,WAAW,WAAW,aAAa,kBAAkB,gGAAgG,UAAU,wCAAwC,SAAS,YAAY,kBAAkB,QAAQ,iGAAiG,WAAW,yCAAyC,SAAS,YAAY,kBAAkB,QAAQ,iGAAiG,WAAW,kCAAkC,SAAS,YAAY,kBAAkB,QAAQ,oGAAoG,WAAW,oBAAoB,WAAW,YAAY,kBAAkB,QAAQ,yGAAyG,UAAU,oBAAoB,0DAA0D,4CAA4C,WAAW,YAAY,kBAAkB,iBAAiB,2CAA2C,oGAAoG,WAAW,gCAAgC,iCAAiC,4CAA4C,+CAA+C,wDAAwD,kBAAkB,uBAAuB,mBAAmB,aAAa,kBAAkB,OAAO,8GAA8G,oBAAoB,WAAW,YAAY,0GAA0G,+BAA+B,2GAA2G,6BAA6B,8FAA8F,WAAW,uCAAuC,mBAAmB,2CAA2C,gBAAgB,eAAe,cAAc,aAAa,kBAAkB,UAAU,OAAO,kFAAkF,YAAY,kDAAkD,0CAA0C,uCAAuC,oBAAoB,8CAA8C,aAAa,kBAAkB,OAAO,gDAAgD,0GAA0G,mBAAmB,cAAc,WAAW,oBAAoB,iCAAiC,8BAA8B,mBAAmB,aAAa,kBAAkB,mEAAmE,YAAY,aAAa,mCAAmC,OAAO,uBAAuB,mBAAmB,YAAY,eAAe,aAAa,kCAAkC,yBAAyB,2BAA2B,eAAe,mBAAmB,mCAAmC,qCAAqC,oCAAoC,sDAAsD,cAAc,uBAAuB,mBAAmB,aAAa,qCAAqC,oCAAoC,mCAAmC,+CAA+C,wDAAwD,4CAA4C,wDAAwD,iCAAiC,UAAU,oBAAoB,kBAAkB,sCAAsC,kBAAkB,eAAe,UAAU,oBAAoB,OAAO,QAAQ,iCAAiC,gCAAgC,gCAAgC,kDAAkD,uBAAuB,mBAAmB,cAAc,eAAe,aAAa,kBAAkB,2BAA2B,wDAAwD,uCAAuC,8CAA8C,sBAAsB,mBAAmB,SAAS,WAAW,YAAY,oBAAoB,aAAa,2EAA2E,eAAe,OAAO,uBAAuB,WAAW,aAAa,kBAAkB,8FAA8F,uCAAuC,2BAA2B,uBAAuB,UAAU,aAAa,kBAAkB,gBAAgB,iHAAiH,UAAU,kCAAkC,WAAW,YAAY,kBAAkB,QAAQ,iGAAiG,oCAAoC,qCAAqC,kDAAkD,kCAAkC,wDAAwD,mBAAmB,cAAc,kBAAkB,mBAAmB,wGAAwG,oBAAoB,4CAA4C,UAAU,oBAAoB,wBAAwB,8BAA8B,WAAW,2BAA2B,oBAAoB,WAAW,YAAY,aAAa,kBAAkB,eAAe,gDAAgD,uCAAuC,2CAA2C,YAAY,cAAc,oBAAoB,8CAA8C,aAAa,oCAAoC,YAAY,uCAAuC,8CAA8C,4CAA4C,sBAAsB,cAAc,eAAe,aAAa,kBAAkB,qDAAqD,eAAe,kCAAkC,kBAAkB,aAAa,0DAA0D,cAAc,sIAAsI,uBAAuB,2DAA2D,2BAA2B,gEAAgE,mBAAmB,yDAAyD,aAAa,gCAAgC,WAAW,uCAAuC,2BAA2B,0CAA0C,UAAU,yBAAyB,iCAAiC,2CAA2C,kDAAkD,8CAA8C,sBAAsB,aAAa,kBAAkB,qBAAqB,mDAAmD,sBAAsB,aAAa,+DAA+D,aAAa,qEAAqE,eAAe,+DAA+D,8BAA8B,mBAAmB,cAAc,aAAa,gBAAgB,2EAA2E,2BAA2B,iFAAiF,uBAAuB,qFAAqF,kBAAkB,YAAY,iGAAiG,mBAAmB,4FAA4F,uBAAuB,mBAAmB,QAAQ,aAAa,wHAAwH,qCAAqC,oCAAoC,uBAAuB,mBAAmB,aAAa,6FAA6F,uBAAuB,mBAAmB,QAAQ,eAAe,aAAa,6HAA6H,mBAAmB,gBAAgB,0HAA0H,uBAAuB,mBAAmB,eAAe,YAAY,aAAa,gHAAgH,gBAAgB,uBAAuB,aAAa,WAAW,WAAW,0EAA0E,kCAAkC,iDAAiD,aAAa,4BAA4B,wBAAwB,uBAAuB,YAAY,uCAAuC,8CAA8C,aAAa,eAAe,aAAa,kBAAkB,4CAA4C,sBAAsB,QAAQ,aAAa,2DAA2D,mBAAmB,QAAQ,aAAa,2EAA2E,iBAAiB,YAAY,6EAA6E,uBAAuB,mBAAmB,gBAAgB,YAAY,gBAAgB,4CAA4C,eAAe,kBAAkB,QAAQ,UAAU,0CAA0C,aAAa,mBAAmB,sBAAsB,qCAAqC,gBAAgB,gDAAgD,gBAAgB,uBAAuB,gBAAgB,0BAA0B,0BAA0B,0BAA0B,6BAA6B,oBAAoB,0BAA0B,0BAA0B,0BAA0B,6BAA6B,wCAAwC,WAAW,YAAY,eAAe,QAAQ,gBAAgB,aAAa,uCAAuC,YAAY,iBAAiB,gBAAgB,YAAY,aAAa,uBAAuB,eAAe,gBAAgB,6BAA6B,oBAAoB,UAAU,2BAA2B,oBAAoB,gCAAgC,WAAW,eAAe,UAAU,uBAAuB,kBAAkB,SAAS,WAAW,gCAAgC,WAAW,oBAAoB,UAAU,2BAA2B,uBAAuB,mBAAmB,WAAW,YAAY,uBAAuB,aAAa,kBAAkB,QAAQ,0CAA0C,YAAY,eAAe,oBAAoB,yBAAyB,mBAAmB,iDAAiD,qBAAqB,iCAAiC,WAAW,4EAA4E,UAAU,mDAAmD,qBAAqB,iDAAiD,qBAAqB,kCAAkC,4BAA4B,2BAA2B,QAAQ,wBAAwB,2CAA2C,kBAAkB,uBAAuB,mBAAmB,aAAa,kBAAkB,2BAA2B,2CAA2C,uCAAuC,wBAAwB,sEAAsE,8CAA8C,mBAAmB,SAAS,aAAa,cAAc,aAAa,kBAAkB,oEAAoE,eAAe,uBAAuB,mBAAmB,aAAa,wEAAwE,sBAAsB,WAAW,YAAY,mEAAmE,uBAAuB,eAAe,yCAAyC,4CAA4C,2FAA2F,UAAU,sBAAsB,UAAU,8OAA8O,6GAA6G,2IAA2I,uBAAuB,mDAAmD,aAAa,sBAAsB,kBAAkB,yCAAyC,kBAAkB,uCAAuC,UAAU,oBAAoB,iCAAiC,0CAA0C,8CAA8C,kDAAkD,sBAAsB,mBAAmB,aAAa,kBAAkB,qBAAqB,2BAA2B,4DAA4D,cAAc,uBAAuB,mBAAmB,WAAW,kBAAkB,cAAc,aAAa,kEAAkE,2BAA2B,0IAA0I,uBAAuB,+CAA+C,UAAU,oBAAoB,wBAAwB,gBAAgB,kBAAkB,qBAAqB,kBAAkB,6CAA6C,kBAAkB,UAAU,gBAAgB,oBAAoB,mBAAmB,kBAAkB,yBAAyB,yDAAyD,mBAAmB,UAAU,qBAAqB,uBAAuB,WAAW,gBAAgB,eAAe,uBAAuB,kBAAkB,sBAAsB,WAAW,mBAAmB,gBAAgB,iBAAiB,sDAAsD,eAAe,iBAAiB,kCAAkC,yBAAyB,iCAAiC,wBAAwB,wFAAwF,uBAAuB,iEAAiE,sBAAsB,0EAA0E,yBAAyB,mBAAmB,uBAAuB,oBAAoB,wBAAwB,kBAAkB,oBAAoB,mCAAmC,YAAY,SAAS,kBAAkB,qBAAqB,iBAAiB,0BAA0B,wBAAwB,2BAA2B,uBAAuB,0CAA0C,qBAAqB,iBAAiB,yCAAyC,SAAS,SAAS,qBAAqB,qBAAqB,oBAAoB,0BAA0B,2BAA2B,0BAA0B,0BAA0B,yCAAyC,oBAAoB,mBAAmB,kBAAkB,mBAAmB,oBAAoB,uCAAuC,WAAW,UAAU,mDAAmD,yBAAyB,mBAAmB,mBAAmB,mBAAmB,kBAAkB,oBAAoB,qCAAqC,WAAW,WAAW,iDAAiD,0BAA0B,uBAAuB,oBAAoB,6CAA6C,YAAY,SAAS,uBAAuB,qBAAqB,sBAAsB,iBAAiB,2BAA2B,6BAA6B,2BAA2B,4BAA4B,2CAA2C,wBAAwB,oBAAoB,+CAA+C,YAAY,SAAS,wBAAwB,qBAAqB,uBAAuB,kBAAkB,uBAAuB,2DAA2D,2BAA2B,0BAA0B,iBAAiB,mDAAmD,SAAS,SAAS,0BAA0B,qBAAqB,yBAAyB,iBAAiB,2BAA2B,gCAAgC,0BAA0B,+BAA+B,0CAA0C,2BAA2B,iBAAiB,qDAAqD,SAAS,SAAS,2BAA2B,qBAAqB,0BAA0B,kBAAkB,uBAAuB,iEAAiE,0BAA0B,0DAA0D,mBAAmB,qBAAqB,kBAAkB,mBAAmB,WAAW,oBAAoB,YAAY,mBAAmB,YAAY,sBAAsB,wBAAwB,iCAAiC,mBAAmB,2BAA2B,yBAAyB,qGAAqG,yBAAyB,8GAA8G,4BAA4B,+BAA+B,0BAA0B,gCAAgC,2BAA2B,qBAAqB,2BAA2B,yBAAyB,2GAA2G,yBAAyB,oHAAoH,4BAA4B,iCAAiC,0BAA0B,kCAAkC,2BAA2B,kBAAkB,2BAA2B,yBAAyB,kGAAkG,yBAAyB,2GAA2G,4BAA4B,8BAA8B,0BAA0B,+BAA+B,2BAA2B,qBAAqB,2BAA2B,yBAAyB,2GAA2G,yBAAyB,oHAAoH,4BAA4B,iCAAiC,0BAA0B,kCAAkC,2BAA2B,yCAAyC,UAAU,mBAAmB,+BAA+B,2BAA2B,8BAA8B,0CAA0C,oCAAoC,2BAA2B,mCAAmC,2CAA2C,yEAAyE,2BAA2B,kCAAkC,0BAA0B,iCAAiC,yCAAyC,uCAAuC,0BAA0B,sCAAsC,0CAA0C,+EAA+E,0BAA0B,+DAA+D,0BAA0B,iEAAiE,yBAAyB,qBAAqB,kBAAkB,iDAAiD,uBAAuB,yCAAyC,mGAAmG,6FAA6F,mFAAmF,+CAA+C,oBAAoB,mBAAmB,uBAAuB,aAAa,6BAA6B,sBAAsB,0BAA0B,2BAA2B,sBAAsB,gCAAgC,gCAAgC,wBAAwB,wBAAwB,gDAAgD,wCAAwC,iDAAiD,yCAAyC,EAAE,GAAG,2BAA2B,MAAM,aAAa,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,8CAA8C,gCAAgC,yBAAyB,WAAW,iCAAiC,+BAA+B,+BAA+B,+BAA+B,kFAAkF,mEAAmE,sGAAsG,eAAe,IAAI,mEAAmE,SAAS,6CAA6C,SAAS,sBAAsB,iIAAiI,+HAA+H,2JAA2J,aAAa,4BAA4B,8BAA8B,8BAA8B,8BAA8B,sBAAsB,sBAAsB,kCAAkC,oCAAoC,kDAAkD,oCAAoC,sCAAsC,oCAAoC,sCAAsC,wCAAwC,wCAAwC,wGAAwG,oBAAoB,qCAAqC,gDAAgD,gDAAgD,sDAAsD,oDAAoD,sDAAsD,cAAc,6CAA6C,gBAAgB,wEAAwE,yCAAyC,kBAAkB,iBAAiB,sHAAsH,mCAAmC,8BAA8B,qCAAqC,EAAE,gBAAgB,oHAAoH,wBAAwB,oCAAoC,qCAAqC,GAAG,UAAU,kBAAkB,oBAAoB,WAAW,4FAA4F,8BAA8B,mCAAmC,aAAa,4IAA4I,kBAAkB,sBAAsB,kBAAkB,WAAW,WAAW,uKAAuK,oBAAoB,eAAe,GAAG,2BAA2B,yFAAyF,UAAU,wBAAwB,EAAE,8BAA8B,WAAW,OAAO,YAAY,WAAW,iBAAiB,wBAAwB,4BAA4B,aAAa,0BAA0B,mBAAmB,YAAY,WAAW,+BAA+B,YAAY,SAAS,wBAAwB,cAAc,+BAA+B,IAAI,8CAA8C,0CAA0C,EAAE,yDAAyD,yBAAyB,6BAA6B,0BAA0B,WAAW,iCAAiC,sCAAsC,SAAS,EAAE,2BAA2B,0CAA0C,uGAAuG,6BAA6B,aAAa,EAAE,IAAI,0BAA0B,2BAA2B,oBAAoB,GAAG,GAAG,yBAAyB,0DAA0D,uBAAuB,iBAAiB,iBAAiB,mBAAmB,iBAAiB,sBAAsB,iBAAiB,kBAAkB,iBAAiB,sBAAsB,iBAAiB,kBAAkB,iBAAiB,oBAAoB,iBAAiB,2BAA2B,iBAAiB,EAAE,oNAAoN,yBAAyB,0DAA0D,qpBAAqpB,2BAA2B,yBAAyB,0BAA0B,yBAAyB,yCAAyC,gBAAgB,0BAA0B,gBAAgB,6BAA6B,gBAAgB,+BAA+B,gBAAgB,yHAAyH,cAAc,mCAAmC,kBAAkB,sBAAsB,gBAAgB,2BAA2B,SAAS,qBAAqB,0DAA0D,yBAAyB,cAAc,6DAA6D,gBAAgB,+BAA+B,wBAAwB,8EAA8E,EAAE,IAAI,kBAAkB,6NAA6N,YAAY,gBAAgB,sDAAsD,gBAAgB,wCAAwC,cAAc,iCAAiC,sBAAsB,aAAa,uCAAuC,EAAE,YAAY,gBAAgB,iCAAiC,qBAAqB,KAAK,iBAAiB,qDAAqD,aAAa,oCAAoC,uDAAuD,cAAc,kCAAkC,EAAE,mFAAmF,yBAAyB,0DAA0D,uRAAuR,sYAAsY,EAAE,yDAAyD,2BAA2B,0DAA0D,0FAA0F,sBAAsB,iBAAiB,mIAAmI,gBAAgB,qBAAqB,UAAU,EAAE,yDAAyD,yBAAyB,0DAA0D,cAAc,gFAAgF,mBAAmB,2DAA2D,EAAE,GAAG,EAAE,EAAE,aAAa,WAAW,uBAAuB,YAAY,sBAAsB,SAAS,sBAAsB,WAAW,oEAAoE,SAAS,2BAA2B,cAAc,yCAAyC,gBAAgB,GAAG,cAAc,iHAAiH,EAAE,mBAAmB,iBAAiB,qCAAqC,mBAAmB,0BAA0B,EAAE,IAAI,0BAA0B,EAAE,GAAG,8CAA8C,kCAAkC,EAAE,MAAM,EAAE,EAAE,WAAW,4CAA4C,iBAAiB,UAAU,4DAA4D,SAAS,gFAAgF,MAAM,wCAAwC,SAAS,MAAM,MAAM,UAAU,OAAO,uCAAuC,+GAA+G,EAAE,yDAAyD,2BAA2B,0DAA0D,gBAAgB,kCAAkC,iHAAiH,6DAA6D,qHAAqH,+BAA+B,EAAE,yDAAyD,2BAA2B,0DAA0D,2IAA2I,kDAAkD,mDAAmD,kBAAkB,qFAAqF,OAAO,EAAE,EAAE,6BAA6B,iBAAiB,kBAAkB,gBAAgB,mBAAmB,gBAAgB,6CAA6C,EAAE,yDAAyD,2BAA2B,0DAA0D,gBAAgB,uCAAuC,gBAAgB,MAAM,sBAAsB,8DAA8D,gBAAgB,SAAS,sBAAsB,+CAA+C,KAAK,MAAM,2GAA2G,EAAE,yDAAyD,2BAA2B,0DAA0D,kBAAkB,yDAAyD,cAAc,4CAA4C,cAAc,6CAA6C,cAAc,oBAAoB,iFAAiF,0CAA0C,EAAE,uBAAuB,cAAc,iCAAiC,UAAU,WAAW,WAAW,YAAY,aAAa,EAAE,SAAS,cAAc,OAAO,MAAM,WAAW,WAAW,YAAY,aAAa,MAAM,cAAc,yBAAyB,QAAQ,+BAA+B,8MAA8M,EAAE,yDAAyD,yBAAyB,0DAA0D,2DAA2D,oBAAoB,wEAAwE,kBAAkB,8DAA8D,aAAa,WAAW,EAAE,sBAAsB,OAAO,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,WAAW,2aAA2a,wBAAwB,6BAA6B,yCAAyC,aAAa,cAAc,cAAc,iBAAiB,YAAY,YAAY,EAAE,eAAe,cAAc,cAAc,cAAc,yCAAyC,WAAW,4DAA4D,uDAAuD,EAAE,4EAA4E,2BAA2B,oFAAoF,+mCAA+mC,EAAE,yDAAyD,2BAA2B,yEAAyE,mBAAmB,QAAQ,eAAe,WAAW,IAAI,uBAAuB,GAAG,wKAAwK,YAAY,+FAA+F,4CAA4C,+FAA+F,EAAE,+NAA+N,kBAAkB,wqDAAwqD,SAAS,qCAAqC,OAAO,IAAI,SAAS,UAAU,knCAAknC,WAAW,2EAA2E,YAAY,EAAE,2EAA2E,2BAA2B,0DAA0D,uBAAuB,yDAAyD,gBAAgB,eAAe,2BAA2B,kBAAkB,iBAAiB,4BAA4B,OAAO,yCAAyC,oCAAoC,OAAO,2BAA2B,UAAU,+DAA+D,EAAE,8FAA8F,2BAA2B,yEAAyE,OAAO,0rBAA0rB,2EAA2E,EAAE,yDAAyD,2BAA2B,0DAA0D,uBAAuB,66CAA66C,gBAAgB,eAAe,6kBAA6kB,EAAE,i0BAAi0B,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,mBAAmB,UAAU,GAAG,mBAAmB,2BAA2B,MAAM,wDAAwD,mKAAmK,oBAAoB,GAAG,4CAA4C,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,UAAU,GAAG,oBAAoB,WAAW,0BAA0B,QAAQ,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,sCAAsC,YAAY,WAAW,UAAU,GAAG,oBAAoB,uBAAuB,qBAAqB,2DAA2D,WAAW,KAAK,WAAW,iBAAiB,UAAU,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,SAAS,iBAAiB,GAAG,qBAAqB,QAAQ,gBAAgB,gDAAgD,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,sBAAsB,uCAAuC,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,SAAS,GAAG,oBAAoB,OAAO,oEAAoE,mCAAmC,IAAI,+BAA+B,IAAI,yBAAyB,OAAO,wBAAwB,0BAA0B,OAAO,wBAAwB,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,SAAS,2BAA2B,GAAG,sBAAsB,4BAA4B,sCAAsC,gBAAgB,IAAI,0BAA0B,0CAA0C,uBAAuB,wBAAwB,6BAA6B,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,SAAS,YAAY,2BAA2B,iCAAiC,4EAA4E,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,wBAAwB,SAAS,IAAI,WAAW,mBAAmB,uBAAuB,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,gBAAgB,2BAA2B,oBAAoB,IAAI,uCAAuC,GAAG,8FAA8F,gBAAgB,mCAAmC,wEAAwE,EAAE,EAAE,6BAA6B,4BAA4B,2BAA2B,gBAAgB,wBAAwB,gBAAgB,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,SAAS,iBAAiB,GAAG,4BAA4B,8BAA8B,kDAAkD,cAAc,IAAI,yBAAyB,EAAE,GAAG,qBAAqB,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,0BAA0B,oBAAoB,GAAG,2BAA2B,gDAAgD,8JAA8J,KAAK,gCAAgC,6BAA6B,eAAe,mCAAmC,IAAI,2IAA2I,IAAI,kEAAkE,UAAU,sBAAsB,IAAI,iCAAiC,2BAA2B,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,mBAAmB,UAAU,mCAAmC,0BAA0B,8BAA8B,IAAI,4GAA4G,SAAS,eAAe,EAAE,4BAA4B,8BAA8B,IAAI,6FAA6F,0BAA0B,EAAE,SAAS,eAAe,EAAE,4BAA4B,gBAAgB,2BAA2B,oCAAoC,kCAAkC,iCAAiC,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oEAAoE,cAAc,IAAI,0BAA0B,oBAAoB,SAAS,+BAA+B,4CAA4C,+BAA+B,4BAA4B,4BAA4B,4CAA4C,gLAAgL,EAAE,OAAO,+CAA+C,mDAAmD,4BAA4B,8CAA8C,6EAA6E,GAAG,mCAAmC,mFAAmF,iBAAiB,0CAA0C,sDAAsD,GAAG,EAAE,yGAAyG,yBAAyB,yEAAyE,osBAAosB,yCAAyC,gBAAgB,mCAAmC,qCAAqC,SAAS,SAAS,OAAO,kDAAkD,IAAI,4DAA4D,WAAW,uBAAuB,iBAAiB,gCAAgC,yCAAyC,+BAA+B,oBAAoB,IAAI,OAAO,WAAW,uBAAuB,iBAAiB,mCAAmC,yCAAyC,mEAAmE,iBAAiB,YAAY,gBAAgB,SAAS,WAAW,qCAAqC,UAAU,WAAW,wCAAwC,QAAQ,2BAA2B,cAAc,wCAAwC,UAAU,oDAAoD,YAAY,uDAAuD,SAAS,aAAa,cAAc,EAAE,yDAAyD,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,wBAAwB,wBAAwB,QAAQ,6BAA6B,sDAAsD,4YAA4Y,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,0BAA0B,UAAU,GAAG,6CAA6C,IAAI,UAAU,SAAS,kBAAkB,GAAG,gDAAgD,gDAAgD,uDAAuD,iBAAiB,6CAA6C,iBAAiB,GAAG,mCAAmC,iBAAiB,mCAAmC,iBAAiB,EAAE,iDAAiD,IAAI,SAAS,YAAY,yDAAyD,+DAA+D,+IAA+I,EAAE,uBAAuB,iBAAiB,mCAAmC,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,SAAS,YAAY,sBAAsB,gCAAgC,4BAA4B,gEAAgE,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,sBAAsB,iCAAiC,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,SAAS,YAAY,uBAAuB,iEAAiE,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,gCAAgC,YAAY,wBAAwB,QAAQ,IAAI,2BAA2B,IAAI,iBAAiB,wBAAwB,mCAAmC,UAAU,sGAAsG,UAAU,wBAAwB,8BAA8B,GAAG,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,oBAAoB,0CAA0C,EAAE,uDAAuD,YAAY,WAAW,KAAK,WAAW,eAAe,kBAAkB,EAAE,iBAAiB,kCAAkC,mBAAmB,iCAAiC,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,UAAU,iBAAiB,GAAG,oBAAoB,wCAAwC,8EAA8E,oBAAoB,IAAI,2BAA2B,oBAAoB,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,oCAAoC,oBAAoB,gBAAgB,aAAa,IAAI,QAAQ,YAAY,uGAAuG,gBAAgB,0JAA0J,aAAa,IAAI,QAAQ,+FAA+F,yDAAyD,EAAE,gCAAgC,EAAE,KAAK,oBAAoB,4CAA4C,MAAM,4CAA4C,iBAAiB,IAAI,QAAQ,YAAY,iEAAiE,iCAAiC,sGAAsG,2DAA2D,uCAAuC,8GAA8G,2LAA2L,mCAAmC,gCAAgC,MAAM,qCAAqC,4BAA4B,0CAA0C,EAAE,MAAM,EAAE,OAAO,+BAA+B,MAAM,6CAA6C,uBAAuB,mEAAmE,OAAO,+BAA+B,MAAM,yCAAyC,KAAK,kCAAkC,gCAAgC,EAAE,gCAAgC,EAAE,uDAAuD,UAAU,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,WAAW,GAAG,sBAAsB,SAAS,IAAI,kDAAkD,SAAS,UAAU,QAAQ,0CAA0C,EAAE,KAAK,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,uBAAuB,GAAG,0BAA0B,QAAQ,IAAI,cAAc,IAAI,2BAA2B,WAAW,0DAA0D,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,UAAU,YAAY,sBAAsB,gFAAgF,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,qBAAqB,uCAAuC,2BAA2B,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,oBAAoB,6BAA6B,iBAAiB,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,kDAAkD,qBAAqB,2CAA2C,YAAY,WAAW,KAAK,WAAW,yBAAyB,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,QAAQ,sBAAsB,2BAA2B,YAAY,4BAA4B,KAAK,gCAAgC,iBAAiB,6BAA6B,sCAAsC,YAAY,YAAY,WAAW,KAAK,WAAW,aAAa,wCAAwC,wFAAwF,8BAA8B,yBAAyB,IAAI,EAAE,8BAA8B,iCAAiC,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,kCAAkC,UAAU,QAAQ,iIAAiI,uBAAuB,qBAAqB,MAAM,0BAA0B,8BAA8B,QAAQ,gGAAgG,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,uBAAuB,OAAO,IAAI,2BAA2B,gCAAgC,UAAU,gDAAgD,mBAAmB,+CAA+C,uCAAuC,sBAAsB,IAAI,OAAO,GAAG,GAAG,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,6BAA6B,oBAAoB,GAAG,0DAA0D,0EAA0E,sBAAsB,kHAAkH,SAAS,iLAAiL,aAAa,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,2DAA2D,cAAc,IAAI,yDAAyD,8BAA8B,OAAO,YAAY,0BAA0B,gCAAgC,gBAAgB,OAAO,KAAK,EAAE,0BAA0B,sBAAsB,8BAA8B,iFAAiF,0BAA0B,iGAAiG,+BAA+B,6FAA6F,mBAAmB,IAAI,EAAE,uLAAuL,mCAAmC,mFAAmF,8BAA8B,oDAAoD,0BAA0B,kCAAkC,yBAAyB,kDAAkD,4BAA4B,eAAe,6BAA6B,+BAA+B,2BAA2B,iCAAiC,4BAA4B,iCAAiC,+BAA+B,eAAe,4BAA4B,iCAAiC,GAAG,EAAE,gGAAgG,2BAA2B,0DAA0D,uBAAuB,8fAA8f,0BAA0B,eAAe,mEAAmE,IAAI,cAAc,IAAI,oBAAoB,mBAAmB,sBAAsB,2BAA2B,oBAAoB,sCAAsC,gCAAgC,yCAAyC,+BAA+B,6HAA6H,qBAAqB,sKAAsK,cAAc,OAAO,IAAI,SAAS,UAAU,kCAAkC,wCAAwC,wDAAwD,0CAA0C,2BAA2B,6CAA6C,2BAA2B,uCAAuC,qCAAqC,qCAAqC,6CAA6C,2BAA2B,qDAAqD,4CAA4C,sCAAsC,yCAAyC,kCAAkC,qCAAqC,oFAAoF,yCAAyC,4CAA4C,+CAA+C,yCAAyC,4CAA4C,GAAG,YAAY,oBAAoB,4BAA4B,OAAO,0CAA0C,6CAA6C,mBAAmB,mBAAmB,yBAAyB,MAAM,0BAA0B,MAAM,2BAA2B,MAAM,2FAA2F,cAAc,YAAY,EAAE,kVAAkV,yBAAyB,0DAA0D,uBAAuB,+GAA+G,gBAAgB,eAAe,2IAA2I,WAAW,sDAAsD,UAAU,QAAQ,YAAY,IAAI,UAAU,4BAA4B,UAAU,OAAO,wEAAwE,SAAS,qBAAqB,OAAO,yCAAyC,oGAAoG,iBAAiB,UAAU,EAAE,QAAQ,sBAAsB,+CAA+C,EAAE,YAAY,UAAU,eAAe,iCAAiC,wBAAwB,UAAU,2BAA2B,UAAU,GAAG,EAAE,GAAG,wCAAwC,iCAAiC,kEAAkE,iLAAiL,SAAS,YAAY,0CAA0C,iDAAiD,EAAE,UAAU,8GAA8G,yBAAyB,0CAA0C,mBAAmB,IAAI,gBAAgB,iBAAiB,yCAAyC,iCAAiC,+FAA+F,6DAA6D,2BAA2B,gBAAgB,EAAE,IAAI,OAAO,+CAA+C,0EAA0E,WAAW,4DAA4D,gBAAgB,QAAQ,KAAK,OAAO,4BAA4B,4EAA4E,aAAa,oCAAoC,kDAAkD,uCAAuC,4CAA4C,2CAA2C,IAAI,EAAE,UAAU,UAAU,wBAAwB,mCAAmC,EAAE,cAAc,UAAU,yEAAyE,YAAY,kBAAkB,wCAAwC,yDAAyD,UAAU,6BAA6B,0EAA0E,EAAE,6JAA6J,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,kDAAkD,IAAI,uBAAuB,sEAAsE,oDAAoD,2BAA2B,wBAAwB,+OAA+O,GAAG,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,sDAAsD,IAAI,uBAAuB,4EAA4E,oDAAoD,iCAAiC,2BAA2B,uPAAuP,GAAG,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,gDAAgD,IAAI,uBAAuB,GAAG,uCAAuC,aAAa,iBAAiB,qDAAqD,GAAG,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,iBAAiB,IAAI,uBAAuB,sDAAsD,aAAa,sEAAsE,aAAa,sEAAsE,gFAAgF,SAAS,mBAAmB,UAAU,8CAA8C,IAAI,0BAA0B,IAAI,GAAG,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,0HAA0H,oBAAoB,gBAAgB,IAAI,YAAY,aAAa,OAAO,yLAAyL,OAAO,sCAAsC,gBAAgB,eAAe,mDAAmD,uCAAuC,KAAK,IAAI,sBAAsB,QAAQ,wCAAwC,cAAc,WAAW,IAAI,yBAAyB,GAAG,OAAO,mTAAmT,kQAAkQ,gBAAgB,IAAI,eAAe,WAAW,cAAc,oBAAoB,iFAAiF,gBAAgB,gCAAgC,MAAM,KAAK,6HAA6H,kCAAkC,0CAA0C,MAAM,6CAA6C,MAAM,+CAA+C,MAAM,+BAA+B,MAAM,iDAAiD,4DAA4D,oCAAoC,mCAAmC,OAAO,yCAAyC,eAAe,YAAY,qBAAqB,KAAK,6FAA6F,OAAO,eAAe,OAAO,iBAAiB,EAAE,YAAY,mBAAmB,6BAA6B,mCAAmC,wCAAwC,mCAAmC,+BAA+B,mCAAmC,0BAA0B,4BAA4B,qEAAqE,qBAAqB,sBAAsB,IAAI,aAAa,QAAQ,wGAAwG,IAAI,QAAQ,SAAS,OAAO,kBAAkB,cAAc,oBAAoB,iFAAiF,gBAAgB,gCAAgC,MAAM,KAAK,SAAS,uBAAuB,gEAAgE,sBAAsB,eAAe,gCAAgC,MAAM,IAAI,sBAAsB,QAAQ,wCAAwC,+BAA+B,UAAU,OAAO,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,uBAAuB,gCAAgC,EAAE,+BAA+B,aAAa,aAAa,SAAS,mCAAmC,IAAI,+BAA+B,EAAE,iCAAiC,IAAI,mEAAmE,YAAY,WAAW,kBAAkB,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,iBAAiB,IAAI,gBAAgB,kdAAkd,cAAc,IAAI,eAAe,kBAAkB,yBAAyB,aAAa,2KAA2K,KAAK,mBAAmB,gGAAgG,MAAM,8BAA8B,MAAM,+BAA+B,qDAAqD,WAAW,mBAAmB,WAAW,gDAAgD,KAAK,SAAS,oBAAoB,6BAA6B,gCAAgC,8BAA8B,+BAA+B,UAAU,IAAI,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,oDAAoD,IAAI,uBAAuB,GAAG,2CAA2C,2CAA2C,qBAAqB,wDAAwD,GAAG,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,iBAAiB,IAAI,iBAAiB,UAAU,WAAW,sBAAsB,2BAA2B,6BAA6B,kCAAkC,mBAAmB,wDAAwD,sBAAsB,oEAAoE,IAAI,yCAAyC,6HAA6H,0CAA0C,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,+CAA+C,aAAa,MAAM,IAAI,sFAAsF,gBAAgB,gCAAgC,MAAM,KAAK,yFAAyF,mCAAmC,QAAQ,GAAG,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,kDAAkD,IAAI,gBAAgB,GAAG,8CAA8C,eAAe,GAAG,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,YAAY,+CAA+C,IAAI,gBAAgB,GAAG,wDAAwD,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,uBAAuB,+SAA+S,0BAA0B,eAAe,8FAA8F,OAAO,IAAI,2BAA2B,0BAA0B,UAAU,wCAAwC,6BAA6B,0CAA0C,4BAA4B,mCAAmC,qBAAqB,2BAA2B,qBAAqB,2BAA2B,wBAAwB,2BAA2B,sBAAsB,GAAG,YAAY,uBAAuB,+BAA+B,sBAAsB,+DAA+D,aAAa,6BAA6B,8BAA8B,mBAAmB,iBAAiB,8BAA8B,qDAAqD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,4CAA4C,0BAA0B,aAAa,GAAG,YAAY,EAAE,kOAAkO,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,WAAW,IAAI,oBAAoB,iBAAiB,mCAAmC,EAAE,IAAI,mCAAmC,mBAAmB,OAAO,aAAa,oBAAoB,IAAI,EAAE,gBAAgB,IAAI,QAAQ,kBAAkB,wCAAwC,aAAa,wCAAwC,oEAAoE,iFAAiF,uCAAuC,MAAM,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,WAAW,IAAI,oBAAoB,gBAAgB,mCAAmC,EAAE,IAAI,iCAAiC,mBAAmB,OAAO,aAAa,sBAAsB,IAAI,EAAE,gBAAgB,IAAI,QAAQ,kBAAkB,+BAA+B,aAAa,8CAA8C,8DAA8D,4DAA4D,uCAAuC,MAAM,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,WAAW,IAAI,oBAAoB,QAAQ,mCAAmC,EAAE,IAAI,2BAA2B,mBAAmB,OAAO,aAAa,oBAAoB,IAAI,EAAE,gBAAgB,IAAI,QAAQ,kBAAkB,sCAAsC,aAAa,6CAA6C,uDAAuD,4DAA4D,uCAAuC,MAAM,EAAE,4EAA4E,yBAAyB,0DAA0D,cAAc,YAAY,6CAA6C,0BAA0B,EAAE,mDAAmD,EAAE,yDAAyD,yBAAyB,0DAA0D,cAAc,OAAO,iFAAiF,mDAAmD,EAAE,yDAAyD,2BAA2B,0DAA0D,cAAc,YAAY,wCAAwC,WAAW,EAAE,mDAAmD,EAAE,yDAAyD,yBAAyB,0DAA0D,uBAAuB,kEAAkE,0BAA0B,eAAe,kDAAkD,OAAO,IAAI,gCAAgC,oCAAoC,UAAU,iBAAiB,aAAa,EAAE,kDAAkD,wDAAwD,YAAY,WAAW,KAAK,oEAAoE,iCAAiC,iCAAiC,IAAI,YAAY,EAAE,uGAAuG,yBAAyB,0DAA0D,uBAAuB,sJAAsJ,0BAA0B,eAAe,sFAAsF,SAAS,6BAA6B,oBAAoB,0DAA0D,sFAAsF,EAAE,UAAU,oCAAoC,WAAW,eAAe,gBAAgB,8CAA8C,gBAAgB,oCAAoC,WAAW,IAAI,YAAY,mBAAmB,oEAAoE,SAAS,IAAI,YAAY,mBAAmB,wJAAwJ,gBAAgB,uGAAuG,mBAAmB,EAAE,IAAI,yBAAyB,aAAa,yBAAyB,sBAAsB,0BAA0B,yBAAyB,IAAI,OAAO,KAAK,iBAAiB,IAAI,4BAA4B,WAAW,kBAAkB,kCAAkC,4NAA4N,cAAc,IAAI,mBAAmB,aAAa,UAAU,uHAAuH,4CAA4C,wEAAwE,WAAW,yCAAyC,yBAAyB,WAAW,yCAAyC,yBAAyB,WAAW,qBAAqB,yBAAyB,sBAAsB,uJAAuJ,gCAAgC,GAAG,YAAY,EAAE,qJAAqJ,2BAA2B,0DAA0D,uBAAuB,uWAAuW,gBAAgB,eAAe,6SAA6S,gBAAgB,EAAE,yDAAyD,0BAA0B,uCAAuC,oCAAoC,aAAa,gEAAgE,WAAW,2BAA2B,MAAM,qCAAqC,KAAK,4EAA4E,oBAAoB,0BAA0B,uGAAuG,MAAM,KAAK,EAAE,UAAU,oCAAoC,2CAA2C,UAAU,YAAY,4BAA4B,8BAA8B,EAAE,uQAAuQ,yBAAyB,0DAA0D,mDAAmD,oBAAoB,gBAAgB,IAAI,wBAAwB,oBAAoB,GAAG,6CAA6C,+IAA+I,EAAE,SAAS,sBAAsB,iBAAiB,UAAU,IAAI,8EAA8E,yBAAyB,iBAAiB,4EAA4E,MAAM,qGAAqG,MAAM,cAAc,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,gBAAgB,IAAI,UAAU,YAAY,cAAc,mDAAmD,KAAK,sDAAsD,GAAG,EAAE,4EAA4E,yBAAyB,0DAA0D,gBAAgB,IAAI,UAAU,YAAY,0BAA0B,sBAAsB,EAAE,mDAAmD,EAAE,yDAAyD,2BAA2B,0DAA0D,mDAAmD,oBAAoB,gBAAgB,IAAI,uBAAuB,GAAG,mBAAmB,IAAI,uBAAuB,GAAG,yEAAyE,EAAE,yDAAyD,8JAA8J,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,+CAA+C,gBAAgB,iCAAiC,IAAI,qBAAqB,0CAA0C,oCAAoC,sCAAsC,IAAI,gBAAgB,cAAc,yBAAyB,OAAO,wCAAwC,IAAI,gBAAgB,kCAAkC,oBAAoB,yCAAyC,kCAAkC,uGAAuG,kDAAkD,kCAAkC,gLAAgL,oFAAoF,uBAAuB,IAAI,+BAA+B,KAAK,2BAA2B,SAAS,6BAA6B,SAAS,qFAAqF,6BAA6B,IAAI,EAAE,0GAA0G,yBAAyB,0DAA0D,mDAAmD,oBAAoB,gBAAgB,IAAI,iCAAiC,cAAc,yBAAyB,kDAAkD,gBAAgB,iDAAiD,wBAAwB,GAAG,EAAE,4EAA4E,2BAA2B,0DAA0D,gBAAgB,iCAAiC,+BAA+B,iCAAiC,6BAA6B,EAAE,mDAAmD,EAAE,yDAAyD,2BAA2B,0DAA0D,cAAc,0BAA0B,WAAW,cAAc,mEAAmE,uBAAuB,wBAAwB,GAAG,mDAAmD,EAAE,yDAAyD,yBAAyB,yEAAyE,mBAAmB,gBAAgB,eAAe,uBAAuB,2CAA2C,OAAO,IAAI,sBAAsB,UAAU,iBAAiB,oDAAoD,mBAAmB,kBAAkB,mBAAmB,8BAA8B,mBAAmB,+BAA+B,mBAAmB,6BAA6B,mBAAmB,+BAA+B,yBAAyB,qBAAqB,4GAA4G,oGAAoG,2BAA2B,MAAM,mBAAmB,YAAY,WAAW,0BAA0B,6BAA6B,EAAE,SAAS,+DAA+D,YAAY,iBAAiB,8BAA8B,iCAAiC,cAAc,EAAE,2EAA2E,2BAA2B,0DAA0D,uBAAuB,mDAAmD,0BAA0B,eAAe,SAAS,IAAI,mBAAmB,UAAU,GAAG,iCAAiC,YAAY,kBAAkB,2BAA2B,YAAY,EAAE,qFAAqF,yBAAyB,0DAA0D,uBAAuB,kEAAkE,0BAA0B,eAAe,gFAAgF,YAAY,EAAE,uGAAuG,2BAA2B,yEAAyE,mBAAmB,gBAAgB,eAAe,2BAA2B,YAAY,IAAI,wBAAwB,0BAA0B,UAAU,6IAA6I,sDAAsD,0DAA0D,EAAE,2EAA2E,2BAA2B,0DAA0D,uBAAuB,kEAAkE,0BAA0B,eAAe,0BAA0B,IAAI,4BAA4B,qEAAqE,uDAAuD,oEAAoE,0CAA0C,YAAY,EAAE,uGAAuG,2BAA2B,0DAA0D,uBAAuB,+gDAA+gD,gBAAgB,eAAe,OAAO,shBAAshB,iCAAiC,8BAA8B,IAAI,EAAE,+jCAA+jC,yBAAyB,kuFAAkuF,GAAG,yBAAyB,6dAA6d,GAAG,yBAAyB,yFAAyF,+FAA+F,GAAG,yBAAyB,yNAAyN,GAAG,yBAAyB,sMAAsM,GAAG,yBAAyB,gaAAga,GAAG,yBAAyB,+oBAA+oB,GAAG,yBAAyB,qYAAqY,GAAG,2BAA2B,gyBAAgyB,GAAG,yBAAyB,2JAA2J,GAAG,2BAA2B,2JAA2J,GAAG,yBAAyB,kcAAkc,GAAG,2BAA2B,yFAAyF,YAAY,+xBAA+xB,GAAG,yBAAyB,oOAAoO,GAAG,yBAAyB,oPAAoP,GAAG,yBAAyB,kbAAkb,GAAG,2BAA2B,2ZAA2Z,GAAG,yBAAyB,kUAAkU,GAAG,yBAAyB,uUAAuU,GAAG,2BAA2B,2oBAA2oB,GAAG,2BAA2B,4oBAA4oB,GAAG,yBAAyB,+PAA+P,GAAG,yBAAyB,yaAAya,GAAG,yBAAyB,2xBAA2xB,GAAG,2BAA2B,slBAAslB,GAAG,yBAAyB,ukBAAukB,GAAG,yBAAyB,qOAAqO,GAAG,yBAAyB,0DAA0D,uBAAuB,mQAAmQ,0BAA0B,eAAe,SAAS,IAAI,8BAA8B,YAAY,GAAG,6HAA6H,mDAAmD,mBAAmB,mFAAmF,0DAA0D,GAAG,4BAA4B,YAAY,WAAW,KAAK,WAAW,oEAAoE,SAAS,sBAAsB,UAAU,SAAS,UAAU,kMAAkM,OAAO,IAAI,SAAS,oDAAoD,uEAAuE,UAAU,YAAY,qBAAqB,2CAA2C,4DAA4D,yBAAyB,YAAY,WAAW,KAAK,WAAW,wBAAwB,kCAAkC,gBAAgB,UAAU,mBAAmB,mCAAmC,EAAE,uBAAuB,uDAAuD,6HAA6H,UAAU,wBAAwB,uIAAuI,OAAO,wHAAwH,eAAe,IAAI,8BAA8B,uCAAuC,6BAA6B,sBAAsB,oFAAoF,+FAA+F,gIAAgI,kDAAkD,6BAA6B,eAAe,IAAI,8BAA8B,uCAAuC,kEAAkE,sBAAsB,wHAAwH,8JAA8J,yDAAyD,mHAAmH,MAAM,+JAA+J,gDAAgD,2CAA2C,4CAA4C,EAAE,iCAAiC,0HAA0H,2CAA2C,4CAA4C,EAAE,iCAAiC,8IAA8I,2CAA2C,4CAA4C,KAAK,cAAc,iCAAiC,gDAAgD,+DAA+D,yGAAyG,yCAAyC,2JAA2J,EAAE,MAAM,aAAa,iCAAiC,gDAAgD,6CAA6C,4KAA4K,+CAA+C,mBAAmB,EAAE,MAAM,iDAAiD,iCAAiC,gGAAgG,UAAU,4BAA4B,4BAA4B,+CAA+C,EAAE,oBAAoB,MAAM,yBAAyB,cAAc,oCAAoC,+CAA+C,EAAE,oBAAoB,eAAe,mCAAmC,gDAAgD,EAAE,qBAAqB,MAAM,gBAAgB,4BAA4B,iEAAiE,KAAK,oCAAoC,YAAY,gCAAgC,KAAK,gCAAgC,gBAAgB,oFAAoF,wDAAwD,0FAA0F,EAAE,gEAAgE,SAAS,eAAe,IAAI,mCAAmC,sBAAsB,UAAU,2BAA2B,0BAA0B,eAAe,2BAA2B,eAAe,gCAAgC,iGAAiG,EAAE,wCAAwC,YAAY,IAAI,cAAc,UAAU,sBAAsB,wBAAwB,2EAA2E,gBAAgB,6CAA6C,iBAAiB,+CAA+C,KAAK,iCAAiC,0PAA0P,YAAY,WAAW,KAAK,WAAW,6KAA6K,4HAA4H,gBAAgB,6CAA6C,iBAAiB,8JAA8J,YAAY,EAAE,+NAA+N,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,4BAA4B,6BAA6B,GAAG,kBAAkB,4CAA4C,yEAAyE,uCAAuC,OAAO,qHAAqH,6BAA6B,EAAE,qDAAqD,uDAAuD,wCAAwC,uBAAuB,KAAK,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,4BAA4B,qCAAqC,GAAG,cAAc,uCAAuC,kBAAkB,sBAAsB,yEAAyE,uCAAuC,OAAO,uHAAuH,6BAA6B,EAAE,sCAAsC,8DAA8D,sDAAsD,8BAA8B,KAAK,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,4BAA4B,sCAAsC,GAAG,cAAc,0CAA0C,kBAAkB,sBAAsB,iFAAiF,uCAAuC,OAAO,wHAAwH,6BAA6B,EAAE,uCAAuC,+DAA+D,4DAA4D,+BAA+B,KAAK,EAAE,4EAA4E,yBAAyB,0DAA0D,cAAc,IAAI,6BAA6B,GAAG,OAAO,mLAAmL,mDAAmD,EAAE,yDAAyD,yBAAyB,yFAAyF,cAAc,gDAAgD,OAAO,IAAI,6DAA6D,gBAAgB,SAAS,yCAAyC,SAAS,IAAI,sBAAsB,aAAa,MAAM,EAAE,yDAAyD,SAAS,oBAAoB,OAAO,IAAI,iBAAiB,qEAAqE,SAAS,yBAAyB,QAAQ,IAAI,0CAA0C,SAAS,oBAAoB,EAAE,yDAAyD,2BAA2B,0DAA0D,uBAAuB,6OAA6O,gBAAgB,eAAe,qBAAqB,IAAI,SAAS,GAAG,sPAAsP,YAAY,mBAAmB,2BAA2B,OAAO,WAAW,gCAAgC,qEAAqE,UAAU,kCAAkC,QAAQ,EAAE,kGAAkG,EAAE,qBAAqB,QAAQ,SAAS,EAAE,sMAAsM,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,0BAA0B,2HAA2H,GAAG,2BAA2B,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,wBAAwB,oBAAoB,GAAG,gCAAgC,MAAM,IAAI,2BAA2B,IAAI,6BAA6B,0BAA0B,sCAAsC,4BAA4B,EAAE,kCAAkC,EAAE,4GAA4G,EAAE,8EAA8E,0BAA0B,2HAA2H,8BAA8B,qCAAqC,8BAA8B,MAAM,IAAI,2BAA2B,IAAI,6BAA6B,0BAA0B,uBAAuB,sDAAsD,sFAAsF,mJAAmJ,GAAG,mCAAmC,kDAAkD,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,yDAAyD,WAAW,mBAAmB,4JAA4J,oIAAoI,oCAAoC,cAAc,wBAAwB,kBAAkB,0GAA0G,oBAAoB,yBAAyB,6BAA6B,sGAAsG,oBAAoB,EAAE,sBAAsB,kDAAkD,mCAAmC,mBAAmB,wFAAwF,iCAAiC,gBAAgB,mCAAmC,0BAA0B,GAAG,GAAG,iCAAiC,0BAA0B,oCAAoC,yBAAyB,yCAAyC,EAAE,4EAA4E,yBAAyB,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,gCAAgC,oBAAoB,0BAA0B,oFAAoF,4BAA4B,+DAA+D,+FAA+F,uBAAuB,sDAAsD,+BAA+B,8CAA8C,EAAE,4EAA4E,2BAA2B,0DAA0D,mDAAmD,oBAAoB,cAAc,IAAI,2BAA2B,WAAW,GAAG,aAAa,mCAAmC,aAAa,2DAA2D,aAAa,8DAA8D,cAAc,uBAAuB,wDAAwD,mDAAmD,gKAAgK,EAAE,SAAS,aAAa,GAAG,wBAAwB,WAAW,kBAAkB,iBAAiB,EAAE,4EAA4E,EAAE;;;;;;;;;;;ACP7nvJ;;AAEZ,kBAAkB;AAClB,mBAAmB;AACnB,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA,mCAAmC,SAAS;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,UAAU;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,eAAe,mBAAO,CAAC,oDAAW;AAClC,gBAAgB,mBAAO,CAAC,gDAAS;AACjC;AACA;AACA;AACA;;AAEA,cAAc;AACd,kBAAkB;AAClB,yBAAyB;;AAEzB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;;AAEA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,eAAe;AACxC;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yBAAyB,QAAQ;AACjC;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,qBAAqB,WAAW,GAAG,IAAI;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,gBAAgB,WAAW,GAAG,IAAI,KAAK,aAAa;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,MAAM;AACtB;;AAEA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,KAAK,mDAAmD,cAAc;AACzF,GAAG;AACH;AACA;AACA,+BAA+B,IAAI;AACnC;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,MAAM,aAAa,SAAS;AACtD;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,SAAS,gBAAgB;AACzB,cAAc,oBAAoB,EAAE,IAAI;AACxC;AACA,YAAY,gBAAgB,EAAE,IAAI;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,GAAG,SAAS,GAAG,KAAK,qBAAqB,EAAE,EAAE;AACpE,QAAQ;AACR,yBAAyB,GAAG,KAAK,yBAAyB,EAAE,EAAE;AAC9D,mBAAmB,yBAAyB,EAAE,EAAE;AAChD;AACA,MAAM;AACN,oBAAoB,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,EAAE;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C,cAAc,SAAS,OAAO;AACxE;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,YAAY;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACzjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/Da;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C,eAAe,mBAAO,CAAC,6CAAI;;AAE3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACda;;AAEb,WAAW,mBAAO,CAAC,4DAAe;AAClC,mBAAmB,mBAAO,CAAC,4DAAe;AAC1C,wBAAwB,mBAAO,CAAC,wEAAqB;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS,UAAU;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4CAA4C,kBAAkB;AAC9D,EAAE;AACF,CAAC,oBAAoB;AACrB;;;;;;;;;;;;AC3Ca;;AAEb,6BAA6B,mBAAO,CAAC,kFAA0B;;AAE/D,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C;AACA;AACA;AACA,oBAAoB,SAAS,UAAU;AACvC,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA,WAAW,mBAAO,CAAC,0CAAM;;AAEzB,WAAW,qMAAqM;AAChN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,WAAW,0CAA0C;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH;AACA,yBAAyB;AACzB,GAAG;AACH;AACA;AACA;;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,sBAAsB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;;AAEA;AACA,SAAS,yBAAyB;AAClC;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,8DAA8D,YAAY;AAC1E;AACA,8DAA8D,YAAY;AAC1E;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,qCAAqC,YAAY;AACjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;AChfa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,cAAc;AAClC;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC,oBAAoB;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;;AAEA,iFAAiF,sCAAsC;;AAEvH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACnFa;;AAEb,qBAAqB,mBAAO,CAAC,wEAAkB;;AAE/C;;;;;;;;;;;;ACJa;;AAEb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,8CAA8C;AAChF,GAAG;AACH;;AAEA;AACA;AACA;AACA,UAAU;AACV,GAAG;AACH,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,IAAI;AACJ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,EAAE;AACF;;AAEA,iBAAiB,mBAAO,CAAC,wDAAa;AACtC,eAAe,mBAAO,CAAC,oDAAW;;AAElC;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD,GAAG;AACH,gDAAgD;AAChD,GAAG;AACH,sDAAsD;AACtD,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,mBAAO,CAAC,4DAAe;AAClC,aAAa,mBAAO,CAAC,8CAAQ;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9Va;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfa;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;;AAE1C;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS,UAAU;AACxC;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,UAAU;AACnD,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCa;;AAEb;AACA;AACA;;AAEA;;AAEA;AACA,UAAU,iBAAiB,yBAAyB,kBAAkB;AACtE;;;;;;;;;;;;ACVa;;AAEb;AACA,oBAAoB,mBAAO,CAAC,oDAAS;;AAErC;AACA,yCAAyC;AACzC,qCAAqC;AACrC,8CAA8C;AAC9C,0CAA0C;;AAE1C;AACA;;;;;;;;;;;;ACZa;;AAEb;AACA;AACA,2FAA2F;AAC3F,4CAA4C;;AAE5C;AACA;AACA;AACA,gCAAgC;;AAEhC,kEAAkE;AAClE,qEAAqE;;AAErE;AACA,iCAAiC;AACjC;AACA,uCAAuC;;AAEvC,2DAA2D;AAC3D,+DAA+D;;AAE/D;AACA;AACA,oBAAoB,gBAAgB;AACpC,2EAA2E;;AAE3E,yGAAyG;;AAEzG;AACA,6CAA6C;;AAE7C,8DAA8D;;AAE9D;AACA;AACA,uEAAuE;AACvE;;AAEA;AACA;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,WAAW,mBAAO,CAAC,4DAAe;;AAElC,WAAW,MAAM,mCAAmC;AACpD;;;;;;;;;;;ACPA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS,WAAW;;AAEpB;AACA;AACA;AACA,SAAS,WAAW;;AAEpB;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA,SAAS,WAAW;;AAEpB;AACA;AACA,SAAS,UAAU;;AAEnB;AACA;;;;;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1BA,eAAe,KAAiD,oBAAoB,CAA2G,CAAC,oBAAoB,mBAAmB,SAAS,cAAc,4BAA4B,YAAY,qBAAqB,2DAA2D,uCAAuC,qCAAqC,oBAAoB,EAAE,iBAAiB,4FAA4F,eAAe,wCAAwC,SAAS,EAAE,mBAAmB,8BAA8B,qDAAqD,0BAA0B,6CAA6C,sBAAsB,6DAA6D,YAAY,eAAe,SAAS,iBAAiB,iCAAiC,iBAAiB,YAAY,UAAU,sBAAsB,mBAAmB,iDAAiD,kBAAkB,kBAAkB,aAAa,iCAAiC,cAAc,yBAAyB,yCAAyC,qBAAqB,gJAAgJ,mBAAmB,yCAAyC,qBAAqB,+GAA+G,mBAAmB,yCAAyC,qBAAqB,+GAA+G,mBAAmB,yCAAyC,qBAAqB,mHAAmH,mBAAmB,yCAAyC,qBAAqB,sFAAsF,GAAG,GAAG,sLAAsL,iBAAiB,aAAa,KAAK,unBAAunB,iBAAiB,aAAa,sBAAsB,SAAS,yBAAyB,SAAS,yBAAyB,SAAS,GAAG,cAAc,wDAAwD,IAAI,2LAA2L,cAAc,cAAc,6LAA6L,sCAAsC,gJAAgJ,kCAAkC,iEAAiE,2CAA2C,eAAe,kBAAkB,+BAA+B,8CAA8C,eAAe,oBAAoB,+BAA+B,uDAAuD,eAAe,uBAAuB,+BAA+B,4DAA4D,eAAe,kCAAkC,iBAAiB,6BAA6B,+BAA+B,qDAAqD,eAAe,2BAA2B,iBAAiB,sBAAsB,+BAA+B,qDAAqD,eAAe,2BAA2B,iBAAiB,sBAAsB,+BAA+B,+CAA+C,eAAe,qBAAqB,iBAAiB,gBAAgB,+BAA+B,kDAAkD,eAAe,wBAAwB,iBAAiB,mBAAmB,+BAA+B,iCAAiC,kDAAkD,8BAA8B,kDAAkD,GAAG,GAAG,iBAAiB,aAAa,sBAAsB,SAAS,yBAAyB,SAAS,yBAAyB,SAAS,yBAAyB,SAAS,GAAG,yBAAyB,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,gDAAgD,OAAO,eAAe,aAAa,mBAAmB,6EAA6E,eAAe,cAAc,gBAAgB,iDAAiD,eAAe,yBAAyB,+BAA+B,+CAA+C,eAAe,qBAAqB,+BAA+B,kCAAkC,mCAAmC,GAAG,iBAAiB,cAAc,4BAA4B,wDAAwD,eAAe,8BAA8B,+BAA+B,IAAI,kBAAkB,cAAc,4BAA4B,wDAAwD,eAAe,iCAAiC,+BAA+B,IAAI,kBAAkB,cAAc,4BAA4B,wDAAwD,eAAe,gCAAgC,+BAA+B,IAAI,IAAI,iBAAiB,aAAa,SAAS,YAAY,kvBAAkvB,oGAAoG,MAAM,cAAc,gBAAgB,gCAAgC,WAAW,mDAAmD,iGAAiG,+FAA+F,kBAAkB,2BAA2B,WAAW,cAAc,+BAA+B,UAAU,6BAA6B,wBAAwB,iCAAiC,uFAAuF,mBAAmB,SAAS,iBAAiB,aAAa,KAAK,gHAAgH,iBAAiB,aAAa,sGAAsG,6CAA6C,qFAAqF,6EAA6E,aAAa,sCAAsC,gCAAgC,aAAa,aAAa,kBAAkB,yCAAyC,kCAAkC,cAAc,2BAA2B,aAAa,6FAA6F,SAAS,QAAQ,+BAA+B,0CAA0C,MAAM,QAAQ,EAAE,GAAG,yGAAyG,SAAS,cAAc,yHAAyH,cAAc,sEAAsE,oBAAoB,YAAY,sNAAsN,8GAA8G,YAAY,2JAA2J,sHAAsH,SAAS,aAAa,sLAAsL,kBAAkB,OAAO,kDAAkD,aAAa,iCAAiC,kBAAkB,gBAAgB,uBAAuB,WAAW,8EAA8E,kCAAkC,WAAW,6BAA6B,SAAS,kBAAkB,cAAc,mBAAmB,eAAe,WAAW,iCAAiC,8BAA8B,SAAS,gBAAgB,2BAA2B,IAAI,cAAc,SAAS,oBAAoB,wDAAwD,KAAK,6IAA6I,oCAAoC,wCAAwC,IAAI,+CAA+C,6BAA6B,SAAS,iBAAiB,+JAA+J,KAAK,oBAAoB,gLAAgL,yCAAyC,6IAA6I,iCAAiC,wCAAwC,eAAe,8BAA8B,iBAAiB,mBAAmB,yBAAyB,iCAAiC,oCAAoC,oBAAoB,MAAM,MAAM,mDAAmD,8DAA8D,oBAAoB,WAAW,uBAAuB,oCAAoC,KAAK,wBAAwB,QAAQ,IAAI,mBAAmB,SAAS,uCAAuC,sBAAsB,kFAAkF,sBAAsB,gCAAgC,wCAAwC,+CAA+C,qDAAqD,0CAA0C,cAAc,8CAA8C,iCAAiC,6JAA6J,8BAA8B,sBAAsB,KAAK,oCAAoC,oBAAoB,MAAM,mBAAmB,8BAA8B,KAAK,aAAa,gBAAgB,QAAQ,8FAA8F,YAAY,uFAAuF,UAAU,yCAAyC,0MAA0M,yBAAyB,uBAAuB,QAAQ,WAAW,4DAA4D,2GAA2G,uDAAuD,oCAAoC,KAAK,gCAAgC,YAAY,mCAAmC,oBAAoB,sCAAsC,oBAAoB,+BAA+B,wEAAwE,+DAA+D,+CAA+C,iBAAiB,aAAa,sBAAsB,SAAS,yBAAyB,SAAS,yBAAyB,SAAS,yBAAyB,SAAS,GAAG,0BAA0B,mGAAmG,cAAc,aAAa,wKAAwK,+CAA+C,yCAAyC,GAAG,gBAAgB,aAAa,cAAc,oCAAoC,cAAc,qCAAqC,iBAAiB,qHAAqH,mDAAmD,oCAAoC,8CAA8C,4BAA4B,KAAK,EAAE,6DAA6D,IAAI,MAAM,uBAAuB,qBAAqB,GAAG,gBAAgB,cAAc,uDAAuD,iDAAiD,eAAe,kBAAkB,+BAA+B,8CAA8C,eAAe,yBAAyB,+BAA+B,iCAAiC,6BAA6B,8BAA8B,0CAA0C,qDAAqD,iBAAiB,yBAAyB,iCAAiC,uCAAuC,KAAK,KAAK,EAAE,4FAA4F,IAAI,MAAM,oCAAoC,SAAS,oDAAoD,6CAA6C,gCAAgC,oDAAoD,iRAAiR,8CAA8C,0CAA0C,+BAA+B,6CAA6C,mCAAmC,iCAAiC,gDAAgD,yEAAyE,kBAAkB,gCAAgC,qCAAqC,GAAG,GAAG,iBAAiB,aAAa,iBAAiB,aAAa,4eAA4e,yCAAyC,8WAA8W,iCAAiC,mCAAmC,kCAAkC,4CAA4C,yCAAyC,oDAAoD,OAAO,iEAAiE,mCAAmC,iCAAiC,wBAAwB,KAAK,EAAE,qDAAqD,IAAI,MAAM,mBAAmB,SAAS,GAAG,GAAG,MAAM,iBAAiB,aAAa,wCAAwC,cAAc,iDAAiD,eAAe,4BAA4B,iBAAiB,yCAAyC,+BAA+B,uCAAuC,eAAe,sBAAsB,iBAAiB,mCAAmC,+BAA+B,uCAAuC,eAAe,gGAAgG,iBAAiB,iHAAiH,+BAA+B,yCAAyC,eAAe,wBAAwB,iBAAiB,qCAAqC,+BAA+B,2CAA2C,eAAe,0BAA0B,iBAAiB,uCAAuC,+BAA+B,wCAAwC,eAAe,uBAAuB,iBAAiB,oCAAoC,+BAA+B,wCAAwC,eAAe,uBAAuB,iBAAiB,oCAAoC,+BAA+B,yCAAyC,eAAe,wBAAwB,iBAAiB,qCAAqC,+BAA+B,yBAAyB,OAAO,kPAAkP,2BAA2B,iQAAiQ,4BAA4B,gBAAgB,gCAAgC,oBAAoB,oBAAoB,gCAAgC,kCAAkC,8BAA8B,qCAAqC,8BAA8B,gHAAgH,iCAAiC,qHAAqH,GAAG,GAAG,wBAAwB,iBAAiB,aAAa,yCAAyC,kBAAkB,QAAQ,iBAAiB,KAAK,IAAI,+BAA+B,SAAS,SAAS,oBAAoB,gCAAgC,IAAI,mDAAmD,KAAK,aAAa,kBAAkB,gDAAgD,0CAA0C,UAAU,kBAAkB,mFAAmF,0CAA0C,UAAU,kBAAkB,MAAM,2FAA2F,kGAAkG,UAAU,uCAAuC,kBAAkB,4GAA4G,cAAc,yCAAyC,SAAS,IAAI,8DAA8D,iBAAiB,SAAS,0BAA0B,SAAS,+BAA+B,oEAAoE,6EAA6E,OAAO,MAAM,yBAAyB,iCAAiC,iCAAiC,4BAA4B,+BAA+B,0DAA0D,0CAA0C,OAAO,iDAAiD,mCAAmC,8DAA8D,0CAA0C,OAAO,iDAAiD,6BAA6B,2DAA2D,kEAAkE,OAAO,oCAAoC,8BAA8B,yDAAyD,qDAAqD,IAAI,UAAU,iCAAiC,MAAM,8BAA8B,MAAM,sCAAsC,mBAAmB,MAAM,YAAY,QAAQ,6CAA6C,MAAM,EAAE,iCAAiC,qBAAqB,sCAAsC,qDAAqD,MAAM,WAAW,MAAM,IAAI,6CAA6C,MAAM,EAAE,mCAAmC,qBAAqB,sCAAsC,qDAAqD,MAAM,yBAAyB,MAAM,aAAa,wBAAwB,KAAK,YAAY,IAAI,KAAK,8BAA8B,yBAAyB,MAAM,qCAAqC,mBAAmB,MAAM,uCAAuC,mBAAmB,MAAM,0DAA0D,SAAS,0BAA0B,OAAO,2BAA2B,GAAG,gBAAgB,cAAc,4KAA4K,sCAAsC,kBAAkB,yCAAyC,2CAA2C,8EAA8E,wCAAwC,uLAAuL,kCAAkC,yEAAyE,oCAAoC,gCAAgC,gEAAgE,wDAAwD,qCAAqC,qCAAqC,wBAAwB,2EAA2E,uEAAuE,iCAAiC,4BAA4B,iCAAiC,wBAAwB,yCAAyC,MAAM,QAAQ,+BAA+B,8GAA8G,yDAAyD,gCAAgC,8BAA8B,4BAA4B,gCAAgC,qBAAqB,8BAA8B,GAAG,gBAAgB,cAAc,gCAAgC,uDAAuD,IAAI,4DAA4D,oCAAoC,wBAAwB,wCAAwC,IAAI,KAAK,wBAAwB,2BAA2B,iCAAiC,aAAa,mBAAmB,aAAa,mBAAmB,YAAY,oEAAoE,2PAA2P,IAAI,0EAA0E,YAAY,kBAAkB,qBAAqB,eAAe,sCAAsC,kBAAkB,QAAQ,IAAI,gBAAgB,kBAAkB,cAAc,gDAAgD,mCAAmC,oBAAoB,wEAAwE,6BAA6B,iBAAiB,iBAAiB,mBAAmB,gMAAgM,+IAA+I,sCAAsC,gCAAgC,QAAQ,sBAAsB,YAAY,oDAAoD,gCAAgC,sBAAsB,qBAAqB,2BAA2B,wOAAwO,kCAAkC,YAAY,iBAAiB,aAAa,iBAAiB,eAAe,mBAAmB,kCAAkC,oBAAoB,IAAI,mDAAmD,gCAAgC,UAAU,yBAAyB,qBAAqB,yBAAyB,sBAAsB,wBAAwB,yBAAyB,yBAAyB,yBAAyB,8BAA8B,wBAAwB,qCAAqC,UAAU,uBAAuB,uBAAuB,uBAAuB,yBAAyB,GAAG,uBAAuB,cAAc,gCAAgC,uDAAuD,IAAI,4DAA4D,oCAAoC,wBAAwB,iCAAiC,0BAA0B,cAAc,cAAc,cAAc,OAAO,qEAAqE,wBAAwB,iCAAiC,0BAA0B,ySAAyS,IAAI,8CAA8C,eAAe,IAAI,kBAAkB,QAAQ,IAAI,8KAA8K,YAAY,kBAAkB,oBAAoB,gCAAgC,4EAA4E,8CAA8C,uBAAuB,KAAK,wCAAwC,wEAAwE,0CAA0C,IAAI,gBAAgB,cAAc,KAAK,iBAAiB,+BAA+B,iBAAiB,QAAQ,IAAI,gBAAgB,iBAAiB,0BAA0B,kEAAkE,sBAAsB,QAAQ,IAAI,KAAK,SAAS,8BAA8B,4CAA4C,gBAAgB,KAAK,KAAK,wBAAwB,gCAAgC,IAAI,KAAK,gCAAgC,MAAM,QAAQ,IAAI,6BAA6B,QAAQ,IAAI,8BAA8B,iBAAiB,kBAAkB,QAAQ,IAAI,KAAK,QAAQ,MAAM,kBAAkB,eAAe,6BAA6B,0BAA0B,iBAAiB,iBAAiB,mBAAmB,qKAAqK,6HAA6H,wCAAwC,uCAAuC,+JAA+J,qBAAqB,yCAAyC,2EAA2E,4BAA4B,4DAA4D,QAAQ,KAAK,KAAK,oBAAoB,KAAK,eAAe,sBAAsB,UAAU,mEAAmE,KAAK,0DAA0D,cAAc,KAAK,2DAA2D,iBAAiB,uCAAuC,cAAc,iDAAiD,aAAa,0FAA0F,kDAAkD,mwBAAmwB,oCAAoC,YAAY,iBAAiB,aAAa,mBAAmB,eAAe,wBAAwB,wBAAwB,iCAAiC,0BAA0B,wJAAwJ,4BAA4B,4EAA4E,sCAAsC,gCAAgC,mBAAmB,qCAAqC,UAAU,qBAAqB,qBAAqB,qBAAqB,qBAAqB,yBAAyB,gCAAgC,UAAU,oBAAoB,sBAAsB,sBAAsB,oBAAoB,mBAAmB,yBAAyB,8BAA8B,wBAAwB,GAAG,GAAG,cAAc,4CAA4C,cAAc,4CAA4C,gBAAgB,YAAY,WAAW,4BAA4B,SAAS,oBAAoB,8DAA8D,sHAAsH,+BAA+B,sHAAsH,oBAAoB,cAAc,QAAQ,mBAAmB,gBAAgB,swBAAswB,8CAA8C,+kBAA+kB,uDAAuD,mBAAmB,uDAAuD,+BAA+B,yBAAyB,qEAAqE,GAAG,sCAAsC,mSAAmS,qBAAqB,wBAAwB,yBAAyB,iBAAiB,OAAO,UAAU,sDAAsD,qFAAqF,cAAc,kEAAkE,wCAAwC,wDAAwD,sDAAsD,eAAe,6BAA6B,iBAAiB,wBAAwB,+BAA+B,mDAAmD,eAAe,yBAAyB,iBAAiB,oBAAoB,+BAA+B,yDAAyD,eAAe,+BAA+B,iBAAiB,0BAA0B,+BAA+B,2DAA2D,eAAe,iCAAiC,iBAAiB,4BAA4B,+BAA+B,+CAA+C,eAAe,qBAAqB,iBAAiB,gBAAgB,+BAA+B,uDAAuD,eAAe,6BAA6B,iBAAiB,wBAAwB,+BAA+B,qDAAqD,eAAe,2BAA2B,iBAAiB,sBAAsB,+BAA+B,yDAAyD,eAAe,sBAAsB,iBAAiB,uEAAuE,+BAA+B,yDAAyD,gBAAgB,2EAA2E,+BAA+B,yDAAyD,gBAAgB,2EAA2E,+BAA+B,wCAAwC,wBAAwB,qDAAqD,+PAA+P,uCAAuC,gMAAgM,6BAA6B,UAAU,+BAA+B,wBAAwB,2NAA2N,KAAK,eAAe,EAAE,kBAAkB,wBAAwB,6BAA6B,iDAAiD,+BAA+B,yBAAyB,iFAAiF,sFAAsF,WAAW,UAAU,qCAAqC,MAAM,yCAAyC,MAAM,qCAAqC,2BAA2B,6DAA6D,qEAAqE,2KAA2K,8CAA8C,+BAA+B,mCAAmC,iHAAiH,iFAAiF,gCAAgC,oEAAoE,qkBAAqkB,6BAA6B,6CAA6C,6CAA6C,gCAAgC,iCAAiC,kCAAkC,QAAQ,YAAY,gKAAgK,iCAAiC,qCAAqC,kBAAkB,6EAA6E,0CAA0C,kJAAkJ,8FAA8F,KAAK,8CAA8C,sBAAsB,iBAAiB,KAAK,qDAAqD,qCAAqC,OAAO,yBAAyB,+CAA+C,gFAAgF,+DAA+D,mBAAmB,8CAA8C,kBAAkB,qBAAqB,eAAe,6BAA6B,mDAAmD,uIAAuI,qIAAqI,yCAAyC,kBAAkB,qBAAqB,aAAa,oCAAoC,2FAA2F,aAAa,gpBAAgpB,sEAAsE,gEAAgE,0BAA0B,+BAA+B,kDAAkD,0CAA0C,oEAAoE,eAAe,aAAa,MAAM,0DAA0D,ieAAie,sEAAsE,gEAAgE,4CAA4C,kBAAkB,wBAAwB,OAAO,wCAAwC,sCAAsC,8EAA8E,kFAAkF,gDAAgD,YAAY,QAAQ,yBAAyB,6GAA6G,8EAA8E,0DAA0D,kDAAkD,2JAA2J,KAAK,kDAAkD,iBAAiB,+CAA+C,6CAA6C,kUAAkU,sFAAsF,0EAA0E,kDAAkD,WAAW,mBAAmB,mCAAmC,MAAM,qBAAqB,+FAA+F,UAAU,8CAA8C,MAAM,8CAA8C,MAAM,8CAA8C,UAAU,uFAAuF,MAAM,uFAAuF,MAAM,uFAAuF,GAAG,yEAAyE,SAAS,SAAS,2DAA2D,iDAAiD,gFAAgF,+DAA+D,6CAA6C,eAAe,gFAAgF,2GAA2G,sDAAsD,KAAK,WAAW,oDAAoD,KAAK,uGAAuG,+CAA+C,wDAAwD,+FAA+F,KAAK,oGAAoG,6DAA6D,yDAAyD,+FAA+F,yDAAyD,iGAAiG,KAAK,oGAAoG,8DAA8D,0DAA0D,+FAA+F,mEAAmE,iGAAiG,KAAK,+CAA+C,0DAA0D,eAAe,wCAAwC,4CAA4C,sDAAsD,+FAA+F,iEAAiE,mFAAmF,KAAK,wFAAwF,MAAM,oBAAoB,4BAA4B,sBAAsB,sGAAsG,oIAAoI,+EAA+E,oCAAoC,4BAA4B,gHAAgH,uBAAuB,UAAU,kFAAkF,gBAAgB,IAAI,KAAK,wBAAwB,eAAe,8BAA8B,KAAK,oBAAoB,UAAU,wZAAwZ,gDAAgD,sCAAsC,wCAAwC,IAAI,KAAK,wBAAwB,2BAA2B,UAAU,sBAAsB,kSAAkS,sEAAsE,kEAAkE,oBAAoB,UAAU,sFAAsF,QAAQ,IAAI,KAAK,oBAAoB,mBAAmB,gXAAgX,0FAA0F,0FAA0F,sGAAsG,mFAAmF,kEAAkE,qFAAqF,KAAK,wFAAwF,MAAM,oBAAoB,4BAA4B,sBAAsB,uGAAuG,oIAAoI,+EAA+E,uCAAuC,iHAAiH,kCAAkC,IAAI,KAAK,+CAA+C,KAAK,YAAY,IAAI,KAAK,0BAA0B,oBAAoB,KAAK,8CAA8C,wZAAwZ,gDAAgD,+DAA+D,sBAAsB,iTAAiT,sEAAsE,qEAAqE,YAAY,aAAa,iXAAiX,sGAAsG,oFAAoF,wDAAwD,uHAAuH,IAAI,EAAE,WAAW,qFAAqF,MAAM,wBAAwB,kHAAkH,yBAAyB,cAAc,mCAAmC,eAAe,iCAAiC,aAAa,0BAA0B,mDAAmD,qDAAqD,yDAAyD,uHAAuH,IAAI,EAAE,WAAW,qFAAqF,MAAM,wBAAwB,kHAAkH,yBAAyB,uBAAuB,mCAAmC,eAAe,iCAAiC,aAAa,0BAA0B,mDAAmD,qDAAqD,GAAG,gBAAgB,cAAc,sCAAsC,8QAA8Q,GAAG,gBAAgB,yBAAyB,aAAa,mRAAmR,SAAS,GAAG,mBAAmB,uBAAuB,mBAAmB,0FAA0F,8BAA8B,uBAAuB,qBAAqB,wBAAwB,eAAe,eAAe,cAAc,gFAAgF,aAAa,8cAA8c,SAAS,GAAG,sBAAsB,eAAe,wBAAwB,qHAAqH,cAAc,cAAc,8OAA8O,uDAAuD,0BAA0B,EAAE,2DAA2D,2EAA2E,yBAAyB,KAAK,4CAA4C,4BAA4B,yBAAyB,EAAE,kJAAkJ,+DAA+D,sBAAsB,2BAA2B,SAAS,GAAG,gBAAgB,kBAAkB,2CAA2C,6CAA6C,kCAAkC,uDAAuD,mBAAmB,sBAAsB,QAAQ,qBAAqB,mBAAmB,4JAA4J,sCAAsC,iBAAiB,GAAG,GAAG,aAAa,6QAA6Q,SAAS,eAAe,8VAA8V,SAAS,GAAG,mGAAmG,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,gDAAgD,OAAO,eAAe,aAAa,mBAAmB,6EAA6E,gBAAgB,eAAe,aAAa,+CAA+C,gBAAgB,iBAAiB,cAAc,qLAAqL,sDAAsD,0BAA0B,EAAE,2DAA2D,0CAA0C,KAAK,yCAAyC,4BAA4B,yBAAyB,EAAE,mMAAmM,OAAO,8BAA8B,mDAAmD,MAAM,sBAAsB,KAAK,uCAAuC,0DAA0D,wBAAwB,+GAA+G,SAAS,0CAA0C,qCAAqC,0CAA0C,6FAA6F,GAAG,gBAAgB,cAAc,qLAAqL,sDAAsD,0BAA0B,EAAE,2DAA2D,yCAAyC,KAAK,sCAAsC,gCAAgC,KAAK,0BAA0B,SAAS,0CAA0C,4BAA4B,yBAAyB,EAAE,4DAA4D,iCAAiC,mDAAmD,MAAM,0CAA0C,iBAAiB,YAAY,uHAAuH,SAAS,IAAI,KAAK,mBAAmB,oBAAoB,gEAAgE,MAAM,0CAA0C,8EAA8E,MAAM,sBAAsB,qEAAqE,MAAM,sBAAsB,mEAAmE,MAAM,sBAAsB,iEAAiE,MAAM,+CAA+C,KAAK,oBAAoB,KAAK,oBAAoB,2CAA2C,oBAAoB,UAAU,0FAA0F,MAAM,aAAa,mBAAmB,+BAA+B,KAAK,aAAa,EAAE,MAAM,mBAAmB,4BAA4B,eAAe,yKAAyK,aAAa,EAAE,mBAAmB,sBAAsB,gCAAgC,IAAI,sBAAsB,gSAAgS,SAAS,0CAA0C,qCAAqC,0CAA0C,6FAA6F,GAAG,iBAAiB,0IAA0I,icAAic,eAAe,gBAAgB,aAAa,gPAAgP,SAAS,GAAG,oBAAoB,mBAAmB,yBAAyB,8DAA8D,kBAAkB,sBAAsB,EAAE,eAAe,mBAAmB,sBAAsB,uDAAuD,iBAAiB,oBAAoB,UAAU,gBAAgB,EAAE,kCAAkC,eAAe,OAAO,4DAA4D,eAAe,oCAAoC,cAAc,OAAO,mDAAmD,cAAc,gLAAgL,KAAK,gDAAgD,YAAY,oBAAoB,4BAA4B,+IAA+I,sBAAsB,OAAO,oFAAoF,sBAAsB,oCAAoC,cAAc,iBAAiB,IAAI,0CAA0C,OAAO,sFAAsF,gBAAgB,oBAAoB,sBAAsB,2DAA2D,sBAAsB,oCAAoC,cAAc,OAAO,iHAAiH,cAAc,yWAAyW,gDAAgD,YAAY,oBAAoB,6BAA6B,uJAAuJ,iDAAiD,QAAQ,6BAA6B,uBAAuB,qUAAqU,sBAAsB,OAAO,8HAA8H,gBAAgB,OAAO,2LAA2L,sBAAsB,iCAAiC,IAAI,kBAAkB,OAAO,8EAA8E,gBAAgB,6DAA6D,cAAc,8KAA8K,sBAAsB,qCAAqC,iCAAiC,IAAI,iBAAiB,OAAO,yBAAyB,sCAAsC,oCAAoC,cAAc,OAAO,mDAAmD,cAAc,4PAA4P,gDAAgD,YAAY,oBAAoB,oDAAoD,+IAA+I,oCAAoC,OAAO,kBAAkB,oCAAoC,uCAAuC,iHAAiH,MAAM,uBAAuB,OAAO,oCAAoC,sBAAsB,kCAAkC,IAAI,EAAE,mHAAmH,6JAA6J,OAAO,8UAA8U,wBAAwB,QAAQ,0CAA0C,uCAAuC,oDAAoD,gHAAgH,0CAA0C,6GAA6G,EAAE,gEAAgE,OAAO,wKAAwK,sBAAsB,QAAQ,0CAA0C,oFAAoF,EAAE,uCAAuC,OAAO,wCAAwC,aAAa,kPAAkP,SAAS,GAAG,mBAAmB,gBAAgB,wBAAwB,qHAAqH,eAAe,cAAc,8OAA8O,uDAAuD,0BAA0B,EAAE,2DAA2D,2EAA2E,yBAAyB,KAAK,4CAA4C,4BAA4B,yBAAyB,EAAE,qJAAqJ,2CAA2C,sBAAsB,4BAA4B,SAAS,GAAG,iBAAiB,oBAAoB,0FAA0F,uhDAAuhD,sCAAsC,iBAAiB,GAAG,kBAAkB,gBAAgB,gBAAgB,4eAA4e,cAAc,gLAAgL,sDAAsD,0BAA0B,EAAE,2DAA2D,yCAAyC,KAAK,yCAAyC,4BAA4B,yBAAyB,EAAE,gGAAgG,8BAA8B,mDAAmD,MAAM,uCAAuC,gCAAgC,2CAA2C,uDAAuD,6DAA6D,uMAAuM,SAAS,0CAA0C,qCAAqC,0CAA0C,6FAA6F,GAAG,kBAAkB,MAAM,mjBAAmjB,eAAe,oBAAoB,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,gDAAgD,QAAQ,qBAAqB,aAAa,mBAAmB,8EAA8E,iBAAiB,qCAAqC,iCAAiC,IAAI,uFAAuF,SAAS,wBAAwB,gBAAgB,gBAAgB,yBAAyB,0IAA0I,uBAAuB,2BAA2B,oBAAoB,gDAAgD,oBAAoB,iHAAiH,6QAA6Q,uDAAuD,iBAAiB,uDAAuD,+EAA+E,8CAA8C,uPAAuP,qBAAqB,mCAAmC,4BAA4B,iBAAiB,KAAK,OAAO,EAAE,6CAA6C,IAAI,EAAE,0CAA0C,IAAI,MAAM,IAAI,2BAA2B,KAAK,iBAAiB,OAAO,cAAc,SAAS,4JAA4J,mDAAmD,EAAE,wCAAwC,wDAAwD,uCAAuC,yBAAyB,uCAAuC,uLAAuL,QAAQ,kEAAkE,qCAAqC,EAAE,UAAU,mCAAmC,qCAAqC,WAAW,8CAA8C,MAAM,6EAA6E,KAAK,eAAe,WAAW,cAAc,2CAA2C,SAAS,oDAAoD,8GAA8G,YAAY,iCAAiC,6HAA6H,EAAE,6DAA6D,QAAQ,mCAAmC,8UAA8U,2IAA2I,EAAE,2CAA2C,+CAA+C,kDAAkD,mCAAmC,0EAA0E,GAAG,gIAAgI,IAAI,kDAAkD,gEAAgE,mCAAmC,WAAW,gCAAgC,0CAA0C,mIAAmI,cAAc,eAAe,EAAE,sBAAsB,4BAA4B,sLAAsL,uEAAuE,uLAAuL,qCAAqC,mEAAmE,uKAAuK,8CAA8C,0EAA0E,mCAAmC,8GAA8G,oCAAoC,6RAA6R,wCAAwC,oCAAoC,4QAA4Q,6CAA6C,iDAAiD,kBAAkB,KAAK,kBAAkB,2BAA2B,kDAAkD,YAAY,8HAA8H,yCAAyC,iDAAiD,kBAAkB,KAAK,kBAAkB,2BAA2B,kDAAkD,YAAY,sJAAsJ,uCAAuC,kDAAkD,sCAAsC,qBAAqB,kIAAkI,kCAAkC,2DAA2D,UAAU,2EAA2E,KAAK,8CAA8C,6MAA6M,mBAAmB,UAAU,qGAAqG,QAAQ,sBAAsB,wBAAwB,sBAAsB,gEAAgE,MAAM,kRAAkR,MAAM,8CAA8C,MAAM,8CAA8C,MAAM,sCAAsC,MAAM,6DAA6D,MAAM,oFAAoF,MAAM,qFAAqF,4GAA4G,aAAa,yBAAyB,oBAAoB,0DAA0D,wFAAwF,kCAAkC,WAAW,UAAU,kFAAkF,2CAA2C,mCAAmC,8BAA8B,MAAM,MAAM,6CAA6C,2EAA2E,oJAAoJ,4EAA4E,kCAAkC,WAAW,UAAU,qFAAqF,yFAAyF,kDAAkD,UAAU,mDAAmD,MAAM,EAAE,2DAA2D,uBAAuB,wJAAwJ,oKAAoK,sCAAsC,cAAc,QAAQ,EAAE,sBAAsB,UAAU,0EAA0E,qEAAqE,yCAAyC,WAAW,qCAAqC,oDAAoD,SAAS,OAAO,mFAAmF,IAAI,qBAAqB,wMAAwM,OAAO,4BAA4B,8CAA8C,6EAA6E,yBAAyB,yBAAyB,8BAA8B,8BAA8B,0BAA0B,0BAA0B,OAAO,iTAAiT,4EAA4E,qCAAqC,YAAY,gBAAgB,wCAAwC,QAAQ,6CAA6C,gDAAgD,kDAAkD,wCAAwC,kCAAkC,EAAE,eAAe,yBAAyB,yBAAyB,yOAAyO,sCAAsC,8DAA8D,+UAA+U,sEAAsE,oEAAoE,aAAa,2BAA2B,mEAAmE,+BAA+B,kDAAkD,yCAAyC,kCAAkC,EAAE,gBAAgB,yBAAyB,yCAAyC,yBAAyB,gEAAgE,mCAAmC,8BAA8B,qBAAqB,yOAAyO,sCAAsC,mEAAmE,mCAAmC,8BAA8B,uEAAuE,qBAAqB,gEAAgE,kNAAkN,8FAA8F,sEAAsE,oEAAoE,aAAa,2BAA2B,mEAAmE,+BAA+B,qDAAqD,sMAAsM,6IAA6I,6DAA6D,mHAAmH,gOAAgO,gDAAgD,iQAAiQ,iDAAiD,sCAAsC,cAAc,wWAAwW,gDAAgD,kFAAkF,0JAA0J,mJAAmJ,KAAK,wFAAwF,mBAAmB,kJAAkJ,uGAAuG,uBAAuB,8SAA8S,oEAAoE,+DAA+D,kDAAkD,uGAAuG,kDAAkD,uGAAuG,uDAAuD,gJAAgJ,+CAA+C,0DAA0D,mCAAmC,6EAA6E,+FAA+F,QAAQ,sEAAsE,6HAA6H,+DAA+D,8DAA8D,mDAAmD,kCAAkC,4GAA4G,gCAAgC,+BAA+B,EAAE,gCAAgC,OAAO,oBAAoB,8DAA8D,oKAAoK,8IAA8I,uBAAuB,kDAAkD,mFAAmF,gHAAgH,+CAA+C,MAAM,0DAA0D,mCAAmC,6EAA6E,+FAA+F,QAAQ,sEAAsE,6HAA6H,+DAA+D,8DAA8D,mDAAmD,kCAAkC,4GAA4G,gCAAgC,uFAAuF,EAAE,2DAA2D,OAAO,oBAAoB,8DAA8D,oKAAoK,8IAA8I,uBAAuB,kDAAkD,mFAAmF,gHAAgH,2CAA2C,0DAA0D,QAAQ,mMAAmM,gEAAgE,iCAAiC,+BAA+B,EAAE,gCAAgC,OAAO,qBAAqB,8DAA8D,6OAA6O,gMAAgM,uBAAuB,kDAAkD,mFAAmF,kCAAkC,4CAA4C,0DAA0D,QAAQ,qJAAqJ,gEAAgE,kBAAkB,WAAW,EAAE,KAAK,mDAAmD,WAAW,aAAa,mCAAmC,wCAAwC,wCAAwC,oFAAoF,kCAAkC,2CAA2C,0DAA0D,mRAAmR,UAAU,+BAA+B,MAAM,gCAAgC,MAAM,gCAAgC,UAAU,6BAA6B,MAAM,6BAA6B,MAAM,6BAA6B,aAAa,2DAA2D,OAAO,oBAAoB,8DAA8D,wDAAwD,0IAA0I,OAAO,wEAAwE,0EAA0E,mDAAmD,gJAAgJ,wDAAwD,0MAA0M,gNAAgN,2LAA2L,+DAA+D,MAAM,iNAAiN,2OAA2O,wLAAwL,0KAA0K,8QAA8Q,+DAA+D,0LAA0L,gLAAgL,6DAA6D,MAAM,kLAAkL,gLAAgL,+KAA+K,SAAS,kDAAkD,OAAO,cAAc,2GAA2G,6CAA6C,6MAA6M,6CAA6C,+CAA+C,6MAA6M,wdAAwd,4NAA4N,uBAAuB,mKAAmK,oEAAoE,+DAA+D,8DAA8D,YAAY,2GAA2G,4DAA4D,YAAY,8DAA8D,oCAAoC,QAAQ,6CAA6C,YAAY,oCAAoC,QAAQ,gDAAgD,8DAA8D,YAAY,8DAA8D,oCAAoC,QAAQ,YAAY,oCAAoC,QAAQ,oDAAoD,+DAA+D,aAAa,8DAA8D,oCAAoC,QAAQ,oDAAoD,oCAAoC,QAAQ,0BAA0B,6BAA6B,EAAE,gCAAgC,mBAAmB,KAAK,qBAAqB,MAAM,qBAAqB,MAAM,yBAAyB,MAAM,yBAAyB,MAAM,yBAAyB,MAAM,gCAAgC,IAAI,KAAK,yBAAyB,aAAa,eAAe,MAAM,qBAAqB,8NAA8N,uGAAuG,mEAAmE,4BAA4B,0DAA0D,GAAG,kBAAkB,mCAAmC,IAAI,2BAA2B,mBAAmB,QAAQ,IAAI,0CAA0C,IAAI,kBAAkB,SAAS,eAAe,cAAc,yBAAyB,sBAAsB,4UAA4U,mHAAmH,qBAAqB,4pBAA4pB,mBAAmB,4EAA4E,IAAI,uBAAuB,yFAAyF,QAAQ,QAAQ,IAAI,qCAAqC,SAAS,mCAAmC,mGAAmG,0CAA0C,oBAAoB,6DAA6D,iCAAiC,sBAAsB,0TAA0T,oBAAoB,+CAA+C,oBAAoB,2DAA2D,0SAA0S,oBAAoB,yDAAyD,oBAAoB,+BAA+B,4JAA4J,oBAAoB,WAAW,8FAA8F,oBAAoB,WAAW,6IAA6I,mBAAmB,gEAAgE,oBAAoB,yLAAyL,oBAAoB,wbAAwb,mBAAmB,kIAAkI,gCAAgC,oBAAoB,kIAAkI,uCAAuC,mBAAmB,kIAAkI,6EAA6E,oBAAoB,kJAAkJ,6BAA6B,oBAAoB,kIAAkI,uCAAuC,oBAAoB,+DAA+D,yCAAyC,SAAS,UAAU,oBAAoB,MAAM,uBAAuB,MAAM,yBAAyB,MAAM,uBAAuB,MAAM,yBAAyB,MAAM,2BAA2B,MAAM,6BAA6B,MAAM,+BAA+B,MAAM,iCAAiC,MAAM,uBAAuB,MAAM,yBAAyB,MAAM,2BAA2B,MAAM,6BAA6B,MAAM,+BAA+B,MAAM,iCAAiC,MAAM,mCAAmC,oFAAoF,6BAA6B,oBAAoB,8QAA8Q,mDAAmD,oBAAoB,8QAA8Q,mDAAmD,oBAAoB,qCAAqC,oBAAoB,6GAA6G,6BAA6B,sBAAsB,gEAAgE,oBAAoB,sEAAsE,6BAA6B,sBAAsB,2OAA2O,mCAAmC,oBAAoB,6DAA6D,IAAI,KAAK,iBAAiB,uEAAuE,6BAA6B,sBAAsB,6DAA6D,uGAAuG,YAAY,IAAI,KAAK,wDAAwD,mNAAmN,6BAA6B,oBAAoB,6BAA6B,GAAG,GAAG,UAAU,wBAAwB,cAAc,sCAAsC,oBAAoB,qDAAqD,4DAA4D,yEAAyE,uFAAuF,gGAAgG,8GAA8G,KAAK,oNAAoN,mNAAmN,mNAAmN,YAAY,GAAG,yBAAyB,cAAc,isBAAisB,sCAAsC,2QAA2Q,wCAAwC,+GAA+G,oDAAoD,eAAe,2BAA2B,iBAAiB,sBAAsB,+BAA+B,sDAAsD,eAAe,4BAA4B,iBAAiB,uBAAuB,+BAA+B,6CAA6C,6CAA6C,8BAA8B,0IAA0I,iCAAiC,kGAAkG,+FAA+F,oDAAoD,6BAA6B,qIAAqI,KAAK,sBAAsB,8CAA8C,+FAA+F,uBAAuB,wEAAwE,EAAE,6CAA6C,wPAAwP,yCAAyC,4CAA4C,4CAA4C,qEAAqE,wDAAwD,+CAA+C,OAAO,wDAAwD,iKAAiK,uCAAuC,0BAA0B,uLAAuL,uCAAuC,mBAAmB,sCAAsC,WAAW,2EAA2E,mCAAmC,2DAA2D,0CAA0C,6BAA6B,6CAA6C,iKAAiK,KAAK,wDAAwD,YAAY,mCAAmC,qCAAqC,SAAS,MAAM,+DAA+D,0BAA0B,oFAAoF,gCAAgC,+EAA+E,mBAAmB,mBAAmB,UAAU,iBAAiB,WAAW,KAAK,gEAAgE,eAAe,kCAAkC,QAAQ,6DAA6D,+HAA+H,SAAS,qDAAqD,KAAK,wBAAwB,8gBAA8gB,YAAY,IAAI,KAAK,KAAK,2CAA2C,2EAA2E,yDAAyD,oBAAoB,uBAAuB,gEAAgE,KAAK,uDAAuD,0CAA0C,wDAAwD,uBAAuB,sBAAsB,qFAAqF,wDAAwD,wBAAwB,qDAAqD,6HAA6H,QAAQ,WAAW,KAAK,YAAY,2BAA2B,oBAAoB,mBAAmB,eAAe,2VAA2V,WAAW,wDAAwD,OAAO,4EAA4E,8DAA8D,uCAAuC,0BAA0B,2CAA2C,uCAAuC,mCAAmC,2EAA2E,mCAAmC,2DAA2D,0CAA0C,6BAA6B,6CAA6C,iDAAiD,KAAK,wDAAwD,YAAY,mCAAmC,qCAAqC,SAAS,4BAA4B,WAAW,KAAK,oEAAoE,kBAAkB,QAAQ,iDAAiD,0CAA0C,wFAAwF,MAAM,+BAA+B,mDAAmD,QAAQ,2FAA2F,gFAAgF,EAAE,qGAAqG,QAAQ,WAAW,yBAAyB,SAAS,EAAE,qBAAqB,2BAA2B,oBAAoB,qcAAqc,iBAAiB,4BAA4B,mBAAmB,sDAAsD,2EAA2E,IAAI,uCAAuC,gDAAgD,0CAA0C,GAAG,kCAAkC,gBAAgB,gGAAgG,kDAAkD,yJAAyJ,QAAQ,oDAAoD,wIAAwI,4PAA4P,sCAAsC,gVAAgV,8BAA8B,+BAA+B,+BAA+B,kCAAkC,8BAA8B,sDAAsD,wCAAwC,4BAA4B,iFAAiF,6UAA6U,6BAA6B,wDAAwD,uCAAuC,sDAAsD,8BAA8B,8FAA8F,+BAA+B,6FAA6F,8BAA8B,wDAAwD,0CAA0C,kCAAkC,kCAAkC,mCAAmC,KAAK,8BAA8B,kHAAkH,KAAK,kCAAkC,uIAAuI,KAAK,0BAA0B,6SAA6S,kCAAkC,qDAAqD,0DAA0D,WAAW,6BAA6B,MAAM,MAAM,SAAS,+CAA+C,eAAe,sLAAsL,KAAK,WAAW,0UAA0U,mBAAmB,2GAA2G,SAAS,iDAAiD,wFAAwF,4BAA4B,6wBAA6wB,gDAAgD,2CAA2C,mtBAAmtB,sCAAsC,WAAW,wDAAwD,6LAA6L,sBAAsB,IAAI,qNAAqN,yBAAyB,kCAAkC,GAAG,4CAA4C,4CAA4C,8CAA8C,8CAA8C,6CAA6C,uCAAuC,iHAAiH,8CAA8C,uCAAuC,yJAAyJ,2CAA2C,uCAAuC,8HAA8H,qDAAqD,uDAAuD,2CAA2C,uCAAuC,uJAAuJ,oCAAoC,oCAAoC,uCAAuC,UAAU,yQAAyQ,uCAAuC,4BAA4B,kDAAkD,+CAA+C,6CAA6C,0CAA0C,qJAAqJ,6CAA6C,mGAAmG,wDAAwD,0CAA0C,yDAAyD,+HAA+H,wDAAwD,8IAA8I,kDAAkD,6JAA6J,mDAAmD,uGAAuG,iDAAiD,oDAAoD,IAAI,gKAAgK,8CAA8C,SAAS,+VAA+V,GAAG,GAAG,OAAO,iBAAiB,aAAa,0BAA0B,aAAa,gOAAgO,oCAAoC,4GAA4G,kCAAkC,6VAA6V,kDAAkD,eAAe,iBAAiB,6CAA6C,8CAA8C,+BAA+B,sDAAsD,eAAe,sIAAsI,+BAA+B,mDAAmD,eAAe,8CAA8C,+BAA+B,+BAA+B,IAAI,2CAA2C,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,gDAAgD,OAAO,eAAe,aAAa,mBAAmB,6EAA6E,gBAAgB,gBAAgB,+CAA+C,qKAAqK,uCAAuC,IAAI,4DAA4D,0CAA0C,SAAS,UAAU,gCAAgC,8DAA8D,gCAAgC,WAAW,iCAAiC,YAAY,4EAA4E,0DAA0D,+BAA+B,gBAAgB,qDAAqD,OAAO,gGAAgG,+GAA+G,uTAAuT,mEAAmE,uCAAuC,oCAAoC,gDAAgD,oBAAoB,sCAAsC,2KAA2K,sHAAsH,yCAAyC,+BAA+B,EAAE,sBAAsB,4DAA4D,4CAA4C,0BAA0B,sBAAsB,GAAG,GAAG,8BAA8B,iGAAiG,8BAA8B,WAAW,+BAA+B,WAAW,kCAAkC,0EAA0E,qBAAqB,uBAAuB,2CAA2C,oCAAoC,gBAAgB,2GAA2G,KAAK,8FAA8F,kEAAkE,yBAAyB,uDAAuD,sGAAsG,sBAAsB,iFAAiF,kCAAkC,qBAAqB,eAAe,yJAAyJ,0BAA0B,sBAAsB,8CAA8C,mCAAmC,iBAAiB,GAAG,GAAG,mBAAmB,oBAAoB,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,gDAAgD,QAAQ,qBAAqB,aAAa,mBAAmB,8EAA8E,iBAAiB,gBAAgB,kDAAkD,wJAAwJ,uCAAuC,IAAI,yBAAyB,kIAAkI,SAAS,+CAA+C,gCAAgC,sMAAsM,gCAAgC,iCAAiC,YAAY,4EAA4E,uCAAuC,uBAAuB,mCAAmC,wTAAwT,gBAAgB,+DAA+D,0CAA0C,uBAAuB,+DAA+D,sCAAsC,8BAA8B,8EAA8E,6CAA6C,eAAe,qBAAqB,+EAA+E,2DAA2D,uBAAuB,+CAA+C,2HAA2H,4CAA4C,+BAA+B,EAAE,kCAAkC,qCAAqC,8BAA8B,mKAAmK,gEAAgE,uGAAuG,oCAAoC,mMAAmM,qCAAqC,wBAAwB,eAAe,yEAAyE,gDAAgD,sBAAsB,0CAA0C,sCAAsC,mBAAmB,GAAG,mBAAmB,oBAAoB,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,gDAAgD,QAAQ,qBAAqB,aAAa,mBAAmB,8EAA8E,iBAAiB,gBAAgB,4CAA4C,4fAA4f,uCAAuC,IAAI,yBAAyB,0GAA0G,SAAS,0CAA0C,gCAAgC,mMAAmM,mDAAmD,eAAe,yCAAyC,+BAA+B,iCAAiC,8DAA8D,SAAS,uOAAuO,aAAa,GAAG,sCAAsC,kFAAkF,0IAA0I,YAAY,gEAAgE,yCAAyC,uBAAuB,YAAY,4IAA4I,uCAAuC,8BAA8B,mCAAmC,sSAAsS,gBAAgB,+DAA+D,0CAA0C,uBAAuB,+DAA+D,SAAS,8BAA8B,uEAAuE,uCAAuC,uJAAuJ,6CAA6C,eAAe,qBAAqB,wBAAwB,2DAA2D,oJAAoJ,iCAAiC,mCAAmC,4BAA4B,KAAK,sHAAsH,4CAA4C,+BAA+B,IAAI,qCAAqC,8BAA8B,+BAA+B,SAAS,6BAA6B,8DAA8D,cAAc,2DAA2D,uKAAuK,4EAA4E,oCAAoC,8DAA8D,yCAAyC,qDAAqD,sBAAsB,KAAK,KAAK,EAAE,gEAAgE,oBAAoB,iCAAiC,qFAAqF,KAAK,uBAAuB,wCAAwC,gHAAgH,8BAA8B,8FAA8F,gEAAgE,mCAAmC,SAAS,+RAA+R,qCAAqC,wBAAwB,eAAe,6GAA6G,yCAAyC,sBAAsB,0CAA0C,sCAAsC,mBAAmB,GAAG,mBAAmB,oBAAoB,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,gDAAgD,QAAQ,qBAAqB,aAAa,mBAAmB,8EAA8E,iBAAiB,aAAa,4CAA4C,mGAAmG,uCAAuC,IAAI,+BAA+B,SAAS,UAAU,gCAAgC,sDAAsD,8BAA8B,IAAI,yCAAyC,0OAA0O,SAAS,wBAAwB,OAAO,2BAA2B,uCAAuC,gCAAgC,8BAA8B,eAAe,mHAAmH,0CAA0C,4BAA4B,2CAA2C,wIAAwI,6CAA6C,WAAW,mEAAmE,gCAAgC,qBAAqB,oBAAoB,iCAAiC,6BAA6B,KAAK,wBAAwB,OAAO,4EAA4E,uCAAuC,gCAAgC,8CAA8C,+BAA+B,sGAAsG,2CAA2C,wBAAwB,OAAO,2BAA2B,uCAAuC,+BAA+B,GAAG,mBAAmB,cAAc,sBAAsB,2CAA2C,SAAS,0BAA0B,aAAa,oGAAoG,2CAA2C,OAAO,iBAAiB,6CAA6C,SAAS,GAAG,gBAAgB,gBAAgB,kCAAkC,2CAA2C,QAAQ,0BAA0B,SAAS,8IAA8I,OAAO,kBAAkB,6CAA6C,gDAAgD,6BAA6B,SAAS,kDAAkD,WAAW,KAAK,4BAA4B,oEAAoE,8BAA8B,GAAG,gBAAgB,kBAAkB,mlCAAmlC,sCAAsC,odAAod,kCAAkC,6DAA6D,iCAAiC,oBAAoB,6CAA6C,eAAe,2BAA2B,+BAA+B,iDAAiD,eAAe,uBAAuB,iBAAiB,kBAAkB,+BAA+B,qDAAqD,eAAe,2BAA2B,iBAAiB,sBAAsB,+BAA+B,gDAAgD,eAAe,sBAAsB,iBAAiB,iBAAiB,+BAA+B,+CAA+C,eAAe,qBAAqB,iBAAiB,gBAAgB,+BAA+B,kDAAkD,eAAe,wBAAwB,iBAAiB,mBAAmB,+BAA+B,kDAAkD,eAAe,wBAAwB,iBAAiB,mBAAmB,+BAA+B,2DAA2D,eAAe,iCAAiC,iBAAiB,4BAA4B,+BAA+B,kDAAkD,eAAe,4BAA4B,+BAA+B,mDAAmD,eAAe,uEAAuE,+BAA+B,4DAA4D,eAAe,2DAA2D,+BAA+B,oDAAoD,eAAe,yFAAyF,+BAA+B,kDAAkD,eAAe,yBAAyB,+BAA+B,4CAA4C,mBAAmB,iFAAiF,8BAA8B,0DAA0D,6BAA6B,KAAK,kFAAkF,8HAA8H,2CAA2C,sCAAsC,+EAA+E,iDAAiD,4CAA4C,4CAA4C,KAAK,qGAAqG,qBAAqB,sCAAsC,8aAA8a,8BAA8B,oBAAoB,aAAa,4IAA4I,sBAAsB,8BAA8B,wEAAwE,8BAA8B,oPAAoP,+BAA+B,iBAAiB,gBAAgB,uBAAuB,6CAA6C,8BAA8B,kFAAkF,yCAAyC,kHAAkH,OAAO,cAAc,oBAAoB,kBAAkB,+JAA+J,mCAAmC,yFAAyF,uBAAuB,uCAAuC,0BAA0B,YAAY,MAAM,oCAAoC,yBAAyB,sBAAsB,0DAA0D,+BAA+B,wCAAwC,yCAAyC,wDAAwD,sBAAsB,KAAK,KAAK,EAAE,gEAAgE,oBAAoB,0CAA0C,QAAQ,yFAAyF,qBAAqB,iEAAiE,2CAA2C,uEAAuE,wCAAwC,4DAA4D,+CAA+C,yEAAyE,mDAAmD,sGAAsG,kBAAkB,iKAAiK,wCAAwC,UAAU,8BAA8B,8EAA8E,+IAA+I,6HAA6H,KAAK,uDAAuD,sBAAsB,iDAAiD,kEAAkE,QAAQ,sBAAsB,iEAAiE,+CAA+C,gOAAgO,KAAK,4OAA4O,6BAA6B,MAAM,yOAAyO,KAAK,QAAQ,iVAAiV,0CAA0C,WAAW,6CAA6C,2CAA2C,sBAAsB,iHAAiH,mBAAmB,OAAO,QAAQ,iFAAiF,gEAAgE,SAAS,6EAA6E,kDAAkD,SAAS,6CAA6C,+EAA+E,0CAA0C,mMAAmM,+DAA+D,8BAA8B,oJAAoJ,8BAA8B,MAAM,mHAAmH,uDAAuD,mBAAmB,GAAG,GAAG,MAAM,iBAAiB,aAAa,iBAAiB,cAAc,4BAA4B,2DAA2D,uBAAuB,0CAA0C,6EAA6E,wBAAwB,mBAAmB,KAAK,mBAAmB,2DAA2D,SAAS,mDAAmD,GAAG,GAAG,kBAAkB,iBAAiB,cAAc,SAAS,cAAc,4BAA4B,YAAY,qBAAqB,2DAA2D,4BAA4B,SAAS,qBAAqB,qCAAqC,oCAAoC,EAAE,iBAAiB,sCAAsC,SAAS,EAAE,iBAAiB,iCAAiC,iBAAiB,YAAY,UAAU,sBAAsB,mBAAmB,iDAAiD,0BAA0B,0BAA0B,0BAA0B,oBAAoB,cAAc,sCAAsC,cAAc,kBAAkB,SAAS,QAAQ,uEAAuE,eAAe,mHAAmH,YAAY,yCAAyC,mJAAmJ,YAAY,qFAAqF,+BAA+B,WAAW,gBAAgB,iBAAiB,uDAAuD,SAAS,cAAc,4CAA4C,wBAAwB,MAAM,wBAAwB,QAAQ,OAAO,SAAS,UAAU,yBAAyB,eAAe,WAAW,SAAS,IAAI,QAAQ,IAAI,SAAS,KAAK,8BAA8B,WAAW,KAAK,wBAAwB,gBAAgB,oBAAoB,sCAAsC,8CAA8C,WAAW,yDAAyD,SAAS,WAAW,mCAAmC,iBAAiB,wBAAwB,YAAY,QAAQ,KAAK,wEAAwE,uCAAuC,kFAAkF,wBAAwB,iDAAiD,eAAe,EAAE,IAAI,2EAA2E,0BAA0B,mDAAmD,eAAe,SAAS,EAAE,2BAA2B,uBAAuB,EAAE,mBAAmB,4GAA4G,wBAAwB,iBAAiB,wBAAwB,iBAAiB;AACrlsK;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,aAAa,cAAc,2BAA2B,8CAA8C,2DAA2D,uCAAuC,yCAAyC,mDAAmD,+GAA+G,iIAAiI,aAAa,iBAAiB,kBAAkB,eAAe,qBAAqB,aAAa,YAAY,IAAI,gDAAgD,IAAI,qBAAqB,gBAAgB,qCAAqC,oBAAoB,eAAe,MAAM,qBAAqB,cAAc,0BAA0B,GAAG,gBAAgB,SAAS,cAAc,wDAAwD,kBAAkB,gBAAgB,eAAe,qBAAqB,8DAA8D,iBAAiB,eAAe,eAAe,2DAA2D,8BAA8B,0BAA0B,IAAI,iDAAiD,2DAA2D,KAAK,KAAK,SAAS,YAAY,OAAO,8CAA8C,cAAc,kBAAkB,8EAA8E,gFAAgF,cAAc,eAAe,cAAc,GAAG,6CAA6C,eAAe,6BAA6B,IAAI,cAAc,SAAS,UAAU,kBAAkB,8BAA8B,eAAe,iBAAiB,YAAY,qBAAqB,KAAK,eAAe,gBAAgB,wEAAwE,oEAAoE,KAAK,aAAa,IAAI,SAAS,SAAS,mBAAmB,SAAS,QAAQ,cAAc,uCAAuC,gBAAgB,8EAA8E,gBAAgB,mDAAmD,oBAAoB,gCAAgC,iEAAiE,cAAc,gCAAgC,iBAAiB,0CAA0C,WAAW,uCAAuC,yBAAyB,oBAAoB,kCAAkC,MAAM,IAAI,OAAO,SAAS,SAAS,gGAAgG,SAAS,0EAA0E,QAAQ,cAAc,4DAA4D,iBAAiB,gBAAgB,gYAAgY,0CAA0C,YAAY,iCAAiC,4BAA4B,sCAAsC,4CAA4C,UAAU,2BAA2B,IAAI,SAAS,SAAS,SAAS,kEAAkE,iEAAiE,eAAe,eAAe,0CAA0C,2CAA2C,YAAY,MAAM,gCAAgC,wCAAwC,mBAAmB,6GAA6G,yCAAyC,WAAW,wBAAwB,2BAA2B,eAAe,2BAA2B,GAAG,GAAG,gBAAgB,cAAc,0GAA0G,0GAA0G,mCAAmC,IAAI,eAAe,OAAO,eAAe,OAAO,GAAG,SAAS,QAAQ,oBAAoB,6IAA6I,IAAI,qCAAqC,yBAAyB,iCAAiC,uBAAuB,mCAAmC,uCAAuC,SAAS,GAAG,eAAe,uCAAuC,QAAQ,GAAG,kBAAkB,GAAG,GAAG,4CAA4C,6BAA6B,oBAAoB,WAAW,iCAAiC,uBAAuB,IAAI,8BAA8B,wBAAwB,2DAA2D,GAAG,kCAAkC,kBAAkB,gBAAgB,6BAA6B,IAAI,wBAAwB,IAAI,iCAAiC,aAAa,kBAAkB,wCAAwC,SAAS,4BAA4B,SAAS,4FAA4F,gBAAgB,MAAM,WAAW,IAAI,8CAA8C,UAAU,0CAA0C,YAAY,eAAe,eAAe,yBAAyB,eAAe,uBAAuB,aAAa,mDAAmD,aAAa,qDAAqD,cAAc,yCAAyC,+DAA+D,IAAI,cAAc,SAAS,IAAI,wBAAwB,SAAS,0BAA0B,YAAY,IAAI,6CAA6C,SAAS,IAAI,IAAI,iDAAiD,SAAS,KAAK,GAAG,qBAAqB,aAAa,uDAAuD,aAAa,OAAO,WAAW,KAAK,mBAAmB,EAAE,EAAE,aAAa,MAAM,eAAe,gBAAgB,wBAAwB,2CAA2C,mEAAmE,IAAI,KAAK,SAAS,IAAI,sBAAsB,SAAS,wBAAwB,KAAK,gBAAgB,wBAAwB,cAAc,uBAAuB,oCAAoC,kCAAkC,mBAAmB,wBAAwB,yCAAyC,4BAA4B,gCAAgC,wCAAwC,qCAAqC,gKAAgK,SAAS,uBAAuB,oDAAoD,kBAAkB,UAAU,qBAAqB,kDAAkD,oBAAoB,UAAU,eAAe,MAAM,aAAa,YAAY,GAAG,IAAI,mCAAmC,SAAS,oCAAoC,YAAY,iBAAiB,aAAa,OAAO,kCAAkC,sBAAsB,2BAA2B,eAAe,4BAA4B,iBAAiB,EAAE,YAAY,gBAAgB,OAAO,2BAA2B,gBAAgB,0BAA0B,gBAAgB,OAAO,4BAA4B,gBAAgB,0BAA0B,aAAa,OAAO,0BAA0B,iBAAiB,aAAa,OAAO,6BAA6B,iBAAiB,cAAc,OAAO,2BAA2B,iBAAiB,cAAc,OAAO,iCAAiC,iBAAiB,cAAc,OAAO,mCAAmC,iBAAiB,cAAc,OAAO,2CAA2C,iBAAiB,cAAc,OAAO,2CAA2C,iBAAiB,cAAc,OAAO,wCAAwC,iBAAiB,cAAc,OAAO,4CAA4C,iBAAiB,cAAc,OAAO,yCAAyC,iBAAiB,cAAc,OAAO,gCAAgC,iBAAiB,gBAAgB,eAAe,uBAAuB,eAAe,EAAE,gBAAgB,eAAe,0BAA0B,eAAe,EAAE,cAAc,eAAe,mCAAmC,EAAE,wDAAwD,mBAAmB,itBAAitB,MAAM,qDAAqD,gBAAgB,EAAE,MAAM,sBAAsB,MAAM,oBAAoB,MAAM,gCAAgC,MAAM,sBAAsB,MAAM,wBAAwB,MAAM,wCAAwC,yFAAyF,IAAI,iBAAiB,aAAa,OAAO,uBAAuB,ijBAAijB,aAAa,uBAAuB,IAAI,iBAAiB,cAAc,2CAA2C,0EAA0E,iCAAiC,qCAAqC,0EAA0E,2BAA2B,qCAAqC,gBAAgB,qBAAqB,yEAAyE,uCAAuC,gBAAgB,qBAAqB,qBAAqB,0CAA0C,8EAA8E,oCAAoC,iCAAiC,6BAA6B,OAAO,kMAAkM,+SAA+S,mGAAmG,6FAA6F,2FAA2F,iBAAiB,GAAG,2CAA2C,kfAAkf,4DAA4D,gBAAgB,8FAA8F,mJAAmJ,uBAAuB,UAAU,+DAA+D,+EAA+E,2CAA2C,EAAE,SAAS,4IAA4I,mCAAmC,qBAAqB,uBAAuB,8gCAA8gC,sCAAsC,0FAA0F,cAAc,0KAA0K,8BAA8B,+BAA+B,+BAA+B,kCAAkC,kCAAkC,0BAA0B,6BAA6B,uCAAuC,YAAY,2BAA2B,8BAA8B,uCAAuC,WAAW,0BAA0B,8BAA8B,uCAAuC,mBAAmB,2BAA2B,8BAA8B,uCAAuC,YAAY,2BAA2B,+BAA+B,uCAAuC,aAAa,4BAA4B,0CAA0C,WAAW,mCAAmC,sCAAsC,GAAG,2CAA2C,WAAW,mCAAmC,uCAAuC,GAAG,2CAA2C,WAAW,mCAAmC,sCAAsC,GAAG,6CAA6C,WAAW,mCAAmC,yCAAyC,GAAG,sCAAsC,WAAW,mCAAmC,kCAAkC,GAAG,4CAA4C,WAAW,mCAAmC,wCAAwC,GAAG,8CAA8C,WAAW,mCAAmC,0CAA0C,GAAG,oDAAoD,WAAW,mCAAmC,kDAAkD,GAAG,qDAAqD,WAAW,mCAAmC,kDAAkD,GAAG,kDAAkD,WAAW,mCAAmC,+CAA+C,GAAG,qDAAqD,WAAW,mCAAmC,mDAAmD,GAAG,kDAAkD,WAAW,mCAAmC,gDAAgD,GAAG,2CAA2C,WAAW,mCAAmC,uCAAuC,GAAG,sCAAsC,WAAW,mCAAmC,kCAAkC,GAAG,yCAAyC,WAAW,mCAAmC,qCAAqC,GAAG,+CAA+C,WAAW,mCAAmC,2CAA2C,GAAG,iDAAiD,wCAAwC,6BAA6B,EAAE,0CAA0C,sBAAsB,iIAAiI,cAAc,qFAAqF,MAAM,iFAAiF,MAAM,uFAAuF,MAAM,2RAA2R,MAAM,+EAA+E,MAAM,yDAAyD,MAAM,+DAA+D,GAAG,MAAM,0FAA0F,4BAA4B,cAAc,iLAAiL,+PAA+P,6OAA6O,sBAAsB,sBAAsB,sBAAsB,yBAAyB,sBAAsB,wBAAwB,kBAAkB,4BAA4B,kBAAkB,uBAAuB,sCAAsC,qIAAqI,8BAA8B,+BAA+B,+BAA+B,kCAAkC,4CAA4C,4FAA4F,+CAA+C,kSAAkS,2CAA2C,sBAAsB,wBAAwB,kCAAkC,+BAA+B,oHAAoH,6BAA6B,MAAM,4BAA4B,IAAI,wBAAwB,SAAS,0BAA0B,4HAA4H,qDAAqD,6BAA6B,gBAAgB,SAAS,0BAA0B,gRAAgR,uOAAuO,6CAA6C,qJAAqJ,yBAAyB,iCAAiC,kBAAkB,SAAS,iIAAiI,kIAAkI,KAAK,KAAK,IAAI,uEAAuE,sHAAsH,SAAS,kEAAkE,0BAA0B,GAAG,0BAA0B,wTAAwT,4CAA4C,QAAQ,2IAA2I,kCAAkC,yEAAyE,8BAA8B,4DAA4D,6BAA6B,6CAA6C,UAAU,SAAS,0BAA0B,sBAAsB,+BAA+B,iEAAiE,YAAY,oBAAoB,KAAK,8CAA8C,mCAAmC,cAAc,EAAE,kDAAkD,gCAAgC,8EAA8E,oCAAoC,8CAA8C,+NAA+N,4CAA4C,kDAAkD,iDAAiD,kDAAkD,qCAAqC,kCAAkC,6BAA6B,MAAM,iBAAiB,oFAAoF,SAAS,+CAA+C,qCAAqC,kCAAkC,6BAA6B,MAAM,8BAA8B,WAAW,KAAK,4BAA4B,gBAAgB,qDAAqD,KAAK,oDAAoD,mCAAmC,cAAc,GAAG,mDAAmD,cAAc,GAAG,yCAAyC,mDAAmD,0BAA0B,sIAAsI,8DAA8D,mLAAmL,wCAAwC,mKAAmK,sBAAsB,EAAE,gBAAgB,yBAAyB,0CAA0C,4BAA4B,2FAA2F,mBAAmB,sBAAsB,qEAAqE,2JAA2J,2CAA2C,IAAI,sJAAsJ,SAAS,qLAAqL,0BAA0B,KAAK,sCAAsC,qMAAqM,SAAS,EAAE,gBAAgB,6BAA6B,uFAAuF,uCAAuC,4CAA4C,uCAAuC,2SAA2S,4CAA4C,4BAA4B,0CAA0C,gDAAgD,gCAAgC,0CAA0C,iDAAiD,mPAAmP,8CAA8C,yCAAyC,GAAG,aAAa,+EAA+E,IAAI,8VAA8V,cAAc,gBAAgB,qIAAqI,2BAA2B,gIAAgI,gDAAgD,mNAAmN,2aAA2a,yFAAyF,8GAA8G,sCAAsC,iRAAiR,8BAA8B,WAAW,2EAA2E,0CAA0C,yFAAyF,oDAAoD,kCAAkC,+BAA+B,kCAAkC,4CAA4C,WAAW,ieAAie,yEAAyE,wCAAwC,2DAA2D,sEAAsE,+DAA+D,WAAW,2CAA2C,6eAA6e,6BAA6B,WAAW,yFAAyF,mGAAmG,6TAA6T,+BAA+B,wDAAwD,0EAA0E,kCAAkC,uLAAuL,wDAAwD,4DAA4D,2DAA2D,uCAAuC,mDAAmD,6CAA6C,sDAAsD,yCAAyC,cAAc,EAAE,mDAAmD,4DAA4D,KAAK,yDAAyD,sCAAsC,2DAA2D,wCAAwC,mEAAmE,gDAAgD,mEAAmE,gDAAgD,gEAAgE,6CAA6C,oEAAoE,iDAAiD,iEAAiE,8CAA8C,wDAAwD,6FAA6F,qBAAqB,4DAA4D,mGAAmG,6BAA6B,+BAA+B,gLAAgL,6BAA6B,iCAAiC,8BAA8B,2BAA2B,2CAA2C,eAAe,kBAAkB,+BAA+B,gDAAgD,eAAe,mCAAmC,+BAA+B,gDAAgD,eAAe,mCAAmC,+BAA+B,8CAA8C,eAAe,iCAAiC,iBAAiB,4BAA4B,+BAA+B,6CAA6C,eAAe,gCAAgC,iBAAiB,2BAA2B,+BAA+B,mDAAmD,eAAe,2DAA2D,iBAAiB,iEAAiE,+BAA+B,iDAAiD,eAAe,uBAAuB,kBAAkB,+BAA+B,sDAAsD,eAAe,2DAA2D,sFAAsF,uBAAuB,+BAA+B,8CAA8C,sFAAsF,iBAAiB,+CAA+C,mDAAmD,4CAA4C,uJAAuJ,kDAAkD,wCAAwC,mEAAmE,uGAAuG,wBAAwB,6FAA6F,gDAAgD,oBAAoB,gDAAgD,gBAAgB,WAAW,KAAK,4BAA4B,cAAc,MAAM,OAAO,iLAAiL,yCAAyC,4HAA4H,2CAA2C,kKAAkK,gDAAgD,gFAAgF,WAAW,KAAK,4BAA4B,cAAc,kDAAkD,OAAO,mKAAmK,8CAA8C,0CAA0C,WAAW,KAAK,4BAA4B,sBAAsB,SAAS,uCAAuC,4CAA4C,8CAA8C,2CAA2C,iDAAiD,8DAA8D,WAAW,6BAA6B,yDAAyD,2EAA2E,8DAA8D,4DAA4D,+PAA+P,0DAA0D,+EAA+E,qCAAqC,oTAAoT,6EAA6E,sDAAsD,yBAAyB,8CAA8C,iBAAiB,iQAAiQ,2EAA2E,4CAA4C,+GAA+G,qCAAqC,mEAAmE,gDAAgD,KAAK,oBAAoB,iBAAiB,4GAA4G,iCAAiC,6BAA6B,yDAAyD,4EAA4E,4DAA4D,4BAA4B,mCAAmC,0EAA0E,qCAAqC,6FAA6F,qCAAqC,sCAAsC,sCAAsC,oCAAoC,GAAG,gBAAgB,gBAAgB,2IAA2I,2BAA2B,0IAA0I,8GAA8G,QAAQ,qDAAqD,0GAA0G,sCAAsC,2JAA2J,8BAA8B,WAAW,iHAAiH,0CAA0C,0HAA0H,oDAAoD,kCAAkC,+BAA+B,kCAAkC,4CAA4C,sHAAsH,+DAA+D,WAAW,2CAA2C,mTAAmT,6BAA6B,yFAAyF,8SAA8S,+BAA+B,yMAAyM,6BAA6B,iCAAiC,8BAA8B,2BAA2B,2CAA2C,eAAe,kBAAkB,+BAA+B,gDAAgD,eAAe,mCAAmC,+BAA+B,gDAAgD,eAAe,mCAAmC,+BAA+B,8CAA8C,eAAe,iCAAiC,iBAAiB,4BAA4B,+BAA+B,6CAA6C,eAAe,gCAAgC,iBAAiB,2BAA2B,+BAA+B,mDAAmD,eAAe,2DAA2D,iBAAiB,4EAA4E,+BAA+B,iDAAiD,eAAe,OAAO,wGAAwG,sNAAsN,+BAA+B,sDAAsD,eAAe,OAAO,qDAAqD,8DAA8D,iBAAiB,+CAA+C,mDAAmD,4CAA4C,uJAAuJ,kDAAkD,+BAA+B,6CAA6C,+JAA+J,8CAA8C,0DAA0D,GAAG,GAAG,cAAc,OAAO,2BAA2B,QAAQ,8FAA8F,+GAA+G,eAAe,8DAA8D,2BAA2B,wBAAwB,kCAAkC,2BAA2B,4BAA4B,yLAAyL,6BAA6B,eAAe,EAAE,YAAY,GAAG;AACjv8C;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,EAAE;AACvC;AACA,yDAAyD;AACzD;AACA;AACA;AACA,2GAA2G,EAAE;AAC7G;AACA;AACA;AACA;;AAEA,kBAAkB,mBAAO,CAAC,6BAAgB;AAC1C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uDAAuD;AACvD;AACA;AACA,kGAAkG,gCAAgC;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uGAAuG;AAC7H;AACA,kCAAkC;AAClC,kBAAkB,uDAAuD;AACzE;AACA;AACA;AACA,sCAAsC,yBAAyB;AAC/D,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA,gBAAgB,qBAAM;AACtB,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,2BAA2B,iCAAiC;AAC5D;AACA,wBAAwB,8BAA8B;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iDAAiD;AACjD;;AAEA,wBAAwB;AACxB,uBAAuB;AACvB,yBAAyB;AACzB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA,aAAa;AACb;AACA;;AAEA;AACA,sBAAsB;AACtB,mCAAmC,OAAO;AAC1C,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,iCAAiC;AACjC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qCAAqC;AACrC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,iCAAiC;AACjC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,qCAAqC;AACrC,MAAM;AACN;AACA;;AAEA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,GAAG;AACzB;;AAEA;AACA;AACA,oCAAoC,sBAAsB;AAC1D;;AAEA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA,2BAA2B;AAC3B,8BAA8B,YAAY;AAC1C,wEAAwE,YAAY;AACpF;AACA;AACA,sBAAsB;AACtB,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3gBA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,MAAM;AACN;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;;AAEtC;AACA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA,6BAA6B;;;;;;;;;;;;ACvL7B;AACA,CAAC;;AAED;AACA,mBAAmB,KAA0B;AAC7C;AACA,kBAAkB,KAAyB;AAC3C;AACA,yBAAyB,qBAAM,gBAAgB,qBAAM;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,UAAU;AACtB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,MAAM;AACN,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mCAAmC;AACnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB,0CAA0C,qBAAqB;;AAE/D;AACA;AACA;AACA;AACA;AACA,mCAAmC,oBAAoB;;AAEvD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,iBAAiB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,IAEU;AACZ;AACA,EAAE,mCAAmB;AACrB;AACA,GAAG;AAAA,kGAAC;AACJ,GAAG,KAAK,EAaN;;AAEF,CAAC;;;;;;;;;;;;ACphBY;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACtBa;;AAEb,gBAAgB,mBAAO,CAAC,uDAAa;AACrC,YAAY,mBAAO,CAAC,+CAAS;AAC7B,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,+CAAS;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,+BAA+B;;AAExE;AACA,wCAAwC;;AAExC;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;;AAEA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,mCAAmC,QAAQ;AAC3C;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,wBAAwB;AACxB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACvQa;;AAEb,qBAAqB,mBAAO,CAAC,0DAAc;AAC3C,YAAY,mBAAO,CAAC,+CAAS;AAC7B,cAAc,mBAAO,CAAC,mDAAW;AACjC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gEAAgE;AACrF,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;AC/Ta;;AAEb,cAAc,mBAAO,CAAC,mDAAW;;AAEjC;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA,kDAAkD,EAAE;AACpD;AACA,SAAS;AACT;;AAEA;AACA,oBAAoB,mBAAmB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,OAAO,UAAU,aAAa;AACjD;;AAEA,oBAAoB,kBAAkB;AACtC;AACA;;AAEA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;AACA,6BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3Pa;;AAEb,gDAAgD,0DAA0D,2CAA2C;;AAErJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;;AAEA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oBAAoB;;;;;;;;;;;;;AC9HpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,kFAAoB;AAC3C,eAAe,mBAAO,CAAC,kFAAoB;AAC3C,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;AC7HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;AACA,gBAAgB,mBAAO,CAAC,oFAAqB;AAC7C,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS,mFAA8B;AACvC;AACA;AACA;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA,aAAa,4EAAwB;AACrC,4BAA4B,qBAAM,mBAAmB,qBAAM,mFAAmF;AAC9I;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAO,CAAC,mBAAM;AAC9B;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,0GAAgC;AACzD,kBAAkB,mBAAO,CAAC,kGAA4B;AACtD,eAAe,mBAAO,CAAC,8FAA0B;AACjD;AACA,qBAAqB,gGAA0B;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yEAAyE,mFAAmF;AAC5J;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iHAAwC;AAChF;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;AAC/C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,+FAA+F;AAC/F,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA,4FAA4F;AAC5F,UAAU;AACV;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,iHAAwC;AAC9E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,OAAO,oBAAoB,OAAO;AAClG;AACA,wBAAwB,OAAO,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,QAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,kBAAkB,yBAAyB;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,mBAAO,CAAC,gHAAmC;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,mDAAmD,+DAA+D;AAClH;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,oGAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;;;;;;;;;;;AClgCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA,qBAAqB,gGAA0B;AAC/C;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,8EAAkB;AACvC,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa,mBAAO,CAAC,gEAAgB;AACrC;AACA;;AAEA;AACA,aAAa,mBAAO,CAAC,wGAA2B;AAChD;;AAEA,aAAa,4EAAwB;AACrC,4BAA4B,qBAAM,mBAAmB,qBAAM,mFAAmF;AAC9I;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAO,CAAC,kGAA4B;AACtD,eAAe,mBAAO,CAAC,8FAA0B;AACjD;AACA,qBAAqB,gGAA0B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAO,CAAC,6DAAU;AAClB;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,8EAAkB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,sDAAsD;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO;AACb,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,OAAO;AACb,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,OAAO,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChoBa;;AAEb;AACA,4CAA4C,2BAA2B,kBAAkB,kCAAkC,oEAAoE,KAAK,OAAO,oBAAoB;AAC/N,+BAA+B,uCAAuC;AACtE,qCAAqC,+DAA+D,sCAAsC,0BAA0B,+CAA+C,yCAAyC,uEAAuE;AACnU,eAAe,mBAAO,CAAC,6FAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO;AACf;AACA;AACA,YAAY;AACZ;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA,yFAAyF;AACzF;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;ACnLa;;AAEb,2CAA2C,gCAAgC,oCAAoC,oDAAoD,6DAA6D,iEAAiE,sCAAsC;AACvU,iCAAiC,gBAAgB,sBAAsB,OAAO,uDAAuD,6DAA6D,4CAA4C,oKAAoK,mFAAmF,KAAK;AAC1e,4CAA4C,2BAA2B,kBAAkB,kCAAkC,oEAAoE,KAAK,OAAO,oBAAoB;AAC/N,kDAAkD,0CAA0C;AAC5F,4CAA4C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD;AAC/P,8DAA8D,sEAAsE,8DAA8D,kDAAkD,iBAAiB,GAAG;AACxQ,+BAA+B,uCAAuC;AACtE,qCAAqC,+DAA+D,sCAAsC,0BAA0B,+CAA+C,yCAAyC,uEAAuE;AACnU,eAAe,mBAAO,CAAC,8CAAQ;AAC/B;AACA,gBAAgB,mBAAO,CAAC,mBAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,yDAAyD,cAAc;AACvE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;;;;;;;;;;;;ACtLY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,QAAQ,OAAO;AACf,QAAQ;AACR;AACA,QAAQ,OAAO;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,OAAO;AACf,QAAQ;AACR;AACA,QAAQ,OAAO;AACf,QAAQ;AACR,QAAQ,OAAO;AACf;AACA,MAAM;AACN,MAAM,OAAO;AACb;AACA,MAAM;AACN,MAAM,OAAO;AACb;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/FA;AACA;;AAEa;;AAEb,iCAAiC,sGAAgC;AACjE;AACA;AACA;AACA;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACrFA;AACA;AACA;;;;;;;;;;;;ACFA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sGAAgC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,+BAA+B,mBAAO,CAAC,6FAAiB;AACxD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,aAAa;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;;;;;;;;;;ACrFa;;AAEb,4BAA4B,sGAAgC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACrBA,kGAA+C;;;;;;;;;;;ACA/C,UAAU,+HAAqD;AAC/D,cAAc;AACd,gBAAgB;AAChB,iIAAuD;AACvD,2HAAmD;AACnD,oIAAyD;AACzD,0IAA6D;AAC7D,6JAAqE;AACrE,mJAAgE;;;;;;;;;;;ACRhE;AACA;AACA,aAAa,mBAAO,CAAC,8CAAQ;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE,cAAc;AAChB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChEa;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;AAC1C,aAAa,mBAAO,CAAC,0EAAsB;AAC3C,qBAAqB,mBAAO,CAAC,kFAA0B;AACvD,WAAW,mBAAO,CAAC,0CAAM;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxCa;;AAEb,mBAAmB,mBAAO,CAAC,4DAAe;AAC1C,gBAAgB,mBAAO,CAAC,kEAAqB;AAC7C,cAAc,mBAAO,CAAC,8DAAgB;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,6BAA6B,6BAA6B;AAC1D;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,cAAc;AACd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,cAAc;AACd;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3HA,oBAAoB,mBAAO,CAAC,gEAAe;AAC3C,eAAe,mBAAO,CAAC,kEAAgB;AACvC,aAAa,mBAAO,CAAC,gDAAO;AAC5B,kBAAkB,mBAAO,CAAC,4EAAsB;AAChD,UAAU,mBAAO,CAAC,sCAAK;;AAEvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,qBAAM;;AAE7B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACpFA,aAAa,cAAc,qBAAM,sBAAsB,qBAAM;;AAE7D,sBAAsB,cAAc,qBAAM;;AAE1C,uBAAuB,cAAc,qBAAM;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK,qBAAM;AACX,YAAY,qBAAM;AAClB;AACA;AACA;AACA;AACA,mBAAmB,qBAAM;AACzB,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,gBAAgB;AAChB,6BAA6B;;AAE7B;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;;AAEA;;;;;;;;;;;;;AC1DA,iBAAiB,mBAAO,CAAC,kEAAc;AACvC,eAAe,mBAAO,CAAC,6DAAU;AACjC,eAAe,mBAAO,CAAC,8DAAY;AACnC,aAAa,mBAAO,CAAC,2EAAiB;;AAEtC;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,MAAM;AACnD;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,IAAI;AACJ;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,qBAAM;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,EAAE,qBAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH,4BAA4B,qBAAM;AAClC;AACA;AACA,IAAI;AACJ,GAAG,OAAO;AACV;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,GAAG,OAAO;AACV;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,CAAC,qBAAM;AACP;;AAEA;AACA,EAAE,qBAAM;AACR;AACA,GAAG;AACH,sBAAsB,qBAAM;AAC5B;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC/VA,iBAAiB,mBAAO,CAAC,kEAAc;AACvC,eAAe,mBAAO,CAAC,6DAAU;AACjC,aAAa,mBAAO,CAAC,2EAAiB;;AAEtC,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,uBAAuB;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE,OAAO;AACT;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAkB,MAAM;AAChC;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK,aAAa;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,wCAAwC,eAAe,IAAI;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM;AACxB,qBAAqB,oBAAoB;AACzC;;AAEA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAM;AAC1B;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,aAAa,sFAA6B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,sCAAsC,sCAAsC;AACzG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;ACvSA,iEAAe,oBAAoB;;;;;;;;;;;;;;;ACAnC,iEAAe,oBAAoB;;;;;;;;;;;;;;;ACAnC,iEAAe,gBAAgB;;;;;;;;;;;;;;;ACA/B,iEAAe,gBAAgB;;;;;;;;;;;ACA/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,eAAe,mBAAO,CAAC,qDAAU;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAK;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,yCAAyC,KAAK;AAC9C,wCAAwC,KAAK;AAC7C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gBAAgB,mBAAO,CAAC,0CAAI;;AAE5B;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA,6DAA6D;AAC7D;AACA;AACA,0BAA0B;;AAE1B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA,qBAAqB;AACrB;AACA;AACA,2CAA2C,OAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2CAA2C,OAAO;AAClD;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,+BAA+B;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD,IAAI;AACJ;AACA;;AAEA,wCAAwC;AACxC,4CAA4C;;AAE5C;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,gCAAgC;AAChC,+BAA+B;AAC/B,gCAAgC;AAChC;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4BAA4B,OAAO;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,8BAA8B,OAAO;AACtE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA,aAAa;AACb,eAAe;AACf,qBAAqB;AACrB,cAAc;;AAEd,WAAW;;;;;;;;;;;;ACtwBX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,aAAa,UAAU;AACvB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,SAAS,qBAAM;AACf,IAAI;AACJ;AACA;AACA,YAAY,qBAAM;AAClB;AACA;AACA;;;;;;;;;;;AClEA;;AAEA;;AAEA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;AClBA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;;;;;;;;;;;;;;;;;;;;ACJkC;AACH;AAC+B;AAC9D;AAC0C;AACN;AACQ;AACV;AACH;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,oCAAoC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,YAAY;AAC5C;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,qCAAqC,4CAA4C;AACjF,0BAA0B;AAC1B;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iHAAiH;AACjH;AACA,iHAAiH;AACjH;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iCAAiC;AACtE;AACA;AACA;AACA;AACA,mCAAmC,aAAa,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA,mBAAmB,GAAG;AACtB,mBAAmB,GAAG;AACtB,mBAAmB,GAAG,UAAU,cAAc;AAC9C,4BAA4B,yBAAyB,OAAO,UAAU,2BAA2B,OAAO;AACxG;AACA,oDAAoD,aAAa,KAAK;AACtE;AACA;AACA;AACA,6BAA6B,mDAAmD;AAChF,iBAAiB;AACjB;AACA,8BAA8B,aAAa;AAC3C,kBAAkB;AAClB;AACA,4BAA4B,qDAAqD;AACjF;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mDAAmD,aAAa;AAChE;AACA;AACA;AACA;AACA,wDAAwD,sBAAsB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,qBAAqB,2BAA2B,8BAA8B,cAAc;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA,qBAAqB;AACrB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E;AAC5E,sEAAsE;AACtE,mFAAmF;AACnF,iFAAiF;AACjF,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,kCAAkC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,gCAAgC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,qDAAI;AACnE;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAyF,MAAM;AAC/F;AACA;AACA,uFAAuF,MAAM;AAC7F;AACA;AACA,sFAAsF,MAAM;AAC5F;AACA;AACA,wFAAwF,MAAM;AAC9F;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,gBAAgB,+DAAsB;AACtC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,uCAAuC,yDAAQ;AAC/C,8DAA8D,sDAAK;AACnE,gEAAgE,0DAAS;AACzE,aAAa;AACb;AACA;AACA,uDAAuD,uBAAuB;AAC9E;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAqB;AAC7C,oCAAoC,6DAAmB;AACvD;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kDAAS;AAC9B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,yIAAyI;AACzI,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,sDAAQ;AACZ;AACA;AACA;AACA;AACA,gBAAgB,sDAAQ;AACxB;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,CAAC,I","sources":["webpack://artplayerjs/./node_modules/artplayer-plugin-danmuku/dist/artplayer-plugin-danmuku.js","webpack://artplayerjs/./node_modules/artplayer/dist/artplayer.js","webpack://artplayerjs/./node_modules/base64-js/index.js","webpack://artplayerjs/./node_modules/buffer/index.js","webpack://artplayerjs/./node_modules/builtin-status-codes/browser.js","webpack://artplayerjs/./node_modules/call-bind/callBound.js","webpack://artplayerjs/./node_modules/call-bind/index.js","webpack://artplayerjs/./node_modules/define-data-property/index.js","webpack://artplayerjs/./node_modules/events/events.js","webpack://artplayerjs/./node_modules/function-bind/implementation.js","webpack://artplayerjs/./node_modules/function-bind/index.js","webpack://artplayerjs/./node_modules/get-intrinsic/index.js","webpack://artplayerjs/./node_modules/gopd/index.js","webpack://artplayerjs/./node_modules/has-property-descriptors/index.js","webpack://artplayerjs/./node_modules/has-proto/index.js","webpack://artplayerjs/./node_modules/has-symbols/index.js","webpack://artplayerjs/./node_modules/has-symbols/shams.js","webpack://artplayerjs/./node_modules/hasown/index.js","webpack://artplayerjs/./node_modules/ieee754/index.js","webpack://artplayerjs/./node_modules/inherits/inherits_browser.js","webpack://artplayerjs/./node_modules/mpegts.js/dist/mpegts.js","webpack://artplayerjs/./node_modules/object-inspect/index.js","webpack://artplayerjs/./node_modules/process/browser.js","webpack://artplayerjs/./node_modules/punycode/punycode.js","webpack://artplayerjs/./node_modules/qs/lib/formats.js","webpack://artplayerjs/./node_modules/qs/lib/index.js","webpack://artplayerjs/./node_modules/qs/lib/parse.js","webpack://artplayerjs/./node_modules/qs/lib/stringify.js","webpack://artplayerjs/./node_modules/qs/lib/utils.js","webpack://artplayerjs/./node_modules/readable-stream/errors-browser.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_duplex.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_passthrough.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_readable.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_transform.js","webpack://artplayerjs/./node_modules/readable-stream/lib/_stream_writable.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/state.js","webpack://artplayerjs/./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://artplayerjs/./node_modules/readable-stream/readable-browser.js","webpack://artplayerjs/./node_modules/safe-buffer/index.js","webpack://artplayerjs/./node_modules/set-function-length/index.js","webpack://artplayerjs/./node_modules/side-channel/index.js","webpack://artplayerjs/./node_modules/stream-http/index.js","webpack://artplayerjs/./node_modules/stream-http/lib/capability.js","webpack://artplayerjs/./node_modules/stream-http/lib/request.js","webpack://artplayerjs/./node_modules/stream-http/lib/response.js","webpack://artplayerjs/./node_modules/string_decoder/lib/string_decoder.js","webpack://artplayerjs/./img/filp.svg","webpack://artplayerjs/./img/indicator.svg","webpack://artplayerjs/./img/ploading.gif","webpack://artplayerjs/./img/state.png","webpack://artplayerjs/./node_modules/url/url.js","webpack://artplayerjs/./node_modules/util-deprecate/browser.js","webpack://artplayerjs/./node_modules/xtend/immutable.js","webpack://artplayerjs/ignored|/codefile/ArtPlayerJs/node_modules/object-inspect|./util.inspect","webpack://artplayerjs/ignored|/codefile/ArtPlayerJs/node_modules/readable-stream/lib/internal/streams|util","webpack://artplayerjs/ignored|/codefile/ArtPlayerJs/node_modules/readable-stream/lib|util","webpack://artplayerjs/webpack/bootstrap","webpack://artplayerjs/webpack/runtime/compat get default export","webpack://artplayerjs/webpack/runtime/define property getters","webpack://artplayerjs/webpack/runtime/global","webpack://artplayerjs/webpack/runtime/hasOwnProperty shorthand","webpack://artplayerjs/webpack/runtime/make namespace object","webpack://artplayerjs/webpack/runtime/node module decorator","webpack://artplayerjs/./app.js"],"sourcesContent":["/*!\n * artplayer-plugin-danmuku.js v5.1.0\n * Github: https://github.com/zhw2590582/ArtPlayer\n * (c) 2017-2024 Harvey Zack\n * Released under the MIT License.\n */\n!function(e,t,i,a,n){var o=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{},s=\"function\"==typeof o[a]&&o[a],l=s.cache||{},r=\"undefined\"!=typeof module&&\"function\"==typeof module.require&&module.require.bind(module);function d(t,i){if(!l[t]){if(!e[t]){var n=\"function\"==typeof o[a]&&o[a];if(!i&&n)return n(t,!0);if(s)return s(t,!0);if(r&&\"string\"==typeof t)return r(t);var p=Error(\"Cannot find module '\"+t+\"'\");throw p.code=\"MODULE_NOT_FOUND\",p}h.resolve=function(i){var a=e[t][1][i];return null!=a?a:i},h.cache={};var u=l[t]=new d.Module(t);e[t][0].call(u.exports,h,u,u.exports,this)}return l[t].exports;function h(e){var t=h.resolve(e);return!1===t?{}:d(t)}}d.isParcelRequire=!0,d.Module=function(e){this.id=e,this.bundle=d,this.exports={}},d.modules=e,d.cache=l,d.parent=s,d.register=function(t,i){e[t]=[function(e,t){t.exports=i},{}]},Object.defineProperty(d,\"root\",{get:function(){return o[a]}}),o[a]=d;for(var p=0;pp);var n=e(\"./danmuku\"),o=a.interopDefault(n),s=e(\"./setting\"),l=a.interopDefault(s),r=e(\"./heatmap\"),d=a.interopDefault(r);function p(e){return t=>{let i=new o.default(t,e),a=new l.default(t,i);return i.option.heatmap&&(0,d.default)(t,i,i.option.heatmap),{name:\"artplayerPluginDanmuku\",emit:i.emit.bind(i),load:i.load.bind(i),config:i.config.bind(i),hide:i.hide.bind(i),show:i.show.bind(i),reset:i.reset.bind(i),mount:a.mount.bind(a),get option(){return i.option},get isHide(){return i.isHide},get isStop(){return i.isStop}}}}p.icons=l.default.icons,\"undefined\"!=typeof window&&(window.artplayerPluginDanmuku=p)},{\"./danmuku\":\"4ns48\",\"./setting\":\"lO8OT\",\"./heatmap\":\"8AxLD\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],\"4ns48\":[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(i);var n=e(\"./bilibili\"),o=e(\"bundle-text:./worker\"),s=a.interopDefault(o);class l{constructor(e,t){let{constructor:i,template:a}=e;this.utils=i.utils,this.validator=i.validator,this.$danmuku=a.$danmuku,this.$player=a.$player,this.art=e,this.danmus=[],this.queue=[],this.option={},this.$refs=[],this.isStop=!1,this.isHide=!1,this.timer=null,this.index=0,this.states={wait:[],ready:[],emit:[],stop:[]},this.config(t),this.worker=new Worker(URL.createObjectURL(new Blob([s.default]))),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this.reset=this.reset.bind(this),this.resize=this.resize.bind(this),this.destroy=this.destroy.bind(this),e.on(\"video:play\",this.start),e.on(\"video:playing\",this.start),e.on(\"video:pause\",this.stop),e.on(\"video:waiting\",this.stop),e.on(\"destroy\",this.destroy),e.on(\"resize\",this.resize),this.load()}static get option(){return{danmuku:[],speed:5,margin:[10,\"25%\"],opacity:1,color:\"#FFFFFF\",mode:0,modes:[0,1,2],fontSize:25,antiOverlap:!0,synchronousPlayback:!1,mount:void 0,heatmap:!1,points:[],filter:()=>!0,beforeEmit:()=>!0,beforeVisible:()=>!0,visible:!0,emitter:!0,maxLength:200,lockTime:5,theme:\"dark\",OPACITY:{},FONT_SIZE:{},MARGIN:{},SPEED:{},COLOR:[]}}static get scheme(){return{danmuku:\"array|function|string\",speed:\"number\",margin:\"array\",opacity:\"number\",color:\"string\",mode:\"number\",modes:\"array\",fontSize:\"number|string\",antiOverlap:\"boolean\",synchronousPlayback:\"boolean\",mount:\"?htmldivelement|string\",heatmap:\"object|boolean\",points:\"array\",filter:\"function\",beforeEmit:\"function\",beforeVisible:\"function\",visible:\"boolean\",emitter:\"boolean\",maxLength:\"number\",lockTime:\"number\",theme:\"string\",OPACITY:\"object\",FONT_SIZE:\"object\",MARGIN:\"object\",SPEED:\"object\",COLOR:\"array\"}}static get cssText(){return` user-select: none; position: absolute; white-space: pre; pointer-events: none; perspective: 500px; display: inline-block; will-change: transform; font-weight: normal; line-height: 1.125; visibility: hidden; font-family: SimHei, \"Microsoft JhengHei\", Arial, Helvetica, sans-serif; text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px; `}get isRotate(){return this.art.plugins?.autoOrientation?.state}get marginTop(){let{clamp:e}=this.utils,t=this.option.margin[0],{clientHeight:i}=this.$player;return\"number\"==typeof t?e(t,0,i):\"string\"==typeof t&&t.endsWith(\"%\")?e(i*(parseFloat(t)/100),0,i):l.option.margin[0]}get marginBottom(){let{clamp:e}=this.utils,t=this.option.margin[1],{clientHeight:i}=this.$player;return\"number\"==typeof t?e(t,0,i):\"string\"==typeof t&&t.endsWith(\"%\")?e(i*(parseFloat(t)/100),0,i):l.option.margin[1]}get fontSize(){let{clamp:e}=this.utils,{clientHeight:t}=this.$player,i=this.option.fontSize;return\"number\"==typeof i?e(i,12,t):\"string\"==typeof i&&i.endsWith(\"%\")?e(t*(parseFloat(i)/100),12,t):l.option.fontSize}get $ref(){let e=this.$refs.pop()||document.createElement(\"div\");return e.style.cssText=l.cssText,e.dataset.mode=\"\",e.className=\"\",e}get readys(){let{currentTime:e}=this.art,t=[];return this.filter(\"ready\",e=>t.push(e)),this.filter(\"wait\",i=>{e+.1>=i.time&&i.time>=e-.1&&t.push(i)}),t}get visibles(){let e=[],{clientWidth:t}=this.$player,i=this.getLeft(this.$player);return this.filter(\"emit\",a=>{let n=a.$ref.offsetTop,o=this.getLeft(a.$ref)-i,s=a.$ref.clientHeight,l=a.$ref.clientWidth,r=o+l,d=r/a.$restTime,p={};p.top=n,p.left=o,p.height=s,p.width=l,p.right=t-r,p.speed=d,p.distance=r,p.time=a.$restTime,p.mode=a.mode,e.push(p)}),e}get speed(){return this.option.synchronousPlayback&&this.art.playbackRate?this.option.speed/Number(this.art.playbackRate):this.option.speed}async load(){let{errorHandle:e}=this.utils;try{\"function\"==typeof this.option.danmuku?this.danmus=await this.option.danmuku():\"function\"==typeof this.option.danmuku.then?this.danmus=await this.option.danmuku:\"string\"==typeof this.option.danmuku?this.danmus=await (0,n.bilibiliDanmuParseFromUrl)(this.option.danmuku):this.danmus=this.option.danmuku,e(Array.isArray(this.danmus),\"Danmuku need return an array as result\"),this.queue=[],this.$danmuku.innerText=\"\",this.danmus.forEach(e=>this.emit(e)),this.art.emit(\"artplayerPluginDanmuku:loaded\",this.queue)}catch(e){throw this.art.emit(\"artplayerPluginDanmuku:error\",e),e}return this}emit(e){let{clamp:t}=this.utils;if(this.validator(e,{text:\"string\",mode:\"?number\",color:\"?string\",time:\"?number\",border:\"?boolean\",style:\"?object\"}),!e.text.trim()||(e.time?e.time=t(e.time,0,1/0):e.time=this.art.currentTime+.5,void 0===e.mode&&(e.mode=this.option.mode),void 0===e.style&&(e.style={}),void 0===e.color&&(e.color=this.option.color),![0,1,2].includes(e.mode)||!this.option.filter(e)))return this;let i={...e,$state:\"wait\",$id:this.index++,$ref:null,$restTime:0,$lastStartTime:0};return this.setState(i,\"wait\"),this.queue.push(i),this}config(e){let{clamp:t}=this.utils,{$controlsCenter:i}=this.art.template;return Object.keys(e).some(t=>JSON.stringify(this.option[t])!==JSON.stringify(e[t]))&&(this.option=Object.assign({},l.option,this.option,e),this.validator(this.option,l.scheme),this.option.mode=t(this.option.mode,0,2),this.option.speed=t(this.option.speed,1,10),this.option.opacity=t(this.option.opacity,0,1),this.option.lockTime=t(this.option.lockTime,1,60),this.option.maxLength=t(this.option.maxLength,1,1e3),this.option.mount=this.option.mount||i,e.fontSize&&this.reset(),this.option.visible?this.show():this.hide(),this.art.emit(\"artplayerPluginDanmuku:config\",this.option)),this}getLeft(e){let t=e.getBoundingClientRect();return this.isRotate?t.top:t.left}postMessage(e={}){return new Promise(t=>{e.id=Date.now(),this.worker.postMessage(e),this.worker.onmessage=i=>{let{data:a}=i;a.id===e.id&&t(a)}})}filter(e,t){let i=this.states[e]||[];for(let e=0;et!==e),e.$state=t,e.$ref&&(e.$ref.dataset.state=t),this.states[t].push(e)}makeWait(e){this.setState(e,\"wait\"),e.$ref&&(e.$ref.style.cssText=l.cssText,e.$ref.style.visibility=\"hidden\",e.$ref.style.marginLeft=\"0px\",e.$ref.style.transform=\"translateX(0px)\",e.$ref.style.transition=\"transform 0s linear 0s\",this.$refs.push(e.$ref),e.$ref=null)}update(){let{setStyles:e}=this.utils;return this.timer=window.requestAnimationFrame(async()=>{if(this.art.playing&&!this.isHide){this.filter(\"emit\",e=>{let t=(Date.now()-e.$lastStartTime)/1e3;e.$restTime-=t,e.$lastStartTime=Date.now(),e.$restTime<=0&&this.makeWait(e)});let t=this.readys;for(let i=0;i{0===t.mode&&(t.$ref.style.left=`${e}px`)}),this.filter(\"emit\",t=>{if(t.$lastStartTime=Date.now(),0===t.mode){let i=e+t.$ref.clientWidth;t.$ref.style.left=`${e}px`,t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=`transform ${t.$restTime}s linear 0s`}})}continue(){let{clientWidth:e}=this.$player;return this.filter(\"stop\",t=>{if(this.setState(t,\"emit\"),t.$lastStartTime=Date.now(),0===t.mode){let i=e+t.$ref.clientWidth;t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=`transform ${t.$restTime}s linear 0s`}}),this}suspend(){let{clientWidth:e}=this.$player;return this.filter(\"emit\",t=>{if(this.setState(t,\"stop\"),0===t.mode){let i=e-(this.getLeft(t.$ref)-this.getLeft(this.$player));t.$ref.style.transform=`translateX(${-i}px)`,t.$ref.style.transition=\"transform 0s linear 0s\"}}),this}stop(){return this.isStop=!0,this.suspend(),window.cancelAnimationFrame(this.timer),this.art.emit(\"artplayerPluginDanmuku:stop\"),this}start(){return this.isStop=!1,this.continue(),this.update(),this.art.emit(\"artplayerPluginDanmuku:start\"),this}reset(){return this.queue.forEach(e=>this.makeWait(e)),this.art.emit(\"artplayerPluginDanmuku:reset\"),this}show(){return this.isHide=!1,this.$danmuku.style.opacity=1,this.option.visible=!0,this.art.emit(\"artplayerPluginDanmuku:show\"),this}hide(){return this.isHide=!0,this.$danmuku.style.opacity=0,this.option.visible=!1,this.art.emit(\"artplayerPluginDanmuku:hide\"),this}destroy(){this.stop(),this.worker.terminate(),this.art.off(\"video:play\",this.start),this.art.off(\"video:playing\",this.start),this.art.off(\"video:pause\",this.stop),this.art.off(\"video:waiting\",this.stop),this.art.off(\"resize\",this.reset),this.art.off(\"destroy\",this.destroy),this.art.emit(\"artplayerPluginDanmuku:destroy\")}}i.default=l},{\"./bilibili\":\"f83sx\",\"bundle-text:./worker\":\"lfIAi\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],f83sx:[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function n(e){switch(e){case 1:case 2:case 3:default:return 0;case 4:return 2;case 5:return 1}}function o(e){return\"string\"!=typeof e?[]:Array.from(e.matchAll(/.+?)\"(?: .*?)?>(?.+?)<\\/d>/gs)).map(e=>{let t=e.groups.p.split(\",\");return t.length>=8?{text:e.groups.text.trim().replaceAll(\""\",'\"').replaceAll(\"'\",\"'\").replaceAll(\"<\",\"<\").replaceAll(\">\",\">\").replaceAll(\"&\",\"&\"),time:Number(t[0]),mode:n(Number(t[1])),fontSize:Number(t[2]),color:`#${Number(t[3]).toString(16)}`,timestamp:Number(t[4]),pool:Number(t[5]),userID:t[6],rowID:Number(t[7])}:null}).filter(Boolean)}async function s(e){let t=await fetch(e);return o(await t.text())}a.defineInteropFlag(i),a.export(i,\"getMode\",()=>n),a.export(i,\"bilibiliDanmuParseFromXml\",()=>o),a.export(i,\"bilibiliDanmuParseFromUrl\",()=>s)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],\"9pCYc\":[function(e,t,i){i.interopDefault=function(e){return e&&e.__esModule?e:{default:e}},i.defineInteropFlag=function(e){Object.defineProperty(e,\"__esModule\",{value:!0})},i.exportAll=function(e,t){return Object.keys(e).forEach(function(i){\"default\"===i||\"__esModule\"===i||Object.prototype.hasOwnProperty.call(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[i]}})}),t},i.export=function(e,t,i){Object.defineProperty(e,t,{enumerable:!0,get:i})}},{}],lfIAi:[function(e,t,i){t.exports='!function(e,t,n,o,i){var r=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{},f=\"function\"==typeof r[o]&&r[o],l=f.cache||{},d=\"undefined\"!=typeof module&&\"function\"==typeof module.require&&module.require.bind(module);function u(t,n){if(!l[t]){if(!e[t]){var i=\"function\"==typeof r[o]&&r[o];if(!n&&i)return i(t,!0);if(f)return f(t,!0);if(d&&\"string\"==typeof t)return d(t);var h=Error(\"Cannot find module \\'\"+t+\"\\'\");throw h.code=\"MODULE_NOT_FOUND\",h}p.resolve=function(n){var o=e[t][1][n];return null!=o?o:n},p.cache={};var s=l[t]=new u.Module(t);e[t][0].call(s.exports,p,s,s.exports,this)}return l[t].exports;function p(e){var t=p.resolve(e);return!1===t?{}:u(t)}}u.isParcelRequire=!0,u.Module=function(e){this.id=e,this.bundle=u,this.exports={}},u.modules=e,u.cache=l,u.parent=f,u.register=function(t,n){e[t]=[function(e,t){t.exports=n},{}]},Object.defineProperty(u,\"root\",{get:function(){return r[o]}}),r[o]=u;for(var h=0;h{let{data:t}=e;if(!t.id)return;let n=function({target:e,visibles:t,clientWidth:n,clientHeight:o,marginBottom:i,marginTop:r,antiOverlap:f}){let l=o-i,d=t.filter(t=>t.mode===e.mode&&t.top<=l).sort((e,t)=>e.top-t.top);if(0===d.length)return 2===e.mode?l-e.height:r;if(d.unshift({type:\"top\",top:0,left:0,right:0,height:r,width:n,speed:0,distance:n}),d.push({type:\"bottom\",top:l,left:0,right:0,height:i,width:n,speed:0,distance:n}),2===e.mode)for(let t=d.length-2;t>=0;t-=1){let n=d[t],o=d[t+1],i=n.top+n.height;if(o.top-i>=e.height)return o.top-e.height}else for(let t=1;t=e.height)return i}let u=[];for(let e=1;et.every(t=>!(nt.time)));return t&&t[0]?t[0].top:void 0}case 1:case 2:return}else{switch(e.mode){case 0:u.sort((e,t)=>{let n=Math.min(...t.map(e=>e.right)),o=Math.min(...e.map(e=>e.right));return n*t.length-o*e.length});break;case 1:case 2:u.sort((e,t)=>{let n=Math.max(...t.map(e=>e.width));return Math.max(...e.map(e=>e.width))*e.length-n*t.length})}return u[0][0].top}}(t);self.postMessage({top:n,id:t.id})}},{}]},[\"59OZS\"],\"59OZS\",\"parcelRequire4dc0\");'},{}],lO8OT:[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(i);var n=e(\"bundle-text:./style.less\"),o=a.interopDefault(n),s=e(\"bundle-text:./img/on.svg\"),l=a.interopDefault(s),r=e(\"bundle-text:./img/off.svg\"),d=a.interopDefault(r),p=e(\"bundle-text:./img/config.svg\"),u=a.interopDefault(p),h=e(\"bundle-text:./img/style.svg\"),m=a.interopDefault(h),c=e(\"bundle-text:./img/mode_0_off.svg\"),f=a.interopDefault(c),g=e(\"bundle-text:./img/mode_0_on.svg\"),v=a.interopDefault(g),y=e(\"bundle-text:./img/mode_1_off.svg\"),x=a.interopDefault(y),k=e(\"bundle-text:./img/mode_1_on.svg\"),b=a.interopDefault(k),$=e(\"bundle-text:./img/mode_2_off.svg\"),w=a.interopDefault($),M=e(\"bundle-text:./img/mode_2_on.svg\"),E=a.interopDefault(M),D=e(\"bundle-text:./img/check_on.svg\"),S=a.interopDefault(D),z=e(\"bundle-text:./img/check_off.svg\"),A=a.interopDefault(z);if(i.default=class{constructor(e,t){this.art=e,this.danmuku=t,this.utils=e.constructor.utils;let{setStyle:i}=this.utils,{$controlsCenter:a}=e.template;i(a,\"display\",\"flex\"),this.template={$controlsCenter:a,$mount:a,$danmuku:null,$toggle:null,$configModes:null,$styleModes:null,$colors:null,$opacitySlider:null,$opacityValue:null,$marginSlider:null,$marginValue:null,$fontSizeSlider:null,$fontSizeValue:null,$speedSlider:null,$speedValue:null,$input:null,$send:null},this.slider={opacity:null,margin:null,fontSize:null,speed:null},this.emitting=!1,this.isLock=!1,this.timer=null,this.createTemplate(),this.createSliders(),this.createEvents(),this.mount(this.option.mount),e.on(\"fullscreen\",e=>this.onFullscreen(e)),e.on(\"fullscreenWeb\",e=>this.onFullscreen(e))}static get icons(){return{$on:l.default,$off:d.default,$config:u.default,$style:m.default,$mode_0_off:f.default,$mode_0_on:v.default,$mode_1_off:x.default,$mode_1_on:b.default,$mode_2_off:w.default,$mode_2_on:E.default,$check_on:S.default,$check_off:A.default}}get option(){return this.danmuku.option}get outside(){return this.template.$mount!==this.template.$controlsCenter}get TEMPLATE(){let{option:e}=this;return`
${l.default}${d.default}
${u.default}
\\u{6309}\\u{7C7B}\\u{578B}\\u{5C4F}\\u{853D}
${f.default}${v.default}
\\u{6EDA}\\u{52A8}
${x.default}${b.default}
\\u{9876}\\u{90E8}
${w.default}${E.default}
\\u{5E95}\\u{90E8}
${S.default}${A.default} \\u{9632}\\u{6B62}\\u{5F39}\\u{5E55}\\u{91CD}\\u{53E0}
${S.default}${A.default} \\u{540C}\\u{6B65}\\u{89C6}\\u{9891}\\u{901F}\\u{5EA6}
\\u{4E0D}\\u{900F}\\u{660E}\\u{5EA6}
\\u{672A}\\u{77E5}
\\u{663E}\\u{793A}\\u{533A}\\u{57DF}
\\u{672A}\\u{77E5}
\\u{5F39}\\u{5E55}\\u{5B57}\\u{53F7}
\\u{672A}\\u{77E5}
\\u{5F39}\\u{5E55}\\u{901F}\\u{5EA6}
\\u{672A}\\u{77E5}
${m.default}
\\u{6A21}\\u{5F0F}
${v.default}
\\u{6EDA}\\u{52A8}
${b.default}
\\u{9876}\\u{90E8}
${E.default}
\\u{5E95}\\u{90E8}
\\u{989C}\\u{8272}
${this.COLOR.map(e=>`
`).join(\"\")}
\\u{53D1}\\u{9001}
`}get OPACITY(){return{min:0,max:100,steps:[],...this.option.OPACITY}}get FONT_SIZE(){return{min:12,max:120,steps:[],...this.option.FONT_SIZE}}get MARGIN(){return{min:0,max:3,steps:[{name:\"1/4\",value:[10,\"75%\"]},{name:\"半屏\",value:[10,\"50%\"]},{name:\"3/4\",value:[10,\"25%\"]},{name:\"满屏\",value:[10,10]}],...this.option.MARGIN}}get SPEED(){return{min:0,max:4,steps:[{name:\"极慢\",value:10},{name:\"较慢\",value:7.5,hide:!0},{name:\"适中\",value:5},{name:\"较快\",value:2.5,hide:!0},{name:\"极快\",value:1}],...this.option.SPEED}}get COLOR(){return this.option.COLOR.length?this.option.COLOR:[\"#FE0302\",\"#FF7204\",\"#FFAA02\",\"#FFD302\",\"#FFFF00\",\"#A0EE00\",\"#00CD00\",\"#019899\",\"#4266BE\",\"#89D5FF\",\"#CC0273\",\"#222222\",\"#9B9B9B\",\"#FFFFFF\"]}query(e){let{query:t}=this.utils,{$danmuku:i}=this.template;return t(e,i)}setData(e,t){let{$player:i}=this.art.template,{$mount:a}=this.template;i.dataset[e]=t,this.outside&&(a.dataset[e]=t)}createTemplate(){let{createElement:e,tooltip:t}=this.utils,i=e(\"div\");i.className=\"artplayer-plugin-danmuku\",i.innerHTML=this.TEMPLATE,this.template.$danmuku=i,this.template.$toggle=this.query(\".apd-toggle\"),this.template.$configModes=this.query(\".apd-config-mode .apd-modes\"),this.template.$styleModes=this.query(\".apd-style-mode .apd-modes\"),this.template.$colors=this.query(\".apd-colors\"),this.template.$antiOverlap=this.query(\".apd-anti-overlap\"),this.template.$syncVideo=this.query(\".apd-sync-video\"),this.template.$opacitySlider=this.query(\".apd-config-opacity .apd-slider\"),this.template.$opacityValue=this.query(\".apd-config-opacity .apd-value\"),this.template.$marginSlider=this.query(\".apd-config-margin .apd-slider\"),this.template.$marginValue=this.query(\".apd-config-margin .apd-value\"),this.template.$fontSizeSlider=this.query(\".apd-config-fontSize .apd-slider\"),this.template.$fontSizeValue=this.query(\".apd-config-fontSize .apd-value\"),this.template.$speedSlider=this.query(\".apd-config-speed .apd-slider\"),this.template.$speedValue=this.query(\".apd-config-speed .apd-value\"),this.template.$input=this.query(\".apd-input\"),this.template.$send=this.query(\".apd-send\");let{$toggle:a}=this.template;this.art.on(\"artplayerPluginDanmuku:show\",()=>{t(a,\"关闭弹幕\")}),this.art.on(\"artplayerPluginDanmuku:hide\",()=>{t(a,\"打开弹幕\")})}createEvents(){let{$toggle:e,$configModes:t,$styleModes:i,$colors:a,$antiOverlap:n,$syncVideo:o,$send:s,$input:l}=this.template;this.art.proxy(e,\"click\",()=>{this.danmuku.config({visible:!this.option.visible}),this.reset()}),this.art.proxy(t,\"click\",e=>{let t=e.target.closest(\".apd-mode\");if(!t)return;let i=Number(t.dataset.mode);this.option.modes.includes(i)?this.danmuku.config({modes:this.option.modes.filter(e=>e!==i)}):this.danmuku.config({modes:[...this.option.modes,i]}),this.reset()}),this.art.proxy(n,\"click\",()=>{this.danmuku.config({antiOverlap:!this.option.antiOverlap}),this.reset()}),this.art.proxy(o,\"click\",()=>{this.danmuku.config({synchronousPlayback:!this.option.synchronousPlayback}),this.reset()}),this.art.proxy(i,\"click\",e=>{let t=e.target.closest(\".apd-mode\");if(!t)return;let i=Number(t.dataset.mode);this.danmuku.config({mode:i}),this.reset()}),this.art.proxy(a,\"click\",e=>{let t=e.target.closest(\".apd-color\");t&&(this.danmuku.config({color:t.dataset.color}),this.reset())}),this.art.proxy(s,\"click\",()=>this.emit()),this.art.proxy(l,\"keypress\",e=>{\"Enter\"===e.key&&(e.preventDefault(),this.emit())})}createSliders(){this.slider.opacity=this.createSlider({...this.OPACITY,container:this.template.$opacitySlider,findIndex:()=>Math.round(100*this.option.opacity),onChange:e=>{let{$opacityValue:t}=this.template;t.textContent=`${e}%`,this.danmuku.config({opacity:e/100})}}),this.slider.margin=this.createSlider({...this.MARGIN,container:this.template.$marginSlider,findIndex:()=>this.MARGIN.steps.findIndex(e=>e.value[0]===this.option.margin[0]&&e.value[1]===this.option.margin[1]),onChange:e=>{let t=this.MARGIN.steps[e];if(!t)return;let{$marginValue:i}=this.template;i.textContent=t.name,this.danmuku.config({margin:t.value})}}),this.slider.fontSize=this.createSlider({...this.FONT_SIZE,container:this.template.$fontSizeSlider,findIndex:()=>Math.round(this.danmuku.fontSize),onChange:e=>{let{$fontSizeValue:t}=this.template;t.textContent=`${e}px`,this.danmuku.config({fontSize:e})}}),this.slider.speed=this.createSlider({...this.SPEED,container:this.template.$speedSlider,findIndex:()=>this.SPEED.steps.findIndex(e=>e.value===this.option.speed),onChange:e=>{let t=this.SPEED.steps[e];if(!t)return;let{$speedValue:i}=this.template;i.textContent=t.name,this.danmuku.config({speed:t.value})}})}createSlider({min:e,max:t,container:i,findIndex:a,onChange:n,steps:o=[]}){let{query:s,clamp:l}=this.utils;i.innerHTML=`
${o.map(()=>'
').join(\"\")}
${o.map(e=>e.hide?\"\":`
${e.name}
`).join(\"\")}
`;let r=s(\".apd-slider-dot\",i),d=s(\".apd-slider-progress\",i),p=!1;function u(i=a()){if(it)return;let s=(i-e)/(t-e);r.style.left=`${100*s}%`,0===o.length&&(d.style.width=r.style.left),n(i)}function h(a){let{left:n,width:o}=i.getBoundingClientRect();u(Math.round(l(a.clientX-n,0,o)/o*(t-e)+e))}return this.art.proxy(i,\"click\",e=>{h(e)}),this.art.proxy(i,\"mousedown\",e=>{p=0===e.button}),this.art.on(\"document:mousemove\",e=>{p&&h(e)}),this.art.on(\"document:mouseup\",e=>{p&&(p=!1,h(e))}),{reset:u}}onFullscreen(e){if(this.outside){let{$danmuku:t,$controlsCenter:i,$mount:a}=this.template;e?i.appendChild(t):a.appendChild(t)}}async emit(){let{$input:e}=this.template,t=e.value.trim();if(!t.length||this.isLock||this.emitting)return;let i={text:t,mode:this.option.mode,color:this.option.color,time:this.art.currentTime};try{this.emitting=!0;let t=await this.option.beforeEmit(i);if(this.emitting=!1,!0!==t)return;i.border=!0,delete i.time,this.danmuku.emit(i),e.value=\"\",this.lock()}catch(e){this.emitting=!1}}lock(){let{addClass:e}=this.utils,{$send:t}=this.template;this.isLock=!0;let i=this.option.lockTime;t.innerText=i,e(t,\"apd-lock\");let a=()=>{this.timer=setTimeout(()=>{0===i?this.unlock():(i-=1,t.innerText=i,a())},1e3)};a()}unlock(){let{removeClass:e}=this.utils,{$send:t}=this.template;clearTimeout(this.timer),this.isLock=!1,t.innerText=\"发送\",e(t,\"apd-lock\")}reset(){let{inverseClass:e,tooltip:t}=this.utils,{$toggle:i,$colors:a}=this.template;this.slider.opacity.reset(),this.slider.margin.reset(),this.slider.fontSize.reset(),this.slider.speed.reset(),this.setData(\"danmukuVisible\",this.option.visible),this.setData(\"danmukuMode\",this.option.mode),this.setData(\"danmukuColor\",this.option.color),this.setData(\"danmukuMode0\",this.option.modes.includes(0)),this.setData(\"danmukuMode1\",this.option.modes.includes(1)),this.setData(\"danmukuMode2\",this.option.modes.includes(2)),this.setData(\"danmukuAntiOverlap\",this.option.antiOverlap),this.setData(\"danmukuSyncVideo\",this.option.synchronousPlayback),this.setData(\"danmukuTheme\",this.option.theme),this.setData(\"danmukuEmitter\",this.option.emitter);let n=Array.from(a.children).find(e=>e.dataset.color===this.option.color.toUpperCase());n&&e(n,\"apd-active\"),t(i,this.option.visible?\"关闭弹幕\":\"打开弹幕\")}mount(e){let t=\"string\"==typeof e?document.querySelector(e):e;t.appendChild(this.template.$danmuku),this.template.$mount=t,this.reset()}},\"undefined\"!=typeof document){let e=\"artplayer-plugin-danmuku\",t=document.getElementById(e);if(t)t.textContent=o.default;else{let t=document.createElement(\"style\");t.id=e,t.textContent=o.default,document.head.appendChild(t)}}},{\"bundle-text:./style.less\":\"hViDo\",\"bundle-text:./img/on.svg\":\"9pjcf\",\"bundle-text:./img/off.svg\":\"b2dkP\",\"bundle-text:./img/config.svg\":\"l8tyy\",\"bundle-text:./img/style.svg\":\"5iZC3\",\"bundle-text:./img/mode_0_off.svg\":\"i0Vut\",\"bundle-text:./img/mode_0_on.svg\":\"hOSvZ\",\"bundle-text:./img/mode_1_off.svg\":\"bOXC3\",\"bundle-text:./img/mode_1_on.svg\":\"lKuh0\",\"bundle-text:./img/mode_2_off.svg\":\"eB8W6\",\"bundle-text:./img/mode_2_on.svg\":\"bpe2E\",\"bundle-text:./img/check_on.svg\":\"kL9zy\",\"bundle-text:./img/check_off.svg\":\"22xpM\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}],hViDo:[function(e,t,i){t.exports='.artplayer-plugin-danmuku{z-index:99;color:#fff;flex-shrink:0;justify-content:center;align-items:center;gap:10px;width:100%;height:32px;font-size:12px;font-weight:300;display:flex;position:relative}.artplayer-plugin-danmuku .apd-icon{cursor:pointer;opacity:.75;fill:#fff;transition:all .2s}.artplayer-plugin-danmuku .apd-icon:hover{opacity:1}.artplayer-plugin-danmuku .apd-config{display:flex;position:relative}.artplayer-plugin-danmuku .apd-config .apd-config-panel{width:320px;padding:10px;display:none;position:absolute;bottom:24px;left:-148px}.artplayer-plugin-danmuku .apd-config .apd-config-panel .apd-config-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-config:hover .apd-config-panel{display:flex}.artplayer-plugin-danmuku .apd-config-mode,.artplayer-plugin-danmuku .apd-config-slider,.artplayer-plugin-danmuku .apd-config-other,.artplayer-plugin-danmuku .apd-style-mode{margin-bottom:15px}.artplayer-plugin-danmuku .apd-modes{align-items:center;gap:20px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-modes .apd-mode{cursor:pointer;text-align:center}.artplayer-plugin-danmuku .apd-modes .apd-mode:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-config-slider{align-items:center;gap:12px;display:flex}.artplayer-plugin-danmuku .apd-config-slider .apd-value{text-align:right;width:32px}.artplayer-plugin-danmuku .apd-slider{cursor:pointer;flex:1;justify-content:center;align-items:center;height:20px;display:flex;position:relative}.artplayer-plugin-danmuku .apd-slider .apd-slider-line{background-color:#ffffff40;border-radius:3px;width:100%;height:2px;position:relative;overflow:hidden}.artplayer-plugin-danmuku .apd-slider .apd-slider-points{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.artplayer-plugin-danmuku .apd-slider .apd-slider-points .apd-slider-point{background-color:#ffffff80;border-radius:50%;width:2px;height:2px}.artplayer-plugin-danmuku .apd-slider .apd-slider-progress{background-color:#00a1d6;width:0%;height:100%}.artplayer-plugin-danmuku .apd-slider .apd-slider-dot{background-color:#00a1d6;border-radius:50%;width:12px;height:12px;position:absolute;left:0%;transform:translate(-6px)}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps{color:#777;justify-content:space-between;align-items:center;width:calc(100% + 32px);display:flex;position:absolute;bottom:-12px}.artplayer-plugin-danmuku .apd-slider .apd-slider-steps .apd-slider-step{text-align:center;flex-shrink:0;width:36px;scale:.95}.artplayer-plugin-danmuku .apd-config-other{align-items:center;gap:20px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-check-off,.artplayer-plugin-danmuku .apd-config-other .apd-check-on{width:16px;height:16px}.artplayer-plugin-danmuku .apd-config-other .apd-other{cursor:pointer;align-items:center;gap:2px;display:flex}.artplayer-plugin-danmuku .apd-config-other .apd-other:hover{color:#00a1d6}.artplayer-plugin-danmuku .apd-emitter{background-color:#ffffff40;border-radius:5px;flex:1;align-items:center;height:100%;display:flex}.artplayer-plugin-danmuku .apd-style{justify-content:center;align-items:center;display:flex;position:relative}.artplayer-plugin-danmuku .apd-style .apd-style-panel{width:200px;padding:10px;display:none;position:absolute;bottom:24px;left:-88px}.artplayer-plugin-danmuku .apd-style .apd-style-panel .apd-style-panel-inner{background-color:#000000d9;border-radius:3px;width:100%;padding:10px}.artplayer-plugin-danmuku .apd-style:hover .apd-style-panel{display:flex}.artplayer-plugin-danmuku .apd-colors{flex-wrap:wrap;gap:8px;margin-top:5px;display:flex}.artplayer-plugin-danmuku .apd-colors .apd-color{cursor:pointer;border-radius:2px;width:16px;height:16px}.artplayer-plugin-danmuku .apd-colors .apd-color.apd-active{border:1px solid #000;box-shadow:0 0 0 1px #fff}.artplayer-plugin-danmuku .apd-input{color:#fff;background-color:#0000;border:none;outline:none;flex:1;width:auto;min-width:0;height:100%;line-height:1}.artplayer-plugin-danmuku .apd-input::placeholder{color:#ffffff80}.artplayer-plugin-danmuku .apd-send{cursor:pointer;text-shadow:none;background-color:#00a1d6;border-top-right-radius:5px;border-bottom-right-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:100%;display:flex}.artplayer-plugin-danmuku .apd-send.apd-lock{cursor:not-allowed;color:#666;background-color:#e7e7e7}.art-controls-center .apd-emitter{flex:none;width:260px}.art-fullscreen .artplayer-plugin-danmuku,.art-fullscreen-web .artplayer-plugin-danmuku{gap:16px;height:38px}.art-fullscreen .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen-web .artplayer-plugin-danmuku .apd-config-icon,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-off,.art-fullscreen .artplayer-plugin-danmuku .apd-toggle-on,.art-fullscreen-web .artplayer-plugin-danmuku .apd-toggle-on{width:28px;height:28px}.art-fullscreen .artplayer-plugin-danmuku .apd-emitter,.art-fullscreen-web .artplayer-plugin-danmuku .apd-emitter{flex:none;width:400px}[data-danmuku-emitter=false] .apd-emitter{display:none!important}[data-danmuku-emitter=false] .art-controls-center .artplayer-plugin-danmuku{justify-content:flex-end;gap:18px}[data-danmuku-emitter=false].art-fullscreen .art-controls-center .artplayer-plugin-danmuku,[data-danmuku-emitter=false].art-fullscreen-web .art-controls-center .artplayer-plugin-danmuku{gap:24px}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-icon{fill:#333}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-emitter{background-color:#f1f2f3}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input{color:#000}[data-danmuku-theme=light]>.artplayer-plugin-danmuku .apd-input::placeholder{color:#0000004d}[data-danmuku-visible=false] .apd-toggle-off{display:block}[data-danmuku-visible=false] .apd-toggle-on,[data-danmuku-visible=true] .apd-toggle-off{display:none}[data-danmuku-visible=true] .apd-toggle-on{display:block}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-on{display:none}[data-danmuku-anti-overlap=false] .apd-anti-overlap .apd-check-off,[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-on{display:block}[data-danmuku-anti-overlap=true] .apd-anti-overlap .apd-check-off,[data-danmuku-sync-video=false] .apd-sync-video .apd-check-on{display:none}[data-danmuku-sync-video=false] .apd-sync-video .apd-check-off,[data-danmuku-sync-video=true] .apd-sync-video .apd-check-on{display:block}[data-danmuku-sync-video=true] .apd-sync-video .apd-check-off{display:none}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-off{display:block}[data-danmuku-mode0=false] .apd-config-mode .apd-mode-0-on{display:none}[data-danmuku-mode0=false] .art-danmuku [data-mode=\"0\"]{opacity:0!important}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-off{display:none}[data-danmuku-mode0=true] .apd-config-mode .apd-mode-0-on{display:block}[data-danmuku-mode=\"0\"] .apd-style-mode [data-mode=\"0\"]{color:#00a1d6}[data-danmuku-mode=\"0\"] .apd-style-mode [data-mode=\"0\"] path{fill:#00a1d6}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-off{display:block}[data-danmuku-mode1=false] .apd-config-mode .apd-mode-1-on{display:none}[data-danmuku-mode1=false] .art-danmuku [data-mode=\"1\"]{opacity:0!important}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-off{display:none}[data-danmuku-mode1=true] .apd-config-mode .apd-mode-1-on{display:block}[data-danmuku-mode=\"1\"] .apd-style-mode [data-mode=\"1\"]{color:#00a1d6}[data-danmuku-mode=\"1\"] .apd-style-mode [data-mode=\"1\"] path{fill:#00a1d6}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-off{display:block}[data-danmuku-mode2=false] .apd-config-mode .apd-mode-2-on{display:none}[data-danmuku-mode2=false] .art-danmuku [data-mode=\"2\"]{opacity:0!important}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-off{display:none}[data-danmuku-mode2=true] .apd-config-mode .apd-mode-2-on{display:block}[data-danmuku-mode=\"2\"] .apd-style-mode [data-mode=\"2\"]{color:#00a1d6}[data-danmuku-mode=\"2\"] .apd-style-mode [data-mode=\"2\"] path{fill:#00a1d6}'},{}],\"9pjcf\":[function(e,t,i){t.exports=''},{}],b2dkP:[function(e,t,i){t.exports=''},{}],l8tyy:[function(e,t,i){t.exports=''},{}],\"5iZC3\":[function(e,t,i){t.exports=''},{}],i0Vut:[function(e,t,i){t.exports=''},{}],hOSvZ:[function(e,t,i){t.exports=''},{}],bOXC3:[function(e,t,i){t.exports=''},{}],lKuh0:[function(e,t,i){t.exports=''},{}],eB8W6:[function(e,t,i){t.exports=''},{}],bpe2E:[function(e,t,i){t.exports=''},{}],kL9zy:[function(e,t,i){t.exports=''},{}],\"22xpM\":[function(e,t,i){t.exports=''},{}],\"8AxLD\":[function(e,t,i){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(i),a.export(i,\"default\",()=>s);let n={map:(e,t,i,a,n)=>(e-t)*(n-a)/(i-t)+a,range(e,t,i){let a=Math.round(e/i)*i;return Array.from({length:Math.floor((t-e)/i)},(e,t)=>t*i+a)}},o=(e,t)=>{let i=t[0]-e[0],a=t[1]-e[1];return{length:Math.sqrt(Math.pow(i,2)+Math.pow(a,2)),angle:Math.atan2(a,i)}};function s(e,t,i){let{query:a}=e.constructor.utils;e.controls.add({name:\"heatmap\",position:\"top\",html:\"\",style:{position:\"absolute\",top:\"-100px\",left:\"0px\",right:\"0px\",height:\"100px\",width:\"100%\",pointerEvents:\"none\"},mounted(s){let l=null,r=null;function d(d=[]){if(l=null,r=null,s.innerHTML=\"\",!e.duration||e.option.isLive)return;let p={w:s.offsetWidth,h:s.offsetHeight},u={xMin:0,xMax:p.w,yMin:0,yMax:128,scale:.25,opacity:.2,minHeight:Math.floor(.05*p.h),sampling:Math.floor(p.w/100),smoothing:.2,flattening:.2};\"object\"==typeof i&&Object.assign(u,i);let h=[];if(Array.isArray(d)&&d.length)h=[...d];else{let i=e.duration/p.w;for(let e=0;e<=p.w;e+=u.sampling){let a=t.danmus.filter(({time:t})=>t>e*i&&t<=(e+u.sampling)*i).length;h.push([e,a])}}if(0===h.length)return;let m=h[h.length-1],c=m[0],f=m[1];c!==p.w&&h.push([p.w,f]);let g=h.map(e=>e[1]),v=(Math.min(...g)+Math.max(...g))/2;for(let e=0;ev?1+u.scale:1-u.scale)+u.minHeight}let y=(e,t,i,a)=>{let s=o(t||e,i||e),l=n.map(Math.cos(s.angle)*u.flattening,0,1,1,0),r=s.angle*l+(a?Math.PI:0),d=s.length*u.smoothing;return[e[0]+Math.cos(r)*d,e[1]+Math.sin(r)*d]},x=(e,t,i)=>{let a=y(i[t-1],i[t-2],e),n=y(e,i[t-1],i[t+1],!0),o=t===i.length-1?\" z\":\"\";return`C ${a[0]},${a[1]} ${n[0]},${n[1]} ${e[0]},${e[1]}${o}`},k=h.map(e=>[n.map(e[0],u.xMin,u.xMax,0,p.w),n.map(e[1],u.yMin,u.yMax,p.h,0)]).reduce((e,t,i,a)=>0===i?`M ${a[a.length-1][0]},${p.h} L ${t[0]},${p.h} L ${t[0]},${t[1]}`:`${e} ${x(t,i,a)}`,\"\");s.innerHTML=``,l=a(\"#heatmap-start\",s),r=a(\"#heatmap-stop\",s),l.setAttribute(\"offset\",`${100*e.played}%`),r.setAttribute(\"offset\",`${100*e.played}%`)}e.on(\"video:timeupdate\",()=>{l&&r&&(l.setAttribute(\"offset\",`${100*e.played}%`),r.setAttribute(\"offset\",`${100*e.played}%`))}),e.on(\"setBar\",(e,t)=>{l&&r&&\"played\"===e&&(l.setAttribute(\"offset\",`${100*t}%`),r.setAttribute(\"offset\",`${100*t}%`))}),e.on(\"ready\",()=>d()),e.on(\"resize\",()=>d()),e.on(\"artplayerPluginDanmuku:loaded\",()=>d()),e.on(\"artplayerPluginDanmuku:points\",e=>d(e))}})}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"9pCYc\"}]},[\"bgm6t\"],\"bgm6t\",\"parcelRequire4dc0\");","\n/*!\n * artplayer.js v5.1.6\n * Github: https://github.com/zhw2590582/ArtPlayer\n * (c) 2017-2024 Harvey Zack\n * Released under the MIT License.\n */\n!function(e,t,r,a,i){var o=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{},n=\"function\"==typeof o[a]&&o[a],s=n.cache||{},l=\"undefined\"!=typeof module&&\"function\"==typeof module.require&&module.require.bind(module);function c(t,r){if(!s[t]){if(!e[t]){var i=\"function\"==typeof o[a]&&o[a];if(!r&&i)return i(t,!0);if(n)return n(t,!0);if(l&&\"string\"==typeof t)return l(t);var u=Error(\"Cannot find module '\"+t+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}d.resolve=function(r){var a=e[t][1][r];return null!=a?a:r},d.cache={};var p=s[t]=new c.Module(t);e[t][0].call(p.exports,d,p,p.exports,this)}return s[t].exports;function d(e){var t=d.resolve(e);return!1===t?{}:c(t)}}c.isParcelRequire=!0,c.Module=function(e){this.id=e,this.bundle=c,this.exports={}},c.modules=e,c.cache=s,c.parent=n,c.register=function(t,r){e[t]=[function(e,t){t.exports=r},{}]},Object.defineProperty(c,\"root\",{get:function(){return o[a]}}),o[a]=c;for(var u=0;ut.call(this,this)),G.DEBUG){let e=e=>console.log(`[ART.${this.id}] -> ${e}`);e(\"Version@\"+G.version),e(\"Env@\"+G.env),e(\"Build@\"+G.build);for(let t=0;te(\"Event@\"+t.type))}X.push(this)}static get instances(){return X}static get version(){return\"5.1.6\"}static get env(){return\"production\"}static get build(){return\"2024-06-15 19:54:25\"}static get config(){return h.default}static get utils(){return u}static get scheme(){return d.default}static get Emitter(){return c.default}static get validator(){return s.default}static get kindOf(){return s.default.kindOf}static get html(){return g.default.html}static get option(){return{id:\"\",container:\"#artplayer\",url:\"\",poster:\"\",type:\"\",theme:\"#f00\",volume:.7,isLive:!1,muted:!1,autoplay:!1,autoSize:!1,autoMini:!1,loop:!1,flip:!1,playbackRate:!1,aspectRatio:!1,screenshot:!1,setting:!1,hotkey:!0,pip:!1,mutex:!0,backdrop:!0,fullscreen:!1,fullscreenWeb:!1,subtitleOffset:!1,miniProgressBar:!1,useSSR:!1,playsInline:!0,lock:!1,fastForward:!1,autoPlayback:!1,autoOrientation:!1,airplay:!1,layers:[],contextmenu:[],controls:[],settings:[],quality:[],highlight:[],plugins:[],thumbnails:{url:\"\",number:60,column:10,width:0,height:0},subtitle:{url:\"\",type:\"\",style:{},name:\"\",escape:!0,encoding:\"utf-8\",onVttLoad:e=>e},moreVideoAttr:{controls:!1,preload:u.isSafari?\"auto\":\"metadata\"},i18n:{},icons:{},cssVar:{},customType:{},lang:navigator.language.toLowerCase()}}get proxy(){return this.events.proxy}get query(){return this.template.query}get video(){return this.template.$video}destroy(e=!0){this.events.destroy(),this.template.destroy(e),X.splice(X.indexOf(this),1),this.isDestroy=!0,this.emit(\"destroy\")}}r.default=G,G.DEBUG=!1,G.CONTEXTMENU=!0,G.NOTICE_TIME=2e3,G.SETTING_WIDTH=250,G.SETTING_ITEM_WIDTH=200,G.SETTING_ITEM_HEIGHT=35,G.RESIZE_TIME=200,G.SCROLL_TIME=200,G.SCROLL_GAP=50,G.AUTO_PLAYBACK_MAX=10,G.AUTO_PLAYBACK_MIN=5,G.AUTO_PLAYBACK_TIMEOUT=3e3,G.RECONNECT_TIME_MAX=5,G.RECONNECT_SLEEP_TIME=1e3,G.CONTROL_HIDE_TIME=3e3,G.DBCLICK_TIME=300,G.DBCLICK_FULLSCREEN=!0,G.MOBILE_DBCLICK_PLAY=!0,G.MOBILE_CLICK_PLAY=!1,G.AUTO_ORIENTATION_TIME=200,G.INFO_LOOP_TIME=1e3,G.FAST_FORWARD_VALUE=3,G.FAST_FORWARD_TIME=1e3,G.TOUCH_MOVE_RATIO=.5,G.VOLUME_STEP=.1,G.SEEK_STEP=5,G.PLAYBACK_RATE=[.5,.75,1,1.25,1.5,2],G.ASPECT_RATIO=[\"default\",\"4:3\",\"16:9\"],G.FLIP=[\"normal\",\"horizontal\",\"vertical\"],G.FULLSCREEN_WEB_IN_BODY=!1,G.LOG_VERSION=!0,G.USE_RAF=!1,u.isBrowser&&(window.Artplayer=G,u.setStyleText(\"artplayer-style\",o.default),setTimeout(()=>{G.LOG_VERSION&&console.log(`%c ArtPlayer %c ${G.version} %c https://artplayer.org`,\"color: #fff; background: #5f5f5f\",\"color: #fff; background: #4bc729\",\"\")},100))},{\"bundle-text:./style/index.less\":\"kfOe8\",\"option-validator\":\"9I0i9\",\"./utils/emitter\":\"2bGVu\",\"./utils\":\"h3rH9\",\"./scheme\":\"AdvwB\",\"./config\":\"9Xmqu\",\"./template\":\"2gKYH\",\"./i18n\":\"1AdeF\",\"./player\":\"556MW\",\"./control\":\"14IBq\",\"./contextmenu\":\"7iUum\",\"./info\":\"hD2Lg\",\"./subtitle\":\"lum0D\",\"./events\":\"1Epl5\",\"./hotkey\":\"eTow4\",\"./layer\":\"4fDoD\",\"./loading\":\"fE0Sp\",\"./notice\":\"9PuGy\",\"./mask\":\"2etr0\",\"./icons\":\"6dYSr\",\"./setting\":\"bRHiA\",\"./storage\":\"f2Thp\",\"./plugins\":\"96ThS\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],kfOe8:[function(e,t,r){t.exports='.art-video-player{--art-theme:red;--art-font-color:#fff;--art-background-color:#000;--art-text-shadow-color:#00000080;--art-transition-duration:.2s;--art-padding:10px;--art-border-radius:3px;--art-progress-height:6px;--art-progress-color:#ffffff40;--art-hover-color:#ffffff40;--art-loaded-color:#ffffff40;--art-state-size:80px;--art-state-opacity:.8;--art-bottom-height:100px;--art-bottom-offset:20px;--art-bottom-gap:5px;--art-highlight-width:8px;--art-highlight-color:#ffffff80;--art-control-height:46px;--art-control-opacity:.75;--art-control-icon-size:36px;--art-control-icon-scale:1.1;--art-volume-height:120px;--art-volume-handle-size:14px;--art-lock-size:36px;--art-indicator-scale:0;--art-indicator-size:16px;--art-fullscreen-web-index:9999;--art-settings-icon-size:24px;--art-settings-max-height:300px;--art-selector-max-height:300px;--art-contextmenus-min-width:250px;--art-subtitle-font-size:20px;--art-subtitle-gap:5px;--art-subtitle-bottom:15px;--art-subtitle-border:#000;--art-widget-background:#000000d9;--art-tip-background:#000000b3;--art-scrollbar-size:4px;--art-scrollbar-background:#ffffff40;--art-scrollbar-background-hover:#ffffff80;--art-mini-progress-height:2px}.art-bg-cover{background-position:50%;background-repeat:no-repeat;background-size:cover}.art-bottom-gradient{background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x}.art-backdrop-filter{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.art-video-player{zoom:1;text-align:left;user-select:none;box-sizing:border-box;color:var(--art-font-color);background-color:var(--art-background-color);text-shadow:0 0 2px var(--art-text-shadow-color);-webkit-tap-highlight-color:#0000;-ms-touch-action:manipulation;touch-action:manipulation;-ms-high-contrast-adjust:none;direction:ltr;outline:0;width:100%;height:100%;margin:0 auto;padding:0;font-family:PingFang SC,Helvetica Neue,Microsoft YaHei,Roboto,Arial,sans-serif;font-size:14px;line-height:1.3;position:relative}.art-video-player *,.art-video-player :before,.art-video-player :after{box-sizing:border-box}.art-video-player ::-webkit-scrollbar{width:var(--art-scrollbar-size);height:var(--art-scrollbar-size)}.art-video-player ::-webkit-scrollbar-thumb{background-color:var(--art-scrollbar-background)}.art-video-player ::-webkit-scrollbar-thumb:hover{background-color:var(--art-scrollbar-background-hover)}.art-video-player img{vertical-align:top;max-width:100%}.art-video-player svg{fill:var(--art-font-color)}.art-video-player a{color:var(--art-font-color);text-decoration:none}.art-icon{justify-content:center;align-items:center;line-height:1;display:flex}.art-video-player.art-backdrop .art-contextmenus,.art-video-player.art-backdrop .art-info,.art-video-player.art-backdrop .art-settings,.art-video-player.art-backdrop .art-layer-auto-playback,.art-video-player.art-backdrop .art-selector-list,.art-video-player.art-backdrop .art-volume-inner{backdrop-filter:saturate(180%)blur(20px);background-color:#000000bf!important}.art-video{z-index:10;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.art-poster{z-index:11;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0}.art-video-player .art-subtitle{z-index:20;text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:var(--art-subtitle-gap);bottom:var(--art-subtitle-bottom);font-size:var(--art-subtitle-font-size);transition:bottom var(--art-transition-duration)ease;text-shadow:var(--art-subtitle-border)1px 0 1px,var(--art-subtitle-border)0 1px 1px,var(--art-subtitle-border)-1px 0 1px,var(--art-subtitle-border)0 -1px 1px,var(--art-subtitle-border)1px 1px 1px,var(--art-subtitle-border)-1px -1px 1px,var(--art-subtitle-border)1px -1px 1px,var(--art-subtitle-border)-1px 1px 1px;flex-direction:column;width:100%;padding:0 5%;display:none;position:absolute}.art-video-player.art-subtitle-show .art-subtitle{display:flex}.art-video-player.art-control-show .art-subtitle{bottom:calc(var(--art-control-height) + var(--art-subtitle-bottom))}.art-danmuku{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.art-video-player .art-layers{z-index:40;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player .art-layers .art-layer{pointer-events:auto}.art-video-player.art-layer-show .art-layers{display:flex}.art-video-player .art-mask{z-index:50;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;inset:0}.art-video-player .art-mask .art-state{opacity:0;width:var(--art-state-size);height:var(--art-state-size);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;display:flex;transform:scale(2)}.art-video-player.art-mask-show .art-state{cursor:pointer;pointer-events:auto;opacity:var(--art-state-opacity);transform:scale(1)}.art-video-player.art-loading-show .art-state{display:none}.art-video-player .art-loading{z-index:70;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:absolute;inset:0}.art-video-player.art-loading-show .art-loading{display:flex}.art-video-player .art-bottom{z-index:60;opacity:0;pointer-events:none;padding:0 var(--art-padding);transition:all var(--art-transition-duration)ease;background-size:100% var(--art-bottom-height);background-image:linear-gradient(#0000,#0006,#000);background-position:bottom;background-repeat:repeat-x;flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex;position:absolute;inset:0;overflow:hidden}.art-video-player .art-bottom .art-controls,.art-video-player .art-bottom .art-progress{transform:translateY(var(--art-bottom-offset));transition:transform var(--art-transition-duration)ease}.art-video-player.art-control-show .art-bottom,.art-video-player.art-hover .art-bottom{opacity:1}.art-video-player.art-control-show .art-bottom .art-controls,.art-video-player.art-hover .art-bottom .art-controls,.art-video-player.art-control-show .art-bottom .art-progress,.art-video-player.art-hover .art-bottom .art-progress{transform:translateY(0)}.art-bottom .art-progress{z-index:0;pointer-events:auto;padding-bottom:var(--art-bottom-gap);position:relative}.art-bottom .art-progress .art-control-progress{cursor:pointer;height:var(--art-progress-height);justify-content:center;align-items:center;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner{transition:height var(--art-transition-duration)ease;background-color:var(--art-progress-color);align-items:center;width:100%;height:50%;display:flex;position:relative}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-hover{z-index:0;background-color:var(--art-hover-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-loaded{z-index:10;background-color:var(--art-loaded-color);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-played{z-index:20;background-color:var(--art-theme);width:0%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight{z-index:30;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-highlight span{z-index:0;pointer-events:auto;transform:translateX(calc(var(--art-highlight-width)/-2));background-color:var(--art-highlight-color);width:100%;height:100%;position:absolute;inset:0 auto 0 0;width:var(--art-highlight-width)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{z-index:40;width:var(--art-indicator-size);height:var(--art-indicator-size);transform:scale(var(--art-indicator-scale));margin-left:calc(var(--art-indicator-size)/-2);transition:transform var(--art-transition-duration)ease;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:0}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator .art-icon{pointer-events:none;width:100%;height:100%}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:hover{transform:scale(1.2)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator:active{transform:scale(1)!important}.art-bottom .art-progress .art-control-progress .art-control-progress-inner .art-progress-tip{z-index:50;border-radius:var(--art-border-radius);white-space:nowrap;background-color:var(--art-tip-background);padding:3px 5px;font-size:12px;line-height:1;display:none;position:absolute;top:-25px;left:0}.art-bottom .art-progress .art-control-progress:hover .art-control-progress-inner{height:100%}.art-bottom .art-progress .art-control-thumbnails{bottom:calc(var(--art-bottom-gap) + 10px);border-radius:var(--art-border-radius);pointer-events:none;background-color:var(--art-widget-background);display:none;position:absolute;left:0;box-shadow:0 1px 3px #0003,0 1px 2px -1px #0003}.art-bottom:hover .art-progress .art-control-progress .art-control-progress-inner .art-progress-indicator{transform:scale(1)}.art-controls{z-index:10;pointer-events:auto;height:var(--art-control-height);justify-content:space-between;align-items:center;display:flex;position:relative}.art-controls .art-controls-left,.art-controls .art-controls-right{height:100%;display:flex}.art-controls .art-controls-center{flex:1;justify-content:center;align-items:center;height:100%;padding:0 10px;display:none}.art-controls .art-controls-right{justify-content:flex-end}.art-controls .art-control{cursor:pointer;white-space:nowrap;opacity:var(--art-control-opacity);min-height:var(--art-control-height);min-width:var(--art-control-height);transition:opacity var(--art-transition-duration)ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.art-controls .art-control .art-icon{height:var(--art-control-icon-size);width:var(--art-control-icon-size);transform:scale(var(--art-control-icon-scale));transition:transform var(--art-transition-duration)ease}.art-controls .art-control .art-icon:active{transform:scale(calc(var(--art-control-icon-scale)*.8))}.art-controls .art-control:hover{opacity:1}.art-control-volume{position:relative}.art-control-volume .art-volume-panel{text-align:center;cursor:default;opacity:0;pointer-events:none;left:0;right:0;bottom:var(--art-control-height);width:var(--art-control-height);height:var(--art-volume-height);transition:all var(--art-transition-duration)ease;justify-content:center;align-items:center;padding:0 5px;font-size:12px;display:flex;position:absolute;transform:translateY(10px)}.art-control-volume .art-volume-panel .art-volume-inner{border-radius:var(--art-border-radius);background-color:var(--art-widget-background);flex-direction:column;align-items:center;gap:10px;width:100%;height:100%;padding:10px 0 12px;display:flex}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider{cursor:pointer;flex:1;justify-content:center;width:100%;display:flex;position:relative}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle{border-radius:var(--art-border-radius);background-color:#ffffff40;justify-content:center;width:2px;display:flex;position:relative;overflow:hidden}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-handle .art-volume-loaded{z-index:0;background-color:var(--art-theme);width:100%;height:100%;position:absolute;inset:0}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider .art-volume-indicator{width:var(--art-volume-handle-size);height:var(--art-volume-handle-size);margin-top:calc(var(--art-volume-handle-size)/-2);background-color:var(--art-theme);transition:transform var(--art-transition-duration)ease;border-radius:100%;flex-shrink:0;position:absolute;transform:scale(1)}.art-control-volume .art-volume-panel .art-volume-inner .art-volume-slider:active .art-volume-indicator{transform:scale(.9)}.art-control-volume:hover .art-volume-panel{opacity:1;pointer-events:auto;transform:translateY(0)}.art-video-player .art-notice{z-index:80;padding:var(--art-padding);pointer-events:none;width:100%;height:auto;display:none;position:absolute;inset:0 0 auto}.art-video-player .art-notice .art-notice-inner{border-radius:var(--art-border-radius);background-color:var(--art-tip-background);padding:5px;line-height:1;display:inline-flex}.art-video-player.art-notice-show .art-notice{display:flex}.art-video-player .art-contextmenus{z-index:120;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);min-width:var(--art-contextmenus-min-width);flex-direction:column;padding:5px 0;font-size:12px;display:none;position:absolute}.art-video-player .art-contextmenus .art-contextmenu{cursor:pointer;border-bottom:1px solid #ffffff1a;padding:10px 15px;display:flex}.art-video-player .art-contextmenus .art-contextmenu span{padding:0 8px}.art-video-player .art-contextmenus .art-contextmenu span:hover,.art-video-player .art-contextmenus .art-contextmenu span.art-current{color:var(--art-theme)}.art-video-player .art-contextmenus .art-contextmenu:hover{background-color:#ffffff1a}.art-video-player .art-contextmenus .art-contextmenu:last-child{border-bottom:none}.art-video-player.art-contextmenu-show .art-contextmenus{display:flex}.art-video-player .art-settings{z-index:90;border-radius:var(--art-border-radius);transform-origin:100% 100%;max-height:var(--art-settings-max-height);left:auto;right:var(--art-padding);bottom:var(--art-control-height);transform:scale(var(--art-settings-scale));transition:all var(--art-transition-duration)ease;background-color:var(--art-widget-background);flex-direction:column;display:none;position:absolute;overflow:hidden auto}.art-video-player .art-settings .art-setting-panel{flex-direction:column;display:none}.art-video-player .art-settings .art-setting-panel.art-current{display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item{cursor:pointer;transition:background-color var(--art-transition-duration)ease;justify-content:space-between;align-items:center;padding:0 5px;display:flex;overflow:hidden}.art-video-player .art-settings .art-setting-panel .art-setting-item:hover{background-color:#ffffff1a}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current{color:var(--art-theme)}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-icon-check{visibility:hidden;height:15px}.art-video-player .art-settings .art-setting-panel .art-setting-item.art-current .art-icon-check{visibility:visible}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left{justify-content:center;align-items:center;gap:5px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-left .art-setting-item-left-icon{height:var(--art-settings-icon-size);width:var(--art-settings-icon-size);justify-content:center;align-items:center;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right{justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-tooltip{white-space:nowrap;color:#ffffff80}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-item-right-icon{justify-content:center;align-items:center;min-width:32px;height:24px;display:flex}.art-video-player .art-settings .art-setting-panel .art-setting-item .art-setting-item-right .art-setting-range{appearance:none;background-color:#fff3;outline:none;width:80px;height:3px}.art-video-player .art-settings .art-setting-panel .art-setting-item-back{border-bottom:1px solid #ffffff1a}.art-video-player.art-setting-show .art-settings{display:flex}.art-video-player .art-info{left:var(--art-padding);top:var(--art-padding);z-index:100;border-radius:var(--art-border-radius);background-color:var(--art-widget-background);padding:10px;font-size:12px;display:none;position:absolute}.art-video-player .art-info .art-info-panel{flex-direction:column;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item{align-items:center;gap:5px;display:flex}.art-video-player .art-info .art-info-panel .art-info-item .art-info-title{text-align:right;width:100px}.art-video-player .art-info .art-info-panel .art-info-item .art-info-content{text-overflow:ellipsis;white-space:nowrap;user-select:all;width:250px;overflow:hidden}.art-video-player .art-info .art-info-close{cursor:pointer;position:absolute;top:5px;right:5px}.art-video-player.art-info-show .art-info{display:flex}.art-hide-cursor *{cursor:none!important}.art-video-player[data-aspect-ratio]{overflow:hidden}.art-video-player[data-aspect-ratio] .art-video{object-fit:fill;box-sizing:content-box}.art-fullscreen{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3}.art-fullscreen-web{--art-progress-height:8px;--art-indicator-size:20px;--art-control-height:60px;--art-control-icon-scale:1.3;z-index:var(--art-fullscreen-web-index);width:100%;height:100%;position:fixed;inset:0}.art-mini-popup{z-index:9999;border-radius:var(--art-border-radius);cursor:move;user-select:none;background:#000;width:320px;height:180px;transition:opacity .2s;position:fixed;overflow:hidden;box-shadow:0 0 5px #00000080}.art-mini-popup svg{fill:#fff}.art-mini-popup .art-video{pointer-events:none}.art-mini-popup .art-mini-close{z-index:20;cursor:pointer;opacity:0;transition:opacity .2s;position:absolute;top:10px;right:10px}.art-mini-popup .art-mini-state{z-index:30;pointer-events:none;opacity:0;background-color:#00000040;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .2s;display:flex;position:absolute;inset:0}.art-mini-popup .art-mini-state .art-icon{opacity:.75;cursor:pointer;pointer-events:auto;transition:transform .2s;transform:scale(3)}.art-mini-popup .art-mini-state .art-icon:active{transform:scale(2.5)}.art-mini-popup.art-mini-droging{opacity:.9}.art-mini-popup:hover .art-mini-close,.art-mini-popup:hover .art-mini-state{opacity:1}.art-video-player[data-flip=horizontal] .art-video{transform:scaleX(-1)}.art-video-player[data-flip=vertical] .art-video{transform:scaleY(-1)}.art-video-player .art-layer-lock{height:var(--art-lock-size);width:var(--art-lock-size);top:50%;left:var(--art-padding);background-color:var(--art-tip-background);border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;transform:translateY(-50%)}.art-video-player .art-layer-auto-playback{border-radius:var(--art-border-radius);left:var(--art-padding);bottom:calc(var(--art-control-height) + var(--art-bottom-gap) + 10px);background-color:var(--art-widget-background);align-items:center;gap:10px;padding:10px;line-height:1;display:none;position:absolute}.art-video-player .art-layer-auto-playback .art-auto-playback-close{cursor:pointer;justify-content:center;align-items:center;display:flex}.art-video-player .art-layer-auto-playback .art-auto-playback-close svg{fill:var(--art-theme);width:15px;height:15px}.art-video-player .art-layer-auto-playback .art-auto-playback-jump{color:var(--art-theme);cursor:pointer}.art-video-player.art-lock .art-subtitle{bottom:var(--art-subtitle-bottom)!important}.art-video-player.art-mini-progress-bar .art-bottom,.art-video-player.art-lock .art-bottom{opacity:1;background-image:none;padding:0}.art-video-player.art-mini-progress-bar .art-bottom .art-controls,.art-video-player.art-lock .art-bottom .art-controls,.art-video-player.art-mini-progress-bar .art-bottom .art-progress,.art-video-player.art-lock .art-bottom .art-progress{transform:translateY(calc(var(--art-control-height) + var(--art-bottom-gap) + var(--art-progress-height)/4))}.art-video-player.art-mini-progress-bar .art-bottom .art-progress-indicator,.art-video-player.art-lock .art-bottom .art-progress-indicator{display:none!important}.art-video-player.art-control-show .art-layer-lock{display:flex}.art-control-selector{position:relative}.art-control-selector .art-selector-list{text-align:center;border-radius:var(--art-border-radius);opacity:0;pointer-events:none;bottom:var(--art-control-height);max-height:var(--art-selector-max-height);background-color:var(--art-widget-background);transition:all var(--art-transition-duration)ease;flex-direction:column;align-items:center;display:flex;position:absolute;overflow:hidden auto;transform:translateY(10px)}.art-control-selector .art-selector-list .art-selector-item{flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:10px 15px;line-height:1;display:flex}.art-control-selector .art-selector-list .art-selector-item:hover{background-color:#ffffff1a}.art-control-selector .art-selector-list .art-selector-item:hover,.art-control-selector .art-selector-list .art-selector-item.art-current{color:var(--art-theme)}.art-control-selector:hover .art-selector-list{opacity:1;pointer-events:auto;transform:translateY(0)}[class*=hint--]{font-style:normal;display:inline-block;position:relative}[class*=hint--]:before,[class*=hint--]:after{visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;transition:all .3s;position:absolute;transform:translate(0,0)}[class*=hint--]:hover:before,[class*=hint--]:hover:after{visibility:visible;opacity:1;transition-delay:.1s}[class*=hint--]:before{content:\"\";z-index:1000001;background:0 0;border:6px solid #0000;position:absolute}[class*=hint--]:after{color:#fff;white-space:nowrap;background:#000;padding:8px 10px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:12px}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label=\"\"]:before,[aria-label=\"\"]:after,[data-hint=\"\"]:before,[data-hint=\"\"]:after{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#000}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#000}.hint--left:before{border-left-color:#000}.hint--right:before{border-right-color:#000}.hint--top:before{margin-bottom:-11px}.hint--top:before,.hint--top:after{bottom:100%;left:50%}.hint--top:before{left:calc(50% - 6px)}.hint--top:after{transform:translate(-50%)}.hint--top:hover:before{transform:translateY(-8px)}.hint--top:hover:after{transform:translate(-50%)translateY(-8px)}.hint--bottom:before{margin-top:-11px}.hint--bottom:before,.hint--bottom:after{top:100%;left:50%}.hint--bottom:before{left:calc(50% - 6px)}.hint--bottom:after{transform:translate(-50%)}.hint--bottom:hover:before{transform:translateY(8px)}.hint--bottom:hover:after{transform:translate(-50%)translateY(8px)}.hint--right:before{margin-bottom:-6px;margin-left:-11px}.hint--right:after{margin-bottom:-14px}.hint--right:before,.hint--right:after{bottom:50%;left:100%}.hint--right:hover:before,.hint--right:hover:after{transform:translate(8px)}.hint--left:before{margin-bottom:-6px;margin-right:-11px}.hint--left:after{margin-bottom:-14px}.hint--left:before,.hint--left:after{bottom:50%;right:100%}.hint--left:hover:before,.hint--left:hover:after{transform:translate(-8px)}.hint--top-left:before{margin-bottom:-11px}.hint--top-left:before,.hint--top-left:after{bottom:100%;left:50%}.hint--top-left:before{left:calc(50% - 6px)}.hint--top-left:after{margin-left:12px;transform:translate(-100%)}.hint--top-left:hover:before{transform:translateY(-8px)}.hint--top-left:hover:after{transform:translate(-100%)translateY(-8px)}.hint--top-right:before{margin-bottom:-11px}.hint--top-right:before,.hint--top-right:after{bottom:100%;left:50%}.hint--top-right:before{left:calc(50% - 6px)}.hint--top-right:after{margin-left:-12px;transform:translate(0)}.hint--top-right:hover:before,.hint--top-right:hover:after{transform:translateY(-8px)}.hint--bottom-left:before{margin-top:-11px}.hint--bottom-left:before,.hint--bottom-left:after{top:100%;left:50%}.hint--bottom-left:before{left:calc(50% - 6px)}.hint--bottom-left:after{margin-left:12px;transform:translate(-100%)}.hint--bottom-left:hover:before{transform:translateY(8px)}.hint--bottom-left:hover:after{transform:translate(-100%)translateY(8px)}.hint--bottom-right:before{margin-top:-11px}.hint--bottom-right:before,.hint--bottom-right:after{top:100%;left:50%}.hint--bottom-right:before{left:calc(50% - 6px)}.hint--bottom-right:after{margin-left:-12px;transform:translate(0)}.hint--bottom-right:hover:before,.hint--bottom-right:hover:after{transform:translateY(8px)}.hint--small:after,.hint--medium:after,.hint--large:after{white-space:normal;word-wrap:break-word;line-height:1.4em}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}[class*=hint--]:after{text-shadow:0 -1px #000;box-shadow:4px 4px 8px #0000004d}.hint--error:after{text-shadow:0 -1px #592726;background-color:#b34e4d}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{text-shadow:0 -1px #6c5328;background-color:#c09854}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{text-shadow:0 -1px #1a3c4d;background-color:#3986ac}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{text-shadow:0 -1px #1a321a;background-color:#458746}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{transform:translateY(-8px)}.hint--always.hint--top:after{transform:translate(-50%)translateY(-8px)}.hint--always.hint--top-left:before{transform:translateY(-8px)}.hint--always.hint--top-left:after{transform:translate(-100%)translateY(-8px)}.hint--always.hint--top-right:before,.hint--always.hint--top-right:after{transform:translateY(-8px)}.hint--always.hint--bottom:before{transform:translateY(8px)}.hint--always.hint--bottom:after{transform:translate(-50%)translateY(8px)}.hint--always.hint--bottom-left:before{transform:translateY(8px)}.hint--always.hint--bottom-left:after{transform:translate(-100%)translateY(8px)}.hint--always.hint--bottom-right:before,.hint--always.hint--bottom-right:after{transform:translateY(8px)}.hint--always.hint--left:before,.hint--always.hint--left:after{transform:translate(-8px)}.hint--always.hint--right:before,.hint--always.hint--right:after{transform:translate(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:before,.hint--no-animate:after{transition-duration:0s}.hint--bounce:before,.hint--bounce:after{-webkit-transition:opacity .3s,visibility .3s,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s,visibility .3s,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s,visibility .3s,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:before,.hint--no-shadow:after{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}.art-video-player.art-mobile{--art-bottom-gap:10px;--art-control-height:38px;--art-control-icon-scale:1;--art-state-size:60px;--art-settings-max-height:180px;--art-selector-max-height:180px;--art-indicator-scale:1;--art-control-opacity:1}.art-video-player.art-mobile .art-controls-left{margin-left:calc(var(--art-padding)/-1)}.art-video-player.art-mobile .art-controls-right{margin-right:calc(var(--art-padding)/-1)}'},{}],\"9I0i9\":[function(e,t,r){var a;a=function(){function e(t){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(t)}var t=Object.prototype.toString,r=function(r){if(void 0===r)return\"undefined\";if(null===r)return\"null\";var i=e(r);if(\"boolean\"===i)return\"boolean\";if(\"string\"===i)return\"string\";if(\"number\"===i)return\"number\";if(\"symbol\"===i)return\"symbol\";if(\"function\"===i)return\"GeneratorFunction\"===a(r)?\"generatorfunction\":\"function\";if(Array.isArray?Array.isArray(r):r instanceof Array)return\"array\";if(r.constructor&&\"function\"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r))return\"buffer\";if(function(e){try{if(\"number\"==typeof e.length&&\"function\"==typeof e.callee)return!0}catch(e){if(-1!==e.message.indexOf(\"callee\"))return!0}return!1}(r))return\"arguments\";if(r instanceof Date||\"function\"==typeof r.toDateString&&\"function\"==typeof r.getDate&&\"function\"==typeof r.setDate)return\"date\";if(r instanceof Error||\"string\"==typeof r.message&&r.constructor&&\"number\"==typeof r.constructor.stackTraceLimit)return\"error\";if(r instanceof RegExp||\"string\"==typeof r.flags&&\"boolean\"==typeof r.ignoreCase&&\"boolean\"==typeof r.multiline&&\"boolean\"==typeof r.global)return\"regexp\";switch(a(r)){case\"Symbol\":return\"symbol\";case\"Promise\":return\"promise\";case\"WeakMap\":return\"weakmap\";case\"WeakSet\":return\"weakset\";case\"Map\":return\"map\";case\"Set\":return\"set\";case\"Int8Array\":return\"int8array\";case\"Uint8Array\":return\"uint8array\";case\"Uint8ClampedArray\":return\"uint8clampedarray\";case\"Int16Array\":return\"int16array\";case\"Uint16Array\":return\"uint16array\";case\"Int32Array\":return\"int32array\";case\"Uint32Array\":return\"uint32array\";case\"Float32Array\":return\"float32array\";case\"Float64Array\":return\"float64array\"}if(\"function\"==typeof r.throw&&\"function\"==typeof r.return&&\"function\"==typeof r.next)return\"generator\";switch(i=t.call(r)){case\"[object Object]\":return\"object\";case\"[object Map Iterator]\":return\"mapiterator\";case\"[object Set Iterator]\":return\"setiterator\";case\"[object String Iterator]\":return\"stringiterator\";case\"[object Array Iterator]\":return\"arrayiterator\"}return i.slice(8,-1).toLowerCase().replace(/\\s/g,\"\")};function a(e){return e.constructor?e.constructor.name:null}function i(e,t){var a=2o),a.export(r,\"queryAll\",()=>n),a.export(r,\"addClass\",()=>s),a.export(r,\"removeClass\",()=>l),a.export(r,\"hasClass\",()=>c),a.export(r,\"append\",()=>u),a.export(r,\"remove\",()=>p),a.export(r,\"setStyle\",()=>d),a.export(r,\"setStyles\",()=>f),a.export(r,\"getStyle\",()=>h),a.export(r,\"sublings\",()=>m),a.export(r,\"inverseClass\",()=>g),a.export(r,\"tooltip\",()=>v),a.export(r,\"isInViewport\",()=>y),a.export(r,\"includeFromEvent\",()=>b),a.export(r,\"replaceElement\",()=>x),a.export(r,\"createElement\",()=>w),a.export(r,\"getIcon\",()=>j),a.export(r,\"setStyleText\",()=>k),a.export(r,\"supportsFlex\",()=>S),a.export(r,\"getRect\",()=>I);var i=e(\"./compatibility\");function o(e,t=document){return t.querySelector(e)}function n(e,t=document){return Array.from(t.querySelectorAll(e))}function s(e,t){return e.classList.add(t)}function l(e,t){return e.classList.remove(t)}function c(e,t){return e.classList.contains(t)}function u(e,t){return t instanceof Element?e.appendChild(t):e.insertAdjacentHTML(\"beforeend\",String(t)),e.lastElementChild||e.lastChild}function p(e){return e.parentNode.removeChild(e)}function d(e,t,r){return e.style[t]=r,e}function f(e,t){for(let r in t)d(e,r,t[r]);return e}function h(e,t,r=!0){let a=window.getComputedStyle(e,null).getPropertyValue(t);return r?parseFloat(a):a}function m(e){return Array.from(e.parentElement.children).filter(t=>t!==e)}function g(e,t){m(e).forEach(e=>l(e,t)),s(e,t)}function v(e,t,r=\"top\"){i.isMobile||(e.setAttribute(\"aria-label\",t),s(e,\"hint--rounded\"),s(e,`hint--${r}`))}function y(e,t=0){let r=e.getBoundingClientRect(),a=window.innerHeight||document.documentElement.clientHeight,i=window.innerWidth||document.documentElement.clientWidth,o=r.top-t<=a&&r.top+r.height+t>=0,n=r.left-t<=i+t&&r.left+r.width+t>=0;return o&&n}function b(e,t){return e.composedPath&&e.composedPath().indexOf(t)>-1}function x(e,t){return t.parentNode.replaceChild(e,t),e}function w(e){return document.createElement(e)}function j(e=\"\",t=\"\"){let r=w(\"i\");return s(r,\"art-icon\"),s(r,`art-icon-${e}`),u(r,t),r}function k(e,t){let r=document.getElementById(e);if(r)r.textContent=t;else{let r=w(\"style\");r.id=e,r.textContent=t,document.head.appendChild(r)}}function S(){let e=document.createElement(\"div\");return e.style.display=\"flex\",\"flex\"===e.style.display}function I(e){return e.getBoundingClientRect()}},{\"./compatibility\":\"luXC1\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],luXC1:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"userAgent\",()=>i),a.export(r,\"isSafari\",()=>o),a.export(r,\"isWechat\",()=>n),a.export(r,\"isIE\",()=>s),a.export(r,\"isAndroid\",()=>l),a.export(r,\"isIOS\",()=>c),a.export(r,\"isIOS13\",()=>u),a.export(r,\"isMobile\",()=>p),a.export(r,\"isBrowser\",()=>d);let i=\"undefined\"!=typeof navigator?navigator.userAgent:\"\",o=/^((?!chrome|android).)*safari/i.test(i),n=/MicroMessenger/i.test(i),s=/MSIE|Trident/i.test(i),l=/android/i.test(i),c=/iPad|iPhone|iPod/i.test(i)&&!window.MSStream,u=c||i.includes(\"Macintosh\")&&navigator.maxTouchPoints>=1,p=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(i)||u,d=\"undefined\"!=typeof window},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2nFlF\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"ArtPlayerError\",()=>i),a.export(r,\"errorHandle\",()=>o);class i extends Error{constructor(e,t){super(e),\"function\"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t||this.constructor),this.name=\"ArtPlayerError\"}}function o(e,t){if(!e)throw new i(t);return e}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],yqFoT:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return\"WEBVTT \\r\\n\\r\\n\".concat(e.replace(/(\\d\\d:\\d\\d:\\d\\d)[,.](\\d+)/g,(e,t,r)=>{let a=r.slice(0,3);return 1===r.length&&(a=r+\"00\"),2===r.length&&(a=r+\"0\"),`${t},${a}`}).replace(/\\{\\\\([ibu])\\}/g,\"\").replace(/\\{\\\\([ibu])1\\}/g,\"<$1>\").replace(/\\{([ibu])\\}/g,\"<$1>\").replace(/\\{\\/([ibu])\\}/g,\"\").replace(/(\\d\\d:\\d\\d:\\d\\d),(\\d\\d\\d)/g,\"$1.$2\").replace(/{[\\s\\S]*?}/g,\"\").concat(\"\\r\\n\\r\\n\"))}function o(e){return URL.createObjectURL(new Blob([e],{type:\"text/vtt\"}))}function n(e){let t=RegExp(\"Dialogue:\\\\s\\\\d,(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),(\\\\d+:\\\\d\\\\d:\\\\d\\\\d.\\\\d\\\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\\\s\\\\S]*)$\",\"i\");function r(e=\"\"){return e.split(/[:.]/).map((e,t,r)=>{if(t===r.length-1){if(1===e.length)return`.${e}00`;if(2===e.length)return`.${e}0`}else if(1===e.length)return(0===t?\"0\":\":0\")+e;return 0===t?e:t===r.length-1?`.${e}`:`:${e}`}).join(\"\")}return\"WEBVTT\\n\\n\"+e.split(/\\r?\\n/).map(e=>{let a=e.match(t);return a?{start:r(a[1].trim()),end:r(a[2].trim()),text:a[5].replace(/{[\\s\\S]*?}/g,\"\").replace(/(\\\\N)/g,\"\\n\").trim().split(/\\r?\\n/).map(e=>e.trim()).join(\"\\n\")}:null}).filter(e=>e).map((e,t)=>e?t+1+\"\\n\"+`${e.start} --> ${e.end}`+\"\\n\"+`${e.text}`:\"\").filter(e=>e.trim()).join(\"\\n\\n\")}a.defineInteropFlag(r),a.export(r,\"srtToVtt\",()=>i),a.export(r,\"vttToBlob\",()=>o),a.export(r,\"assToVtt\",()=>n)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"1VRQn\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t){let r=document.createElement(\"a\");r.style.display=\"none\",r.href=e,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}a.defineInteropFlag(r),a.export(r,\"getExt\",()=>function e(t){return t.includes(\"?\")?e(t.split(\"?\")[0]):t.includes(\"#\")?e(t.split(\"#\")[0]):t.trim().toLowerCase().split(\".\").pop()}),a.export(r,\"download\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3weX2\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"def\",()=>i),a.export(r,\"has\",()=>n),a.export(r,\"get\",()=>s),a.export(r,\"mergeDeep\",()=>function e(...t){let r=e=>e&&\"object\"==typeof e&&!Array.isArray(e);return t.reduce((t,a)=>(Object.keys(a).forEach(i=>{let o=t[i],n=a[i];Array.isArray(o)&&Array.isArray(n)?t[i]=o.concat(...n):r(o)&&r(n)?t[i]=e(o,n):t[i]=n}),t),{})});let i=Object.defineProperty,{hasOwnProperty:o}=Object.prototype;function n(e,t){return o.call(e,t)}function s(e,t){return Object.getOwnPropertyDescriptor(e,t)}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7kBIx\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e=0){return new Promise(t=>setTimeout(t,e))}function o(e,t){let r;return function(...a){clearTimeout(r),r=setTimeout(()=>(r=null,e.apply(this,a)),t)}}function n(e,t){let r=!1;return function(...a){r||(e.apply(this,a),r=!0,setTimeout(function(){r=!1},t))}}a.defineInteropFlag(r),a.export(r,\"sleep\",()=>i),a.export(r,\"debounce\",()=>o),a.export(r,\"throttle\",()=>n)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"13atT\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t,r){return Math.max(Math.min(e,Math.max(t,r)),Math.min(t,r))}function o(e){return e.charAt(0).toUpperCase()+e.slice(1)}function n(e){return[\"string\",\"number\"].includes(typeof e)}function s(e){if(!e)return\"00:00\";let t=Math.floor(e/3600),r=Math.floor((e-3600*t)/60),a=Math.floor(e-3600*t-60*r);return(t>0?[t,r,a]:[r,a]).map(e=>e<10?`0${e}`:String(e)).join(\":\")}function l(e){return e.replace(/[&<>'\"]/g,e=>({\"&\":\"&\",\"<\":\"<\",\">\":\">\",\"'\":\"'\",'\"':\""\"})[e]||e)}function c(e){let t={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\"'\":\"'\",\""\":'\"'},r=RegExp(`(${Object.keys(t).join(\"|\")})`,\"g\");return e.replace(r,e=>t[e]||e)}a.defineInteropFlag(r),a.export(r,\"clamp\",()=>i),a.export(r,\"capitalize\",()=>o),a.export(r,\"isStringOrNumber\",()=>n),a.export(r,\"secondToTime\",()=>s),a.export(r,\"escape\",()=>l),a.export(r,\"unescape\",()=>c)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],AdvwB:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"ComponentOption\",()=>d);var i=e(\"../utils\");let o=\"array\",n=\"boolean\",s=\"string\",l=\"number\",c=\"object\",u=\"function\";function p(e,t,r){return(0,i.errorHandle)(t===s||t===l||e instanceof Element,`${r.join(\".\")} require '${s}' or 'Element' type`)}let d={html:p,disable:`?${n}`,name:`?${s}`,index:`?${l}`,style:`?${c}`,click:`?${u}`,mounted:`?${u}`,tooltip:`?${s}|${l}`,width:`?${l}`,selector:`?${o}`,onSelect:`?${u}`,switch:`?${n}`,onSwitch:`?${u}`,range:`?${o}`,onRange:`?${u}`,onChange:`?${u}`};r.default={id:s,container:p,url:s,poster:s,type:s,theme:s,lang:s,volume:l,isLive:n,muted:n,autoplay:n,autoSize:n,autoMini:n,loop:n,flip:n,playbackRate:n,aspectRatio:n,screenshot:n,setting:n,hotkey:n,pip:n,mutex:n,backdrop:n,fullscreen:n,fullscreenWeb:n,subtitleOffset:n,miniProgressBar:n,useSSR:n,playsInline:n,lock:n,fastForward:n,autoPlayback:n,autoOrientation:n,airplay:n,plugins:[u],layers:[d],contextmenu:[d],settings:[d],controls:[{...d,position:(e,t,r)=>{let a=[\"top\",\"left\",\"right\"];return(0,i.errorHandle)(a.includes(e),`${r.join(\".\")} only accept ${a.toString()} as parameters`)}}],quality:[{default:`?${n}`,html:s,url:s}],highlight:[{time:l,text:s}],thumbnails:{url:s,number:l,column:l,width:l,height:l},subtitle:{url:s,name:s,type:s,style:c,escape:n,encoding:s,onVttLoad:u},moreVideoAttr:c,i18n:c,icons:c,cssVar:c,customType:c}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9Xmqu\":[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r),r.default={propertys:[\"audioTracks\",\"autoplay\",\"buffered\",\"controller\",\"controls\",\"crossOrigin\",\"currentSrc\",\"currentTime\",\"defaultMuted\",\"defaultPlaybackRate\",\"duration\",\"ended\",\"error\",\"loop\",\"mediaGroup\",\"muted\",\"networkState\",\"paused\",\"playbackRate\",\"played\",\"preload\",\"readyState\",\"seekable\",\"seeking\",\"src\",\"startDate\",\"textTracks\",\"videoTracks\",\"volume\"],methods:[\"addTextTrack\",\"canPlayType\",\"load\",\"play\",\"pause\"],events:[\"abort\",\"canplay\",\"canplaythrough\",\"durationchange\",\"emptied\",\"ended\",\"error\",\"loadeddata\",\"loadedmetadata\",\"loadstart\",\"pause\",\"play\",\"playing\",\"progress\",\"ratechange\",\"seeked\",\"seeking\",\"stalled\",\"suspend\",\"timeupdate\",\"volumechange\",\"waiting\"],prototypes:[\"width\",\"height\",\"videoWidth\",\"videoHeight\",\"poster\",\"webkitDecodedFrameCount\",\"webkitDroppedFrameCount\",\"playsInline\",\"webkitSupportsFullscreen\",\"webkitDisplayingFullscreen\",\"onenterpictureinpicture\",\"onleavepictureinpicture\",\"disablePictureInPicture\",\"cancelVideoFrameCallback\",\"requestVideoFrameCallback\",\"getVideoPlaybackQuality\",\"requestPictureInPicture\",\"webkitEnterFullScreen\",\"webkitEnterFullscreen\",\"webkitExitFullScreen\",\"webkitExitFullscreen\"]}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2gKYH\":[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);var a=e(\"./utils\");class i{constructor(e){this.art=e;let{option:t,constructor:r}=e;t.container instanceof Element?this.$container=t.container:(this.$container=(0,a.query)(t.container),(0,a.errorHandle)(this.$container,`No container element found by ${t.container}`)),(0,a.errorHandle)((0,a.supportsFlex)(),\"The current browser does not support flex layout\");let i=this.$container.tagName.toLowerCase();(0,a.errorHandle)(\"div\"===i,`Unsupported container element type, only support 'div' but got '${i}'`),(0,a.errorHandle)(r.instances.every(e=>e.template.$container!==this.$container),\"Cannot mount multiple instances on the same dom element\"),this.query=this.query.bind(this),this.$container.dataset.artId=e.id,this.init()}static get html(){return`
Player version:
5.1.6
Video url:
Video volume:
Video time:
Video duration:
Video resolution:
x
[x]
`}query(e){return(0,a.query)(e,this.$container)}init(){let{option:e}=this.art;e.useSSR||(this.$container.innerHTML=i.html),this.$player=this.query(\".art-video-player\"),this.$video=this.query(\".art-video\"),this.$track=this.query(\"track\"),this.$poster=this.query(\".art-poster\"),this.$subtitle=this.query(\".art-subtitle\"),this.$danmuku=this.query(\".art-danmuku\"),this.$bottom=this.query(\".art-bottom\"),this.$progress=this.query(\".art-progress\"),this.$controls=this.query(\".art-controls\"),this.$controlsLeft=this.query(\".art-controls-left\"),this.$controlsCenter=this.query(\".art-controls-center\"),this.$controlsRight=this.query(\".art-controls-right\"),this.$layer=this.query(\".art-layers\"),this.$loading=this.query(\".art-loading\"),this.$notice=this.query(\".art-notice\"),this.$noticeInner=this.query(\".art-notice-inner\"),this.$mask=this.query(\".art-mask\"),this.$state=this.query(\".art-state\"),this.$setting=this.query(\".art-settings\"),this.$info=this.query(\".art-info\"),this.$infoPanel=this.query(\".art-info-panel\"),this.$infoClose=this.query(\".art-info-close\"),this.$contextmenu=this.query(\".art-contextmenus\"),e.backdrop&&(0,a.addClass)(this.$player,\"art-backdrop\"),a.isMobile&&(0,a.addClass)(this.$player,\"art-mobile\")}destroy(e){e?this.$container.innerHTML=\"\":(0,a.addClass)(this.$player,\"art-destroy\")}}r.default=i},{\"./utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"1AdeF\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"./zh-cn\"),n=a.interopDefault(o);r.default=class{constructor(e){this.art=e,this.languages={\"zh-cn\":n.default},this.language={},this.update(e.option.i18n)}init(){let e=this.art.option.lang.toLowerCase();this.language=this.languages[e]||{}}get(e){return this.language[e]||e}update(e){this.languages=(0,i.mergeDeep)(this.languages,e),this.init()}}},{\"../utils\":\"h3rH9\",\"./zh-cn\":\"3ZSKq\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3ZSKq\":[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);let a={\"Video Info\":\"统计信息\",Close:\"关闭\",\"Video Load Failed\":\"加载失败\",Volume:\"音量\",Play:\"播放\",Pause:\"暂停\",Rate:\"速度\",Mute:\"静音\",\"Video Flip\":\"画面翻转\",Horizontal:\"水平\",Vertical:\"垂直\",Reconnect:\"重新连接\",\"Show Setting\":\"显示设置\",\"Hide Setting\":\"隐藏设置\",Screenshot:\"截图\",\"Play Speed\":\"播放速度\",\"Aspect Ratio\":\"画面比例\",Default:\"默认\",Normal:\"正常\",Open:\"打开\",\"Switch Video\":\"切换\",\"Switch Subtitle\":\"切换字幕\",Fullscreen:\"全屏\",\"Exit Fullscreen\":\"退出全屏\",\"Web Fullscreen\":\"网页全屏\",\"Exit Web Fullscreen\":\"退出网页全屏\",\"Mini Player\":\"迷你播放器\",\"PIP Mode\":\"开启画中画\",\"Exit PIP Mode\":\"退出画中画\",\"PIP Not Supported\":\"不支持画中画\",\"Fullscreen Not Supported\":\"不支持全屏\",\"Subtitle Offset\":\"字幕偏移\",\"Last Seen\":\"上次看到\",\"Jump Play\":\"跳转播放\",AirPlay:\"隔空播放\",\"AirPlay Not Available\":\"隔空播放不可用\"};r.default=a,\"undefined\"!=typeof window&&(window[\"artplayer-i18n-zh-cn\"]=a)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"556MW\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./urlMix\"),o=a.interopDefault(i),n=e(\"./attrMix\"),s=a.interopDefault(n),l=e(\"./playMix\"),c=a.interopDefault(l),u=e(\"./pauseMix\"),p=a.interopDefault(u),d=e(\"./toggleMix\"),f=a.interopDefault(d),h=e(\"./seekMix\"),m=a.interopDefault(h),g=e(\"./volumeMix\"),v=a.interopDefault(g),y=e(\"./currentTimeMix\"),b=a.interopDefault(y),x=e(\"./durationMix\"),w=a.interopDefault(x),j=e(\"./switchMix\"),k=a.interopDefault(j),S=e(\"./playbackRateMix\"),I=a.interopDefault(S),T=e(\"./aspectRatioMix\"),O=a.interopDefault(T),E=e(\"./screenshotMix\"),M=a.interopDefault(E),$=e(\"./fullscreenMix\"),F=a.interopDefault($),C=e(\"./fullscreenWebMix\"),H=a.interopDefault(C),D=e(\"./pipMix\"),B=a.interopDefault(D),z=e(\"./loadedMix\"),R=a.interopDefault(z),A=e(\"./playedMix\"),L=a.interopDefault(A),P=e(\"./playingMix\"),N=a.interopDefault(P),Z=e(\"./autoSizeMix\"),_=a.interopDefault(Z),q=e(\"./rectMix\"),V=a.interopDefault(q),W=e(\"./flipMix\"),U=a.interopDefault(W),Y=e(\"./miniMix\"),K=a.interopDefault(Y),X=e(\"./posterMix\"),G=a.interopDefault(X),J=e(\"./autoHeightMix\"),Q=a.interopDefault(J),ee=e(\"./cssVarMix\"),et=a.interopDefault(ee),er=e(\"./themeMix\"),ea=a.interopDefault(er),ei=e(\"./typeMix\"),eo=a.interopDefault(ei),en=e(\"./stateMix\"),es=a.interopDefault(en),el=e(\"./subtitleOffsetMix\"),ec=a.interopDefault(el),eu=e(\"./airplayMix\"),ep=a.interopDefault(eu),ed=e(\"./qualityMix\"),ef=a.interopDefault(ed),eh=e(\"./optionInit\"),em=a.interopDefault(eh),eg=e(\"./eventInit\"),ev=a.interopDefault(eg);r.default=class{constructor(e){(0,o.default)(e),(0,s.default)(e),(0,c.default)(e),(0,p.default)(e),(0,f.default)(e),(0,m.default)(e),(0,v.default)(e),(0,b.default)(e),(0,w.default)(e),(0,k.default)(e),(0,I.default)(e),(0,O.default)(e),(0,M.default)(e),(0,F.default)(e),(0,H.default)(e),(0,B.default)(e),(0,R.default)(e),(0,L.default)(e),(0,N.default)(e),(0,_.default)(e),(0,V.default)(e),(0,U.default)(e),(0,K.default)(e),(0,G.default)(e),(0,Q.default)(e),(0,et.default)(e),(0,ea.default)(e),(0,eo.default)(e),(0,es.default)(e),(0,ec.default)(e),(0,ep.default)(e),(0,ef.default)(e),(0,ev.default)(e),(0,em.default)(e)}}},{\"./urlMix\":\"2mRAc\",\"./attrMix\":\"2EA19\",\"./playMix\":\"fD2Tc\",\"./pauseMix\":\"c3LGJ\",\"./toggleMix\":\"fVsAa\",\"./seekMix\":\"dmROF\",\"./volumeMix\":\"9jtfB\",\"./currentTimeMix\":\"7NCDR\",\"./durationMix\":\"YS7JL\",\"./switchMix\":\"dzUqN\",\"./playbackRateMix\":\"5I2mT\",\"./aspectRatioMix\":\"7m6R8\",\"./screenshotMix\":\"2dgtR\",\"./fullscreenMix\":\"fKDW8\",\"./fullscreenWebMix\":\"lNvYI\",\"./pipMix\":\"8j7oC\",\"./loadedMix\":\"dwVOT\",\"./playedMix\":\"dDeLx\",\"./playingMix\":\"ceoBp\",\"./autoSizeMix\":\"lcWXX\",\"./rectMix\":\"f7y88\",\"./flipMix\":\"l4qt5\",\"./miniMix\":\"9ZPBQ\",\"./posterMix\":\"5K8hA\",\"./autoHeightMix\":\"3T5ls\",\"./cssVarMix\":\"6KfHs\",\"./themeMix\":\"7lcSc\",\"./typeMix\":\"8JgTw\",\"./stateMix\":\"cebt1\",\"./subtitleOffsetMix\":\"hJvIy\",\"./airplayMix\":\"4Tp0U\",\"./qualityMix\":\"3wZgN\",\"./optionInit\":\"iPdgW\",\"./eventInit\":\"3mj0J\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2mRAc\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{option:t,template:{$video:r}}=e;(0,i.def)(e,\"url\",{get:()=>r.src,async set(a){if(a){let o=e.url,n=t.type||(0,i.getExt)(a),s=t.customType[n];n&&s?(await (0,i.sleep)(),e.loading.show=!0,s.call(e,r,a,e)):(URL.revokeObjectURL(o),r.src=a),o!==e.url&&(e.option.url=a,e.isReady&&o&&e.once(\"video:canplay\",()=>{e.emit(\"restart\",a)}))}else await (0,i.sleep)(),e.loading.show=!0}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2EA19\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$video:t}}=e;(0,i.def)(e,\"attr\",{value(e,r){if(void 0===r)return t[e];t[e]=r}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fD2Tc:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,option:a,constructor:{instances:o},template:{$video:n}}=e;(0,i.def)(e,\"play\",{value:async function(){let i=await n.play();if(r.show=t.get(\"Play\"),e.emit(\"play\"),a.mutex)for(let t=0;to);var i=e(\"../utils\");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,\"pause\",{value(){let i=t.pause();return a.show=r.get(\"Pause\"),e.emit(\"pause\"),i}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fVsAa:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"toggle\",{value:()=>e.playing?e.pause():e.play()})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dmROF:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{notice:t}=e;(0,i.def)(e,\"seek\",{set(r){e.currentTime=r,e.emit(\"seek\",e.currentTime),e.duration&&(t.show=`${(0,i.secondToTime)(e.currentTime)} / ${(0,i.secondToTime)(e.duration)}`)}}),(0,i.def)(e,\"forward\",{set(t){e.seek=e.currentTime+t}}),(0,i.def)(e,\"backward\",{set(t){e.seek=e.currentTime-t}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9jtfB\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$video:t},i18n:r,notice:a,storage:o}=e;(0,i.def)(e,\"volume\",{get:()=>t.volume||0,set:e=>{t.volume=(0,i.clamp)(e,0,1),a.show=`${r.get(\"Volume\")}: ${parseInt(100*t.volume,10)}`,0!==t.volume&&o.set(\"volume\",t.volume)}}),(0,i.def)(e,\"muted\",{get:()=>t.muted,set:r=>{t.muted=r,e.emit(\"muted\",r)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7NCDR\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$video:t}=e.template;(0,i.def)(e,\"currentTime\",{get:()=>t.currentTime||0,set:r=>{Number.isNaN(r=parseFloat(r))||(t.currentTime=(0,i.clamp)(r,0,e.duration))}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],YS7JL:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"duration\",{get:()=>{let{duration:t}=e.template.$video;return t===1/0?0:t||0}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dzUqN:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){function t(t,r){return new Promise((a,i)=>{if(t===e.url)return;let{playing:o,aspectRatio:n,playbackRate:s}=e;e.pause(),e.url=t,e.notice.show=\"\",e.once(\"video:error\",i),e.once(\"video:loadedmetadata\",()=>{e.currentTime=r}),e.once(\"video:canplay\",async()=>{e.playbackRate=s,e.aspectRatio=n,o&&await e.play(),e.notice.show=\"\",a()})})}(0,i.def)(e,\"switchQuality\",{value:r=>t(r,e.currentTime)}),(0,i.def)(e,\"switchUrl\",{value:e=>t(e,0)}),(0,i.def)(e,\"switch\",{set:e.switchUrl})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5I2mT\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$video:t},i18n:r,notice:a}=e;(0,i.def)(e,\"playbackRate\",{get:()=>t.playbackRate,set(i){i?i!==t.playbackRate&&(t.playbackRate=i,a.show=`${r.get(\"Rate\")}: ${1===i?r.get(\"Normal\"):`${i}x`}`):e.playbackRate=1}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7m6R8\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,template:{$video:a,$player:o}}=e;(0,i.def)(e,\"aspectRatio\",{get:()=>o.dataset.aspectRatio||\"default\",set(n){if(n||(n=\"default\"),\"default\"===n)(0,i.setStyle)(a,\"width\",null),(0,i.setStyle)(a,\"height\",null),(0,i.setStyle)(a,\"margin\",null),delete o.dataset.aspectRatio;else{let e=n.split(\":\").map(Number),{clientWidth:t,clientHeight:r}=o,s=e[0]/e[1];t/r>s?((0,i.setStyle)(a,\"width\",`${s*r}px`),(0,i.setStyle)(a,\"height\",\"100%\"),(0,i.setStyle)(a,\"margin\",\"0 auto\")):((0,i.setStyle)(a,\"width\",\"100%\"),(0,i.setStyle)(a,\"height\",`${t/s}px`),(0,i.setStyle)(a,\"margin\",\"auto 0\")),o.dataset.aspectRatio=n}r.show=`${t.get(\"Aspect Ratio\")}: ${\"default\"===n?t.get(\"Default\"):n}`,e.emit(\"aspectRatio\",n)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2dgtR\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{notice:t,template:{$video:r}}=e,a=(0,i.createElement)(\"canvas\");(0,i.def)(e,\"getDataURL\",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext(\"2d\").drawImage(r,0,0),e(a.toDataURL(\"image/png\"))}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,\"getBlobUrl\",{value:()=>new Promise((e,i)=>{try{a.width=r.videoWidth,a.height=r.videoHeight,a.getContext(\"2d\").drawImage(r,0,0),a.toBlob(t=>{e(URL.createObjectURL(t))})}catch(e){t.show=e,i(e)}})}),(0,i.def)(e,\"screenshot\",{value:async()=>{let t=await e.getDataURL();return(0,i.download)(t,`artplayer_${(0,i.secondToTime)(r.currentTime)}.png`),e.emit(\"screenshot\",t),t}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fKDW8:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>s);var i=e(\"../libs/screenfull\"),o=a.interopDefault(i),n=e(\"../utils\");function s(e){let{i18n:t,notice:r,template:{$video:a,$player:i}}=e,s=e=>{(0,o.default).on(\"change\",()=>{e.emit(\"fullscreen\",o.default.isFullscreen)}),(0,o.default).on(\"error\",t=>{e.emit(\"fullscreenError\",t)}),(0,n.def)(e,\"fullscreen\",{get:()=>o.default.isFullscreen,async set(t){t?(e.state=\"fullscreen\",await (0,o.default).request(i),(0,n.addClass)(i,\"art-fullscreen\")):(await (0,o.default).exit(),(0,n.removeClass)(i,\"art-fullscreen\")),e.emit(\"resize\")}})},l=e=>{e.proxy(document,\"webkitfullscreenchange\",()=>{e.emit(\"fullscreen\",e.fullscreen),e.emit(\"resize\")}),(0,n.def)(e,\"fullscreen\",{get:()=>document.fullscreenElement===a,set(t){t?(e.state=\"fullscreen\",a.webkitEnterFullscreen()):a.webkitExitFullscreen()}})};e.once(\"video:loadedmetadata\",()=>{o.default.isEnabled?s(e):a.webkitSupportsFullscreen?l(e):(0,n.def)(e,\"fullscreen\",{get:()=>!1,set(){r.show=t.get(\"Fullscreen Not Supported\")}}),(0,n.def)(e,\"fullscreen\",(0,n.get)(e,\"fullscreen\"))})}},{\"../libs/screenfull\":\"lUahW\",\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],lUahW:[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);let a=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"webkitRequestFullScreen\",\"webkitCancelFullScreen\",\"webkitCurrentFullScreenElement\",\"webkitCancelFullScreen\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\"]],i=(()=>{if(\"undefined\"==typeof document)return!1;let e=a[0],t={};for(let r of a)if(r[1]in document){for(let[a,i]of r.entries())t[e[a]]=i;return t}return!1})(),o={change:i.fullscreenchange,error:i.fullscreenerror},n={request:(e=document.documentElement,t)=>new Promise((r,a)=>{let o=()=>{n.off(\"change\",o),r()};n.on(\"change\",o);let s=e[i.requestFullscreen](t);s instanceof Promise&&s.then(o).catch(a)}),exit:()=>new Promise((e,t)=>{if(!n.isFullscreen){e();return}let r=()=>{n.off(\"change\",r),e()};n.on(\"change\",r);let a=document[i.exitFullscreen]();a instanceof Promise&&a.then(r).catch(t)}),toggle:(e,t)=>n.isFullscreen?n.exit():n.request(e,t),onchange(e){n.on(\"change\",e)},onerror(e){n.on(\"error\",e)},on(e,t){let r=o[e];r&&document.addEventListener(r,t,!1)},off(e,t){let r=o[e];r&&document.removeEventListener(r,t,!1)},raw:i};Object.defineProperties(n,{isFullscreen:{get:()=>!!document[i.fullscreenElement]},element:{enumerable:!0,get:()=>document[i.fullscreenElement]},isEnabled:{enumerable:!0,get:()=>!!document[i.fullscreenEnabled]}}),i||(n={isEnabled:!1}),r.default=n},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],lNvYI:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{constructor:t,template:{$container:r,$player:a}}=e,o=\"\";(0,i.def)(e,\"fullscreenWeb\",{get:()=>(0,i.hasClass)(a,\"art-fullscreen-web\"),set(n){n?(o=a.style.cssText,t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(document.body,a),e.state=\"fullscreenWeb\",(0,i.setStyle)(a,\"width\",\"100%\"),(0,i.setStyle)(a,\"height\",\"100%\"),(0,i.addClass)(a,\"art-fullscreen-web\"),e.emit(\"fullscreenWeb\",!0)):(t.FULLSCREEN_WEB_IN_BODY&&(0,i.append)(r,a),o&&(a.style.cssText=o,o=\"\"),(0,i.removeClass)(a,\"art-fullscreen-web\"),e.emit(\"fullscreenWeb\",!1)),e.emit(\"resize\")}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8j7oC\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,template:{$video:a}}=e;document.pictureInPictureEnabled?function(e){let{template:{$video:t},proxy:r,notice:a}=e;t.disablePictureInPicture=!1,(0,i.def)(e,\"pip\",{get:()=>document.pictureInPictureElement,set(r){r?(e.state=\"pip\",t.requestPictureInPicture().catch(e=>{throw a.show=e,e})):document.exitPictureInPicture().catch(e=>{throw a.show=e,e})}}),r(t,\"enterpictureinpicture\",()=>{e.emit(\"pip\",!0)}),r(t,\"leavepictureinpicture\",()=>{e.emit(\"pip\",!1)})}(e):a.webkitSupportsPresentationMode?function(e){let{$video:t}=e.template;t.webkitSetPresentationMode(\"inline\"),(0,i.def)(e,\"pip\",{get:()=>\"picture-in-picture\"===t.webkitPresentationMode,set(r){r?(e.state=\"pip\",t.webkitSetPresentationMode(\"picture-in-picture\"),e.emit(\"pip\",!0)):(t.webkitSetPresentationMode(\"inline\"),e.emit(\"pip\",!1))}})}(e):(0,i.def)(e,\"pip\",{get:()=>!1,set(){r.show=t.get(\"PIP Not Supported\")}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dwVOT:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$video:t}=e.template;(0,i.def)(e,\"loaded\",{get:()=>e.loadedTime/t.duration}),(0,i.def)(e,\"loadedTime\",{get:()=>t.buffered.length?t.buffered.end(t.buffered.length-1):0})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dDeLx:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"played\",{get:()=>e.currentTime/e.duration})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],ceoBp:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$video:t}=e.template;(0,i.def)(e,\"playing\",{get:()=>!!(t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],lcWXX:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$container:t,$player:r,$video:a}=e.template;(0,i.def)(e,\"autoSize\",{value(){let{videoWidth:o,videoHeight:n}=a,{width:s,height:l}=(0,i.getRect)(t),c=o/n;s/l>c?((0,i.setStyle)(r,\"width\",`${l*c/s*100}%`),(0,i.setStyle)(r,\"height\",\"100%\")):((0,i.setStyle)(r,\"width\",\"100%\"),(0,i.setStyle)(r,\"height\",`${s/c/l*100}%`)),e.emit(\"autoSize\",{width:e.width,height:e.height})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],f7y88:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"rect\",{get:()=>(0,i.getRect)(e.template.$player)});let t=[\"bottom\",\"height\",\"left\",\"right\",\"top\",\"width\"];for(let r=0;re.rect[a]})}(0,i.def)(e,\"x\",{get:()=>e.left+window.pageXOffset}),(0,i.def)(e,\"y\",{get:()=>e.top+window.pageYOffset})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],l4qt5:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$player:t},i18n:r,notice:a}=e;(0,i.def)(e,\"flip\",{get:()=>t.dataset.flip||\"normal\",set(o){o||(o=\"normal\"),\"normal\"===o?delete t.dataset.flip:t.dataset.flip=o,a.show=`${r.get(\"Video Flip\")}: ${r.get((0,i.capitalize)(o))}`,e.emit(\"flip\",o)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9ZPBQ\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{icons:t,proxy:r,storage:a,template:{$player:o,$video:n}}=e,s=!1,l=0,c=0;function u(){let{$mini:t}=e.template;t&&((0,i.removeClass)(o,\"art-mini\"),(0,i.setStyle)(t,\"display\",\"none\"),o.prepend(n),e.emit(\"mini\",!1))}function p(t,r){e.playing?((0,i.setStyle)(t,\"display\",\"none\"),(0,i.setStyle)(r,\"display\",\"flex\")):((0,i.setStyle)(t,\"display\",\"flex\"),(0,i.setStyle)(r,\"display\",\"none\"))}function d(){let{$mini:t}=e.template,r=(0,i.getRect)(t),o=window.innerHeight-r.height-50,n=window.innerWidth-r.width-50;a.set(\"top\",o),a.set(\"left\",n),(0,i.setStyle)(t,\"top\",`${o}px`),(0,i.setStyle)(t,\"left\",`${n}px`)}(0,i.def)(e,\"mini\",{get:()=>(0,i.hasClass)(o,\"art-mini\"),set(f){if(f){e.state=\"mini\",(0,i.addClass)(o,\"art-mini\");let f=function(){let{$mini:o}=e.template;if(o)return(0,i.append)(o,n),(0,i.setStyle)(o,\"display\",\"flex\");{let o=(0,i.createElement)(\"div\");(0,i.addClass)(o,\"art-mini-popup\"),(0,i.append)(document.body,o),e.template.$mini=o,(0,i.append)(o,n);let d=(0,i.append)(o,'
');(0,i.append)(d,t.close),r(d,\"click\",u);let f=(0,i.append)(o,'
'),h=(0,i.append)(f,t.play),m=(0,i.append)(f,t.pause);return r(h,\"click\",()=>e.play()),r(m,\"click\",()=>e.pause()),p(h,m),e.on(\"video:playing\",()=>p(h,m)),e.on(\"video:pause\",()=>p(h,m)),e.on(\"video:timeupdate\",()=>p(h,m)),r(o,\"mousedown\",e=>{s=0===e.button,l=e.pageX,c=e.pageY}),e.on(\"document:mousemove\",e=>{if(s){(0,i.addClass)(o,\"art-mini-droging\");let t=e.pageX-l,r=e.pageY-c;(0,i.setStyle)(o,\"transform\",`translate(${t}px, ${r}px)`)}}),e.on(\"document:mouseup\",()=>{if(s){s=!1,(0,i.removeClass)(o,\"art-mini-droging\");let e=(0,i.getRect)(o);a.set(\"left\",e.left),a.set(\"top\",e.top),(0,i.setStyle)(o,\"left\",`${e.left}px`),(0,i.setStyle)(o,\"top\",`${e.top}px`),(0,i.setStyle)(o,\"transform\",null)}}),o}}(),h=a.get(\"top\"),m=a.get(\"left\");h&&m?((0,i.setStyle)(f,\"top\",`${h}px`),(0,i.setStyle)(f,\"left\",`${m}px`),(0,i.isInViewport)(f)||d()):d(),e.emit(\"mini\",!0)}else u()}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5K8hA\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$poster:t}}=e;(0,i.def)(e,\"poster\",{get:()=>{try{return t.style.backgroundImage.match(/\"(.*)\"/)[1]}catch(e){return\"\"}},set(e){(0,i.setStyle)(t,\"backgroundImage\",`url(${e})`)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3T5ls\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{template:{$container:t,$video:r}}=e;(0,i.def)(e,\"autoHeight\",{value(){let{clientWidth:a}=t,{videoHeight:o,videoWidth:n}=r,s=a/n*o;(0,i.setStyle)(t,\"height\",s+\"px\"),e.emit(\"autoHeight\",s)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"6KfHs\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{$player:t}=e.template;(0,i.def)(e,\"cssVar\",{value:(e,r)=>r?t.style.setProperty(e,r):getComputedStyle(t).getPropertyValue(e)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7lcSc\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"theme\",{get:()=>e.cssVar(\"--art-theme\"),set(t){e.cssVar(\"--art-theme\",t)}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8JgTw\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"type\",{get:()=>e.option.type,set(t){e.option.type=t}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],cebt1:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let t=[\"mini\",\"pip\",\"fullscreen\",\"fullscreenWeb\"];(0,i.def)(e,\"state\",{get:()=>t.find(t=>e[t])||\"standard\",set(r){for(let a=0;ao);var i=e(\"../utils\");function o(e){let{clamp:t}=e.constructor.utils,{notice:r,template:a,i18n:o}=e,n=0,s=[];e.on(\"subtitle:switch\",()=>{s=[]}),(0,i.def)(e,\"subtitleOffset\",{get:()=>n,set(i){if(a.$track&&a.$track.track){let l=Array.from(a.$track.track.cues);n=t(i,-5,5);for(let r=0;ro);var i=e(\"../utils\");function o(e){let{i18n:t,notice:r,proxy:a,template:{$video:o}}=e,n=!0;window.WebKitPlaybackTargetAvailabilityEvent&&o.webkitShowPlaybackTargetPicker?a(o,\"webkitplaybacktargetavailabilitychanged\",e=>{switch(e.availability){case\"available\":n=!0;break;case\"not-available\":n=!1}}):n=!1,(0,i.def)(e,\"airplay\",{value(){n?(o.webkitShowPlaybackTargetPicker(),e.emit(\"airplay\")):r.show=t.get(\"AirPlay Not Available\")}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3wZgN\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){(0,i.def)(e,\"quality\",{set(t){let{controls:r,notice:a,i18n:i}=e,o=t.find(e=>e.default)||t[0];r.update({name:\"quality\",position:\"right\",index:10,style:{marginRight:\"10px\"},html:o?o.html:\"\",selector:t,async onSelect(t){await e.switchQuality(t.url),a.show=`${i.get(\"Switch Video\")}: ${t.html}`}})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iPdgW:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{option:t,storage:r,template:{$video:a,$poster:o}}=e;for(let r in t.moreVideoAttr)e.attr(r,t.moreVideoAttr[r]);t.muted&&(e.muted=t.muted),t.volume&&(a.volume=(0,i.clamp)(t.volume,0,1));let n=r.get(\"volume\");for(let r in\"number\"==typeof n&&(a.volume=(0,i.clamp)(n,0,1)),t.poster&&(0,i.setStyle)(o,\"backgroundImage\",`url(${t.poster})`),t.autoplay&&(a.autoplay=t.autoplay),t.playsInline&&(a.playsInline=!0,a[\"webkit-playsinline\"]=!0),t.theme&&(t.cssVar[\"--art-theme\"]=t.theme),t.cssVar)e.cssVar(r,t.cssVar[r]);e.url=t.url}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"3mj0J\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>s);var i=e(\"../config\"),o=a.interopDefault(i),n=e(\"../utils\");function s(e){let{i18n:t,notice:r,option:a,constructor:i,proxy:s,template:{$player:l,$video:c,$poster:u}}=e,p=0;for(let t=0;t{e.emit(`video:${t.type}`,t)});e.on(\"video:canplay\",()=>{p=0,e.loading.show=!1}),e.once(\"video:canplay\",()=>{e.loading.show=!1,e.controls.show=!0,e.mask.show=!0,e.isReady=!0,e.emit(\"ready\")}),e.on(\"video:ended\",()=>{a.loop?(e.seek=0,e.play(),e.controls.show=!1,e.mask.show=!1):(e.controls.show=!0,e.mask.show=!0)}),e.on(\"video:error\",async o=>{p{e.emit(\"resize\"),n.isMobile&&(e.loading.show=!1,e.controls.show=!0,e.mask.show=!0)}),e.on(\"video:loadstart\",()=>{e.loading.show=!0,e.mask.show=!1,e.controls.show=!0}),e.on(\"video:pause\",()=>{e.controls.show=!0,e.mask.show=!0}),e.on(\"video:play\",()=>{e.mask.show=!1,(0,n.setStyle)(u,\"display\",\"none\")}),e.on(\"video:playing\",()=>{e.mask.show=!1}),e.on(\"video:progress\",()=>{e.playing&&(e.loading.show=!1)}),e.on(\"video:seeked\",()=>{e.loading.show=!1,e.mask.show=!0}),e.on(\"video:seeking\",()=>{e.loading.show=!0,e.mask.show=!1}),e.on(\"video:timeupdate\",()=>{e.mask.show=!1}),e.on(\"video:waiting\",()=>{e.loading.show=!0,e.mask.show=!1})}},{\"../config\":\"9Xmqu\",\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"14IBq\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"../utils/component\"),n=a.interopDefault(o),s=e(\"./fullscreen\"),l=a.interopDefault(s),c=e(\"./fullscreenWeb\"),u=a.interopDefault(c),p=e(\"./pip\"),d=a.interopDefault(p),f=e(\"./playAndPause\"),h=a.interopDefault(f),m=e(\"./progress\"),g=a.interopDefault(m),v=e(\"./time\"),y=a.interopDefault(v),b=e(\"./volume\"),x=a.interopDefault(b),w=e(\"./setting\"),j=a.interopDefault(w),k=e(\"./thumbnails\"),S=a.interopDefault(k),I=e(\"./screenshot\"),T=a.interopDefault(I),O=e(\"./airplay\"),E=a.interopDefault(O);class M extends n.default{constructor(e){super(e),this.isHover=!1,this.name=\"control\",this.timer=Date.now();let{constructor:t}=e,{$player:r,$bottom:a}=this.art.template;e.on(\"mousemove\",()=>{i.isMobile||(this.show=!0)}),e.on(\"click\",()=>{i.isMobile?this.toggle():this.show=!0}),e.on(\"document:mousemove\",e=>{this.isHover=(0,i.includeFromEvent)(e,a)}),e.on(\"video:timeupdate\",()=>{!e.setting.show&&!this.isHover&&!e.isInput&&e.playing&&this.show&&Date.now()-this.timer>=t.CONTROL_HIDE_TIME&&(this.show=!1)}),e.on(\"control\",e=>{e?((0,i.removeClass)(r,\"art-hide-cursor\"),(0,i.addClass)(r,\"art-hover\"),this.timer=Date.now()):((0,i.addClass)(r,\"art-hide-cursor\"),(0,i.removeClass)(r,\"art-hover\"))}),this.init()}init(){let{option:e}=this.art;e.isLive||this.add((0,g.default)({name:\"progress\",position:\"top\",index:10})),e.thumbnails.url&&!e.isLive&&this.add((0,S.default)({name:\"thumbnails\",position:\"top\",index:20})),this.add((0,h.default)({name:\"playAndPause\",position:\"left\",index:10})),this.add((0,x.default)({name:\"volume\",position:\"left\",index:20})),e.isLive||this.add((0,y.default)({name:\"time\",position:\"left\",index:30})),e.quality.length&&(0,i.sleep)().then(()=>{this.art.quality=e.quality}),e.screenshot&&!i.isMobile&&this.add((0,T.default)({name:\"screenshot\",position:\"right\",index:20})),e.setting&&this.add((0,j.default)({name:\"setting\",position:\"right\",index:30})),e.pip&&this.add((0,d.default)({name:\"pip\",position:\"right\",index:40})),e.airplay&&window.WebKitPlaybackTargetAvailabilityEvent&&this.add((0,E.default)({name:\"airplay\",position:\"right\",index:50})),e.fullscreenWeb&&this.add((0,u.default)({name:\"fullscreenWeb\",position:\"right\",index:60})),e.fullscreen&&this.add((0,l.default)({name:\"fullscreen\",position:\"right\",index:70}));for(let t=0;tNumber(e.dataset.index)>=Number(o.dataset.index));u?u.insertAdjacentElement(\"beforebegin\",o):(0,i.append)(this.$parent,o),t.html&&(0,i.append)(o,t.html),t.style&&(0,i.setStyles)(o,t.style),t.tooltip&&(0,i.tooltip)(o,t.tooltip);let p=[];if(t.click){let e=this.art.events.proxy(o,\"click\",e=>{e.preventDefault(),t.click.call(this.art,this,e)});p.push(e)}return t.selector&&[\"left\",\"right\"].includes(t.position)&&this.addSelector(t,o,p),this[r]=o,this.cache.set(r,{$ref:o,events:p,option:t}),t.mounted&&t.mounted.call(this.art,o),o}addSelector(e,t,r){let{hover:a,proxy:n}=this.art.events;(0,i.addClass)(t,\"art-control-selector\");let s=(0,i.createElement)(\"div\");(0,i.addClass)(s,\"art-selector-value\"),(0,i.append)(s,e.html),t.innerText=\"\",(0,i.append)(t,s);let l=e.selector.map((e,t)=>`
${e.html}
`).join(\"\"),c=(0,i.createElement)(\"div\");(0,i.addClass)(c,\"art-selector-list\"),(0,i.append)(c,l),(0,i.append)(t,c);let u=()=>{let e=(0,i.getStyle)(t,\"width\"),r=(0,i.getStyle)(c,\"width\");c.style.left=`${e/2-r/2}px`};a(t,u);let p=n(c,\"click\",async t=>{let r=(t.composedPath()||[]).find(e=>(0,i.hasClass)(e,\"art-selector-item\"));if(!r)return;(0,i.inverseClass)(r,\"art-current\");let a=Number(r.dataset.index),n=e.selector[a]||{};if(s.innerText=r.innerText,e.onSelect){let a=await e.onSelect.call(this.art,n,r,t);(0,o.isStringOrNumber)(a)&&(s.innerHTML=a)}u()});r.push(p)}remove(e){let t=this.cache.get(e);(0,n.errorHandle)(t,`Can't find [${e}] from the [${this.name}]`),t.option.beforeUnmount&&t.option.beforeUnmount.call(this.art,t.$ref);for(let e=0;eo);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Fullscreen\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenOn),s=(0,i.append)(e,a.fullscreenOff);(0,i.setStyle)(s,\"display\",\"none\"),r(e,\"click\",()=>{t.fullscreen=!t.fullscreen}),t.on(\"fullscreen\",t=>{t?((0,i.tooltip)(e,o.get(\"Exit Fullscreen\")),(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(s,\"display\",\"inline-flex\")):((0,i.tooltip)(e,o.get(\"Fullscreen\")),(0,i.setStyle)(n,\"display\",\"inline-flex\"),(0,i.setStyle)(s,\"display\",\"none\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"66eEC\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Web Fullscreen\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.fullscreenWebOn),s=(0,i.append)(e,a.fullscreenWebOff);(0,i.setStyle)(s,\"display\",\"none\"),r(e,\"click\",()=>{t.fullscreenWeb=!t.fullscreenWeb}),t.on(\"fullscreenWeb\",t=>{t?((0,i.tooltip)(e,o.get(\"Exit Web Fullscreen\")),(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(s,\"display\",\"inline-flex\")):((0,i.tooltip)(e,o.get(\"Web Fullscreen\")),(0,i.setStyle)(n,\"display\",\"inline-flex\"),(0,i.setStyle)(s,\"display\",\"none\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],kCFkA:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"PIP Mode\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.pip),r(e,\"click\",()=>{t.pip=!t.pip}),t.on(\"pip\",t=>{(0,i.tooltip)(e,o.get(t?\"Exit PIP Mode\":\"PIP Mode\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iRhgD:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a,i18n:o}=t,n=(0,i.append)(e,a.play),s=(0,i.append)(e,a.pause);function l(){(0,i.setStyle)(n,\"display\",\"flex\"),(0,i.setStyle)(s,\"display\",\"none\")}function c(){(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(s,\"display\",\"flex\")}(0,i.tooltip)(n,o.get(\"Play\")),(0,i.tooltip)(s,o.get(\"Pause\")),r(n,\"click\",()=>{t.play()}),r(s,\"click\",()=>{t.pause()}),t.playing?c():l(),t.on(\"video:playing\",()=>{c()}),t.on(\"video:pause\",()=>{l()})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],aBBSH:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"getPosFromEvent\",()=>o),a.export(r,\"setCurrentTime\",()=>n),a.export(r,\"default\",()=>s);var i=e(\"../utils\");function o(e,t){let{$progress:r}=e.template,{left:a}=(0,i.getRect)(r),o=i.isMobile?t.touches[0].clientX:t.clientX,n=(0,i.clamp)(o-a,0,r.clientWidth),s=n/r.clientWidth*e.duration,l=(0,i.secondToTime)(s),c=(0,i.clamp)(n/r.clientWidth,0,1);return{second:s,time:l,width:n,percentage:c}}function n(e,t){if(e.isRotate){let r=t.touches[0].clientY/e.height,a=r*e.duration;e.emit(\"setBar\",\"played\",r,t),e.seek=a}else{let{second:r,percentage:a}=o(e,t);e.emit(\"setBar\",\"played\",a,t),e.seek=r}}function s(e){return t=>{let{icons:r,option:a,proxy:s}=t;return{...e,html:`
`,mounted:e=>{let l=null,c=!1,u=(0,i.query)(\".art-progress-hover\",e),p=(0,i.query)(\".art-progress-loaded\",e),d=(0,i.query)(\".art-progress-played\",e),f=(0,i.query)(\".art-progress-highlight\",e),h=(0,i.query)(\".art-progress-indicator\",e),m=(0,i.query)(\".art-progress-tip\",e);function g(r,a){let{width:n,time:s}=a||o(t,r);m.innerText=s;let l=m.clientWidth;n<=l/2?(0,i.setStyle)(m,\"left\",0):n>e.clientWidth-l/2?(0,i.setStyle)(m,\"left\",`${e.clientWidth-l}px`):(0,i.setStyle)(m,\"left\",`${n-l/2}px`)}r.indicator?(0,i.append)(h,r.indicator):(0,i.setStyle)(h,\"backgroundColor\",\"var(--art-theme)\"),t.on(\"setBar\",function(r,a,o){let n=\"played\"===r&&o&&i.isMobile;\"loaded\"===r&&(0,i.setStyle)(p,\"width\",`${100*a}%`),\"hover\"===r&&(0,i.setStyle)(u,\"width\",`${100*a}%`),\"played\"===r&&((0,i.setStyle)(d,\"width\",`${100*a}%`),(0,i.setStyle)(h,\"left\",`${100*a}%`)),n&&((0,i.setStyle)(m,\"display\",\"flex\"),g(o,{width:e.clientWidth*a,time:(0,i.secondToTime)(a*t.duration)}),clearTimeout(l),l=setTimeout(()=>{(0,i.setStyle)(m,\"display\",\"none\")},500))}),t.on(\"video:loadedmetadata\",function(){f.innerText=\"\";for(let e=0;e`;(0,i.append)(f,n)}}),t.on(\"video:progress\",()=>{t.emit(\"setBar\",\"loaded\",t.loaded)}),t.constructor.USE_RAF?t.on(\"raf\",()=>{t.emit(\"setBar\",\"played\",t.played)}):t.on(\"video:timeupdate\",()=>{t.emit(\"setBar\",\"played\",t.played)}),t.on(\"video:ended\",()=>{t.emit(\"setBar\",\"played\",1)}),t.emit(\"setBar\",\"loaded\",t.loaded||0),i.isMobile||(s(e,\"click\",e=>{e.target!==h&&n(t,e)}),s(e,\"mousemove\",r=>{let{percentage:a}=o(t,r);t.emit(\"setBar\",\"hover\",a,r),(0,i.setStyle)(m,\"display\",\"flex\"),(0,i.includeFromEvent)(r,f)?function(r){let{width:a}=o(t,r),{text:n}=r.target.dataset;m.innerText=n;let s=m.clientWidth;a<=s/2?(0,i.setStyle)(m,\"left\",0):a>e.clientWidth-s/2?(0,i.setStyle)(m,\"left\",`${e.clientWidth-s}px`):(0,i.setStyle)(m,\"left\",`${a-s/2}px`)}(r):g(r)}),s(e,\"mouseleave\",e=>{(0,i.setStyle)(m,\"display\",\"none\"),t.emit(\"setBar\",\"hover\",0,e)}),s(e,\"mousedown\",e=>{c=0===e.button}),t.on(\"document:mousemove\",e=>{if(c){let{second:r,percentage:a}=o(t,e);t.emit(\"setBar\",\"played\",a,e),t.seek=r}}),t.on(\"document:mouseup\",()=>{c&&(c=!1)}))}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7H0CE\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,style:i.isMobile?{fontSize:\"12px\",padding:\"0 5px\"}:{cursor:\"auto\",padding:\"0 10px\"},mounted:e=>{function r(){let r=`${(0,i.secondToTime)(t.currentTime)} / ${(0,i.secondToTime)(t.duration)}`;r!==e.innerText&&(e.innerText=r)}r();let a=[\"video:loadedmetadata\",\"video:timeupdate\",\"video:progress\"];for(let e=0;eo);var i=e(\"../utils\");function o(e){return t=>({...e,mounted:e=>{let{proxy:r,icons:a}=t,o=(0,i.append)(e,a.volume),n=(0,i.append)(e,a.volumeClose),s=(0,i.append)(e,'
'),l=(0,i.append)(s,'
'),c=(0,i.append)(l,'
'),u=(0,i.append)(l,'
'),p=(0,i.append)(u,'
'),d=(0,i.append)(p,'
'),f=(0,i.append)(u,'
');function h(e){let{top:t,height:r}=(0,i.getRect)(u);return 1-(e.clientY-t)/r}function m(){if(t.muted||0===t.volume)(0,i.setStyle)(o,\"display\",\"none\"),(0,i.setStyle)(n,\"display\",\"flex\"),(0,i.setStyle)(f,\"top\",\"100%\"),(0,i.setStyle)(d,\"top\",\"100%\"),c.innerText=0;else{let e=100*t.volume;(0,i.setStyle)(o,\"display\",\"flex\"),(0,i.setStyle)(n,\"display\",\"none\"),(0,i.setStyle)(f,\"top\",`${100-e}%`),(0,i.setStyle)(d,\"top\",`${100-e}%`),c.innerText=Math.floor(e)}}if(m(),t.on(\"video:volumechange\",m),r(o,\"click\",()=>{t.muted=!0}),r(n,\"click\",()=>{t.muted=!1}),i.isMobile)(0,i.setStyle)(s,\"display\",\"none\");else{let e=!1;r(u,\"mousedown\",r=>{e=0===r.button,t.volume=h(r)}),t.on(\"document:mousemove\",r=>{e&&(t.muted=!1,t.volume=h(r))}),t.on(\"document:mouseup\",()=>{e&&(e=!1)})}}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8BrCu\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Show Setting\"),mounted:e=>{let{proxy:r,icons:a,i18n:o}=t;(0,i.append)(e,a.setting),r(e,\"click\",()=>{t.setting.toggle(),t.setting.updateStyle()}),t.on(\"setting\",t=>{(0,i.tooltip)(e,o.get(t?\"Hide Setting\":\"Show Setting\"))})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2HiWx\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,mounted:e=>{let{option:r,events:{loadImg:a},template:{$progress:o,$video:n}}=t,s=null,l=null,c=!1,u=!1;t.on(\"setBar\",async(t,p,d)=>{let f=\"played\"===t&&d&&i.isMobile;if(\"hover\"===t||f){if(c||(c=!0,l=await a(r.thumbnails.url),u=!0),!u)return;let t=o.clientWidth*p;(0,i.setStyle)(e,\"display\",\"flex\"),t>0&&to.clientWidth-d/2?(0,i.setStyle)(e,\"left\",`${o.clientWidth-d}px`):(0,i.setStyle)(e,\"left\",`${t-d/2}px`)}(t):i.isMobile||(0,i.setStyle)(e,\"display\",\"none\"),f&&(clearTimeout(s),s=setTimeout(()=>{(0,i.setStyle)(e,\"display\",\"none\")},500))}})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],c1GeG:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"Screenshot\"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.screenshot),r(e,\"click\",()=>{t.screenshot()})}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"6GRju\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>({...e,tooltip:t.i18n.get(\"AirPlay\"),mounted:e=>{let{proxy:r,icons:a}=t;(0,i.append)(e,a.airplay),r(e,\"click\",()=>t.airplay())}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7iUum\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"../utils/component\"),n=a.interopDefault(o),s=e(\"./playbackRate\"),l=a.interopDefault(s),c=e(\"./aspectRatio\"),u=a.interopDefault(c),p=e(\"./flip\"),d=a.interopDefault(p),f=e(\"./info\"),h=a.interopDefault(f),m=e(\"./version\"),g=a.interopDefault(m),v=e(\"./close\"),y=a.interopDefault(v);class b extends n.default{constructor(e){super(e),this.name=\"contextmenu\",this.$parent=e.template.$contextmenu,i.isMobile||this.init()}init(){let{option:e,proxy:t,template:{$player:r,$contextmenu:a}}=this.art;e.playbackRate&&this.add((0,l.default)({name:\"playbackRate\",index:10})),e.aspectRatio&&this.add((0,u.default)({name:\"aspectRatio\",index:20})),e.flip&&this.add((0,d.default)({name:\"flip\",index:30})),this.add((0,h.default)({name:\"info\",index:40})),this.add((0,g.default)({name:\"version\",index:50})),this.add((0,y.default)({name:\"close\",index:60}));for(let t=0;t{if(e.preventDefault(),!this.art.constructor.CONTEXTMENU)return;this.show=!0;let t=e.clientX,o=e.clientY,{height:n,width:s,left:l,top:c}=(0,i.getRect)(r),{height:u,width:p}=(0,i.getRect)(a),d=t-l,f=o-c;t+p>l+s&&(d=s-p),o+u>c+n&&(f=n-u),(0,i.setStyles)(a,{top:`${f}px`,left:`${d}px`})}),t(r,\"click\",e=>{(0,i.includeFromEvent)(e,a)||(this.show=!1)}),this.art.on(\"blur\",()=>{this.show=!1})}}r.default=b},{\"../utils\":\"h3rH9\",\"../utils/component\":\"guki8\",\"./playbackRate\":\"f1W36\",\"./aspectRatio\":\"afxZC\",\"./flip\":\"9jCuX\",\"./info\":\"k8wIZ\",\"./version\":\"bb0TU\",\"./close\":\"9zTkI\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],f1W36:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>{let{i18n:r,constructor:{PLAYBACK_RATE:a}}=t,o=a.map(e=>`${1===e?r.get(\"Normal\"):e.toFixed(1)}`).join(\"\");return{...e,html:`${r.get(\"Play Speed\")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.playbackRate=Number(a),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value=\"1\"]',e);r&&(0,i.inverseClass)(r,\"art-current\"),t.on(\"video:ratechange\",()=>{let r=(0,i.queryAll)(\"span\",e).find(e=>Number(e.dataset.value)===t.playbackRate);r&&(0,i.inverseClass)(r,\"art-current\")})}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],afxZC:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>{let{i18n:r,constructor:{ASPECT_RATIO:a}}=t,o=a.map(e=>`${\"default\"===e?r.get(\"Default\"):e}`).join(\"\");return{...e,html:`${r.get(\"Aspect Ratio\")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.aspectRatio=a,e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value=\"default\"]',e);r&&(0,i.inverseClass)(r,\"art-current\"),t.on(\"aspectRatio\",t=>{let r=(0,i.queryAll)(\"span\",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,\"art-current\")})}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9jCuX\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return t=>{let{i18n:r,constructor:{FLIP:a}}=t,o=a.map(e=>`${r.get((0,i.capitalize)(e))}`).join(\"\");return{...e,html:`${r.get(\"Video Flip\")}: ${o}`,click:(e,r)=>{let{value:a}=r.target.dataset;a&&(t.flip=a.toLowerCase(),e.show=!1)},mounted:e=>{let r=(0,i.query)('[data-value=\"normal\"]',e);r&&(0,i.inverseClass)(r,\"art-current\"),t.on(\"flip\",t=>{let r=(0,i.queryAll)(\"span\",e).find(e=>e.dataset.value===t);r&&(0,i.inverseClass)(r,\"art-current\")})}}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],k8wIZ:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return t=>({...e,html:t.i18n.get(\"Video Info\"),click:e=>{t.info.show=!0,e.show=!1}})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],bb0TU:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return{...e,html:'ArtPlayer 5.1.6'}}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9zTkI\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){return t=>({...e,html:t.i18n.get(\"Close\"),click:e=>{e.show=!1}})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],hD2Lg:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./utils\"),o=e(\"./utils/component\"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name=\"info\",i.isMobile||this.init()}init(){let{proxy:e,constructor:t,template:{$infoPanel:r,$infoClose:a,$video:o}}=this.art;e(a,\"click\",()=>{this.show=!1});let n=null,s=(0,i.queryAll)(\"[data-video]\",r)||[];this.art.on(\"destroy\",()=>clearTimeout(n)),function e(){for(let e=0;enull,this.init(e.option.subtitle);let t=!1;e.on(\"video:timeupdate\",()=>{if(!this.url)return;let e=this.art.template.$video.webkitDisplayingFullscreen;\"boolean\"==typeof e&&e!==t&&(t=e,this.createTrack(e?\"subtitles\":\"metadata\",this.url))})}get url(){return this.art.template.$track.src}set url(e){this.switch(e)}get textTrack(){return this.art.template.$video.textTracks[0]}get activeCue(){return this.textTrack.activeCues[0]}style(e,t){let{$subtitle:r}=this.art.template;return\"object\"==typeof e?(0,i.setStyles)(r,e):(0,i.setStyle)(r,e,t)}update(){let{$subtitle:e}=this.art.template;e.innerHTML=\"\",this.activeCue&&(this.art.option.subtitle.escape?e.innerHTML=this.activeCue.text.split(/\\r?\\n/).map(e=>`
${(0,i.escape)(e)}
`).join(\"\"):e.innerHTML=this.activeCue.text,this.art.emit(\"subtitleUpdate\",this.activeCue.text))}async switch(e,t={}){let{i18n:r,notice:a,option:i}=this.art,o={...i.subtitle,...t,url:e},n=await this.init(o);return t.name&&(a.show=`${r.get(\"Switch Subtitle\")}: ${t.name}`),n}createTrack(e,t){let{template:r,proxy:a,option:o}=this.art,{$video:n,$track:s}=r,l=(0,i.createElement)(\"track\");l.default=!0,l.kind=e,l.src=t,l.label=o.subtitle.name||\"Artplayer\",l.track.mode=\"hidden\",this.eventDestroy(),(0,i.remove)(s),(0,i.append)(n,l),r.$track=l,this.eventDestroy=a(this.textTrack,\"cuechange\",()=>this.update())}async init(e){let{notice:t,template:{$subtitle:r}}=this.art;if((0,l.default)(e,u.default.subtitle),e.url)return this.style(e.style),fetch(e.url).then(e=>e.arrayBuffer()).then(t=>{let r=new TextDecoder(e.encoding).decode(t);switch(this.art.emit(\"subtitleLoad\",e.url),e.type||(0,i.getExt)(e.url)){case\"srt\":{let t=(0,i.srtToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case\"ass\":{let t=(0,i.assToVtt)(r),a=e.onVttLoad(t);return(0,i.vttToBlob)(a)}case\"vtt\":{let t=e.onVttLoad(r);return(0,i.vttToBlob)(t)}default:return e.url}}).then(e=>(r.innerHTML=\"\",this.url===e||(URL.revokeObjectURL(this.url),this.createTrack(\"metadata\",e),this.art.emit(\"subtitleSwitch\",e)),e)).catch(e=>{throw r.innerHTML=\"\",t.show=e,e})}}r.default=p},{\"./utils\":\"h3rH9\",\"./utils/component\":\"guki8\",\"option-validator\":\"9I0i9\",\"./scheme\":\"AdvwB\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"1Epl5\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils/error\"),o=e(\"./clickInit\"),n=a.interopDefault(o),s=e(\"./hoverInit\"),l=a.interopDefault(s),c=e(\"./moveInit\"),u=a.interopDefault(c),p=e(\"./resizeInit\"),d=a.interopDefault(p),f=e(\"./gestureInit\"),h=a.interopDefault(f),m=e(\"./viewInit\"),g=a.interopDefault(m),v=e(\"./documentInit\"),y=a.interopDefault(v),b=e(\"./updateInit\"),x=a.interopDefault(b);r.default=class{constructor(e){this.destroyEvents=[],this.proxy=this.proxy.bind(this),this.hover=this.hover.bind(this),this.loadImg=this.loadImg.bind(this),(0,n.default)(e,this),(0,l.default)(e,this),(0,u.default)(e,this),(0,d.default)(e,this),(0,h.default)(e,this),(0,g.default)(e,this),(0,y.default)(e,this),(0,x.default)(e,this)}proxy(e,t,r,a={}){if(Array.isArray(t))return t.map(t=>this.proxy(e,t,r,a));e.addEventListener(t,r,a);let i=()=>e.removeEventListener(t,r,a);return this.destroyEvents.push(i),i}hover(e,t,r){t&&this.proxy(e,\"mouseenter\",t),r&&this.proxy(e,\"mouseleave\",r)}loadImg(e){return new Promise((t,r)=>{let a;if(e instanceof HTMLImageElement)a=e;else{if(\"string\"!=typeof e)return r(new i.ArtPlayerError(\"Unable to get Image\"));(a=new Image).src=e}if(a.complete)return t(a);this.proxy(a,\"load\",()=>t(a)),this.proxy(a,\"error\",()=>r(new i.ArtPlayerError(`Failed to load Image: ${a.src}`)))})}remove(e){let t=this.destroyEvents.indexOf(e);t>-1&&(e(),this.destroyEvents.splice(t,1))}destroy(){for(let e=0;eo);var i=e(\"../utils\");function o(e,t){let{constructor:r,template:{$player:a,$video:o}}=e;t.proxy(document,[\"click\",\"contextmenu\"],t=>{(0,i.includeFromEvent)(t,a)?(e.isInput=\"INPUT\"===t.target.tagName,e.isFocus=!0,e.emit(\"focus\",t)):(e.isInput=!1,e.isFocus=!1,e.emit(\"blur\",t))});let n=[];t.proxy(o,\"click\",t=>{let a=Date.now();n.push(a);let{MOBILE_CLICK_PLAY:o,DBCLICK_TIME:s,MOBILE_DBCLICK_PLAY:l,DBCLICK_FULLSCREEN:c}=r,u=n.filter(e=>a-e<=s);switch(u.length){case 1:e.emit(\"click\",t),i.isMobile?!e.isLock&&o&&e.toggle():e.toggle(),n=u;break;case 2:e.emit(\"dblclick\",t),i.isMobile?!e.isLock&&l&&e.toggle():c&&(e.fullscreen=!e.fullscreen),n=[];break;default:n=[]}})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],kpTJf:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e,t){let{$player:r}=e.template;t.hover(r,t=>{(0,i.addClass)(r,\"art-hover\"),e.emit(\"hover\",!0,t)},t=>{(0,i.removeClass)(r,\"art-hover\"),e.emit(\"hover\",!1,t)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],ef6qz:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t){let{$player:r}=e.template;t.proxy(r,\"mousemove\",t=>{e.emit(\"mousemove\",t)})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"9TXOX\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e,t){let{option:r,constructor:a}=e;e.on(\"resize\",()=>{let{aspectRatio:t,notice:a}=e;\"standard\"===e.state&&r.autoSize&&e.autoSize(),e.aspectRatio=t,a.show=\"\"});let o=(0,i.debounce)(()=>e.emit(\"resize\"),a.RESIZE_TIME);t.proxy(window,[\"orientationchange\",\"resize\"],()=>o()),screen&&screen.orientation&&screen.orientation.onchange&&t.proxy(screen.orientation,\"change\",()=>o())}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],dePMU:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>n);var i=e(\"../utils\"),o=e(\"../control/progress\");function n(e,t){if(i.isMobile&&!e.option.isLive){let{$video:r,$progress:a}=e.template,n=null,s=!1,l=0,c=0,u=0,p=t=>{if(1===t.touches.length&&!e.isLock){n===a&&(0,o.setCurrentTime)(e,t),s=!0;let{pageX:r,pageY:i}=t.touches[0];l=r,c=i,u=e.currentTime}},d=t=>{if(1===t.touches.length&&s&&e.duration){let{pageX:a,pageY:o}=t.touches[0],s=function(e,t,r,a){var i=t-a,o=r-e,n=0;if(2>Math.abs(o)&&2>Math.abs(i))return n;var s=180*Math.atan2(i,o)/Math.PI;return s>=-45&&s<45?n=4:s>=45&&s<135?n=1:s>=-135&&s<-45?n=2:(s>=135&&s<=180||s>=-180&&s<-135)&&(n=3),n}(l,c,a,o),p=[3,4].includes(s),d=[1,2].includes(s);if(p&&!e.isRotate||d&&e.isRotate){let s=(0,i.clamp)((a-l)/e.width,-1,1),p=(0,i.clamp)((o-c)/e.height,-1,1),d=e.isRotate?p:s,f=n===r?e.constructor.TOUCH_MOVE_RATIO:1,h=(0,i.clamp)(u+e.duration*d*f,0,e.duration);e.seek=h,e.emit(\"setBar\",\"played\",(0,i.clamp)(h/e.duration,0,1),t),e.notice.show=`${(0,i.secondToTime)(h)} / ${(0,i.secondToTime)(e.duration)}`}}};t.proxy(a,\"touchstart\",e=>{n=a,p(e)}),t.proxy(r,\"touchstart\",e=>{n=r,p(e)}),t.proxy(r,\"touchmove\",d),t.proxy(a,\"touchmove\",d),t.proxy(document,\"touchend\",()=>{s&&(l=0,c=0,u=0,s=!1,n=null)})}}},{\"../utils\":\"h3rH9\",\"../control/progress\":\"aBBSH\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],hDyWF:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e,t){let{option:r,constructor:a,template:{$container:o}}=e,n=(0,i.throttle)(()=>{e.emit(\"view\",(0,i.isInViewport)(o,a.SCROLL_GAP))},a.SCROLL_TIME);t.proxy(window,\"scroll\",()=>n()),e.on(\"view\",t=>{r.autoMini&&(e.mini=!t)})}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"7RjDP\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e,t){t.proxy(document,\"mousemove\",t=>{e.emit(\"document:mousemove\",t)}),t.proxy(document,\"mouseup\",t=>{e.emit(\"document:mouseup\",t)})}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"8SmBT\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){if(e.constructor.USE_RAF){let t=null;!function r(){e.playing&&e.emit(\"raf\"),e.isDestroy||(t=requestAnimationFrame(r))}(),e.on(\"destroy\",()=>{cancelAnimationFrame(t)})}}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],eTow4:[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r);var a=e(\"./utils\");r.default=class{constructor(e){this.art=e,this.keys={},e.option.hotkey&&!a.isMobile&&this.init()}init(){let{proxy:e,constructor:t}=this.art;this.add(27,()=>{this.art.fullscreenWeb&&(this.art.fullscreenWeb=!1)}),this.add(32,()=>{this.art.toggle()}),this.add(37,()=>{this.art.backward=t.SEEK_STEP}),this.add(38,()=>{this.art.volume+=t.VOLUME_STEP}),this.add(39,()=>{this.art.forward=t.SEEK_STEP}),this.add(40,()=>{this.art.volume-=t.VOLUME_STEP}),e(window,\"keydown\",e=>{if(this.art.isFocus){let t=document.activeElement.tagName.toUpperCase(),r=document.activeElement.getAttribute(\"contenteditable\");if(\"INPUT\"!==t&&\"TEXTAREA\"!==t&&\"\"!==r&&\"true\"!==r&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey){let t=this.keys[e.keyCode];if(t){e.preventDefault();for(let r=0;r{i.innerText=\"\",(0,a.removeClass)(r,\"art-notice-show\")},t.NOTICE_TIME)):(0,a.removeClass)(r,\"art-notice-show\")}}},{\"./utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2etr0\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./utils\"),o=e(\"./utils/component\"),n=a.interopDefault(o);class s extends n.default{constructor(e){super(e),this.name=\"mask\";let{template:t,icons:r,events:a}=e,o=(0,i.append)(t.$state,r.state),n=(0,i.append)(t.$state,r.error);(0,i.setStyle)(n,\"display\",\"none\"),e.on(\"destroy\",()=>{(0,i.setStyle)(o,\"display\",\"none\"),(0,i.setStyle)(n,\"display\",null)}),a.proxy(t.$state,\"click\",()=>e.play())}}r.default=s},{\"./utils\":\"h3rH9\",\"./utils/component\":\"guki8\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"6dYSr\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"bundle-text:./loading.svg\"),n=a.interopDefault(o),s=e(\"bundle-text:./state.svg\"),l=a.interopDefault(s),c=e(\"bundle-text:./check.svg\"),u=a.interopDefault(c),p=e(\"bundle-text:./play.svg\"),d=a.interopDefault(p),f=e(\"bundle-text:./pause.svg\"),h=a.interopDefault(f),m=e(\"bundle-text:./volume.svg\"),g=a.interopDefault(m),v=e(\"bundle-text:./volume-close.svg\"),y=a.interopDefault(v),b=e(\"bundle-text:./screenshot.svg\"),x=a.interopDefault(b),w=e(\"bundle-text:./setting.svg\"),j=a.interopDefault(w),k=e(\"bundle-text:./arrow-left.svg\"),S=a.interopDefault(k),I=e(\"bundle-text:./arrow-right.svg\"),T=a.interopDefault(I),O=e(\"bundle-text:./playback-rate.svg\"),E=a.interopDefault(O),M=e(\"bundle-text:./aspect-ratio.svg\"),$=a.interopDefault(M),F=e(\"bundle-text:./config.svg\"),C=a.interopDefault(F),H=e(\"bundle-text:./pip.svg\"),D=a.interopDefault(H),B=e(\"bundle-text:./lock.svg\"),z=a.interopDefault(B),R=e(\"bundle-text:./unlock.svg\"),A=a.interopDefault(R),L=e(\"bundle-text:./fullscreen-off.svg\"),P=a.interopDefault(L),N=e(\"bundle-text:./fullscreen-on.svg\"),Z=a.interopDefault(N),_=e(\"bundle-text:./fullscreen-web-off.svg\"),q=a.interopDefault(_),V=e(\"bundle-text:./fullscreen-web-on.svg\"),W=a.interopDefault(V),U=e(\"bundle-text:./switch-on.svg\"),Y=a.interopDefault(U),K=e(\"bundle-text:./switch-off.svg\"),X=a.interopDefault(K),G=e(\"bundle-text:./flip.svg\"),J=a.interopDefault(G),Q=e(\"bundle-text:./error.svg\"),ee=a.interopDefault(Q),et=e(\"bundle-text:./close.svg\"),er=a.interopDefault(et),ea=e(\"bundle-text:./airplay.svg\"),ei=a.interopDefault(ea);r.default=class{constructor(e){let t={loading:n.default,state:l.default,play:d.default,pause:h.default,check:u.default,volume:g.default,volumeClose:y.default,screenshot:x.default,setting:j.default,pip:D.default,arrowLeft:S.default,arrowRight:T.default,playbackRate:E.default,aspectRatio:$.default,config:C.default,lock:z.default,flip:J.default,unlock:A.default,fullscreenOff:P.default,fullscreenOn:Z.default,fullscreenWebOff:q.default,fullscreenWebOn:W.default,switchOn:Y.default,switchOff:X.default,error:ee.default,close:er.default,airplay:ei.default,...e.option.icons};for(let e in t)(0,i.def)(this,e,{get:()=>(0,i.getIcon)(e,t[e])})}}},{\"../utils\":\"h3rH9\",\"bundle-text:./loading.svg\":\"fY5Gt\",\"bundle-text:./state.svg\":\"iNfLt\",\"bundle-text:./check.svg\":\"jtE9u\",\"bundle-text:./play.svg\":\"elgfY\",\"bundle-text:./pause.svg\":\"eKokJ\",\"bundle-text:./volume.svg\":\"hNB4y\",\"bundle-text:./volume-close.svg\":\"i9vta\",\"bundle-text:./screenshot.svg\":\"kB3Mf\",\"bundle-text:./setting.svg\":\"3MONs\",\"bundle-text:./arrow-left.svg\":\"iMCpk\",\"bundle-text:./arrow-right.svg\":\"3oe4L\",\"bundle-text:./playback-rate.svg\":\"liE22\",\"bundle-text:./aspect-ratio.svg\":\"8HqYc\",\"bundle-text:./config.svg\":\"hYAAH\",\"bundle-text:./pip.svg\":\"jmNrH\",\"bundle-text:./lock.svg\":\"cIqko\",\"bundle-text:./unlock.svg\":\"65zy4\",\"bundle-text:./fullscreen-off.svg\":\"jaJRT\",\"bundle-text:./fullscreen-on.svg\":\"cRY1X\",\"bundle-text:./fullscreen-web-off.svg\":\"3aVGL\",\"bundle-text:./fullscreen-web-on.svg\":\"4DiVn\",\"bundle-text:./switch-on.svg\":\"kwdKE\",\"bundle-text:./switch-off.svg\":\"bWfXZ\",\"bundle-text:./flip.svg\":\"h3zZ9\",\"bundle-text:./error.svg\":\"7Oyth\",\"bundle-text:./close.svg\":\"U5Jcy\",\"bundle-text:./airplay.svg\":\"jK5Fx\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fY5Gt:[function(e,t,r){t.exports=''},{}],iNfLt:[function(e,t,r){t.exports=''},{}],jtE9u:[function(e,t,r){t.exports=''},{}],elgfY:[function(e,t,r){t.exports=''},{}],eKokJ:[function(e,t,r){t.exports=''},{}],hNB4y:[function(e,t,r){t.exports=''},{}],i9vta:[function(e,t,r){t.exports=''},{}],kB3Mf:[function(e,t,r){t.exports=''},{}],\"3MONs\":[function(e,t,r){t.exports=''},{}],iMCpk:[function(e,t,r){t.exports=''},{}],\"3oe4L\":[function(e,t,r){t.exports=''},{}],liE22:[function(e,t,r){t.exports=''},{}],\"8HqYc\":[function(e,t,r){t.exports=''},{}],hYAAH:[function(e,t,r){t.exports=''},{}],jmNrH:[function(e,t,r){t.exports=''},{}],cIqko:[function(e,t,r){t.exports=''},{}],\"65zy4\":[function(e,t,r){t.exports=''},{}],jaJRT:[function(e,t,r){t.exports=''},{}],cRY1X:[function(e,t,r){t.exports=''},{}],\"3aVGL\":[function(e,t,r){t.exports=''},{}],\"4DiVn\":[function(e,t,r){t.exports=''},{}],kwdKE:[function(e,t,r){t.exports=''},{}],bWfXZ:[function(e,t,r){t.exports=''},{}],h3zZ9:[function(e,t,r){t.exports=''},{}],\"7Oyth\":[function(e,t,r){t.exports=''},{}],U5Jcy:[function(e,t,r){t.exports=''},{}],jK5Fx:[function(e,t,r){t.exports=''},{}],bRHiA:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"./flip\"),o=a.interopDefault(i),n=e(\"./aspectRatio\"),s=a.interopDefault(n),l=e(\"./playbackRate\"),c=a.interopDefault(l),u=e(\"./subtitleOffset\"),p=a.interopDefault(u),d=e(\"../utils/component\"),f=a.interopDefault(d),h=e(\"../utils/error\"),m=e(\"../utils\");class g extends f.default{constructor(e){super(e);let{option:t,controls:r,template:{$setting:a}}=e;this.name=\"setting\",this.$parent=a,this.option=[],this.events=[],this.cache=new Map,t.setting&&(this.init(),e.on(\"blur\",()=>{this.show&&(this.show=!1,this.render(this.option))}),e.on(\"focus\",e=>{let t=(0,m.includeFromEvent)(e,r.setting),a=(0,m.includeFromEvent)(e,this.$parent);!this.show||t||a||(this.show=!1,this.render(this.option))}))}static makeRecursion(e,t,r){for(let a=0;a'),n=(0,m.createElement)(\"div\");(0,m.addClass)(n,\"art-setting-item-left-icon\"),(0,m.append)(n,t.arrowLeft),(0,m.append)(o,n),(0,m.append)(o,e.$parentItem.html);let s=r(i,\"click\",()=>this.render(e.$parentList));return this.events.push(s),i}creatItem(e,t){let{icons:r,proxy:a,constructor:i}=this.art,o=(0,m.createElement)(\"div\");(0,m.addClass)(o,\"art-setting-item\"),(0,m.setStyle)(o,\"height\",`${i.SETTING_ITEM_HEIGHT}px`),(0,m.isStringOrNumber)(t.name)&&(o.dataset.name=t.name),(0,m.isStringOrNumber)(t.value)&&(o.dataset.value=t.value);let n=(0,m.append)(o,'
'),s=(0,m.append)(o,'
'),l=(0,m.createElement)(\"div\");switch((0,m.addClass)(l,\"art-setting-item-left-icon\"),e){case\"switch\":case\"range\":(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config);break;case\"selector\":t.selector&&t.selector.length?(0,m.append)(l,(0,m.isStringOrNumber)(t.icon)||t.icon instanceof Element?t.icon:r.config):(0,m.append)(l,r.check)}(0,m.append)(n,l),t.$icon=l,(0,m.def)(t,\"icon\",{configurable:!0,get:()=>l.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(l.innerHTML=e)}});let c=(0,m.createElement)(\"div\");(0,m.addClass)(c,\"art-setting-item-left-text\"),(0,m.append)(c,t.html||\"\"),(0,m.append)(n,c),t.$html=c,(0,m.def)(t,\"html\",{configurable:!0,get:()=>c.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(c.innerHTML=e)}});let u=(0,m.createElement)(\"div\");switch((0,m.addClass)(u,\"art-setting-item-right-tooltip\"),(0,m.append)(u,t.tooltip||\"\"),(0,m.append)(s,u),t.$tooltip=u,(0,m.def)(t,\"tooltip\",{configurable:!0,get:()=>u.innerHTML,set(e){(0,m.isStringOrNumber)(e)&&(u.innerHTML=e)}}),e){case\"switch\":{let e=(0,m.createElement)(\"div\");(0,m.addClass)(e,\"art-setting-item-right-icon\");let a=(0,m.append)(e,r.switchOn),i=(0,m.append)(e,r.switchOff);(0,m.setStyle)(t.switch?i:a,\"display\",\"none\"),(0,m.append)(s,e),t.$switch=t.switch,(0,m.def)(t,\"switch\",{configurable:!0,get:()=>t.$switch,set(e){t.$switch=e,e?((0,m.setStyle)(i,\"display\",\"none\"),(0,m.setStyle)(a,\"display\",null)):((0,m.setStyle)(i,\"display\",null),(0,m.setStyle)(a,\"display\",\"none\"))}});break}case\"range\":{let e=(0,m.createElement)(\"div\");(0,m.addClass)(e,\"art-setting-item-right-icon\");let r=(0,m.append)(e,'');r.value=t.range[0]||0,r.min=t.range[1]||0,r.max=t.range[2]||10,r.step=t.range[3]||1,(0,m.addClass)(r,\"art-setting-range\"),(0,m.append)(s,e),t.$range=r,(0,m.def)(t,\"range\",{configurable:!0,get:()=>r.valueAsNumber,set(e){r.value=Number(e)}})}break;case\"selector\":if(t.selector&&t.selector.length){let e=(0,m.createElement)(\"div\");(0,m.addClass)(e,\"art-setting-item-right-icon\"),(0,m.append)(e,r.arrowRight),(0,m.append)(s,e)}}switch(e){case\"switch\":if(t.onSwitch){let e=a(o,\"click\",async e=>{t.switch=await t.onSwitch.call(this.art,t,o,e)});this.events.push(e)}break;case\"range\":if(t.$range){if(t.onRange){let e=a(t.$range,\"change\",async e=>{t.tooltip=await t.onRange.call(this.art,t,o,e)});this.events.push(e)}if(t.onChange){let e=a(t.$range,\"input\",async e=>{t.tooltip=await t.onChange.call(this.art,t,o,e)});this.events.push(e)}}break;case\"selector\":{let e=a(o,\"click\",async e=>{if(t.selector&&t.selector.length)this.render(t.selector,t.width);else{(0,m.inverseClass)(o,\"art-current\");for(let e=0;ec?((0,m.setStyle)(i,\"left\",null),(0,m.setStyle)(i,\"right\",null)):((0,m.setStyle)(i,\"left\",`${u}px`),(0,m.setStyle)(i,\"right\",\"auto\"))}}render(e,t){let{constructor:r}=this.art;if(this.cache.has(e)){let t=this.cache.get(e);(0,m.inverseClass)(t,\"art-current\"),(0,m.setStyle)(this.$parent,\"width\",`${t.dataset.width}px`),(0,m.setStyle)(this.$parent,\"height\",`${t.dataset.height}px`),this.updateStyle(Number(t.dataset.width))}else{let a=(0,m.createElement)(\"div\");(0,m.addClass)(a,\"art-setting-panel\"),a.dataset.width=t||r.SETTING_WIDTH,a.dataset.height=e.length*r.SETTING_ITEM_HEIGHT,e[0]&&e[0].$parentItem&&((0,m.append)(a,this.creatHeader(e[0])),a.dataset.height=Number(a.dataset.height)+r.SETTING_ITEM_HEIGHT);for(let t=0;to);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,FLIP:o}}=e;function n(e,r,a){r&&(r.innerText=t.get((0,i.capitalize)(a)));let o=(0,i.queryAll)(\".art-setting-item\",e).find(e=>e.dataset.value===a);o&&(0,i.inverseClass)(o,\"art-current\")}return{width:a,name:\"flip\",html:t.get(\"Video Flip\"),tooltip:t.get((0,i.capitalize)(e.flip)),icon:r.flip,selector:o.map(r=>({value:r,name:`aspect-ratio-${r}`,default:r===e.flip,html:t.get((0,i.capitalize)(r))})),onSelect:t=>(e.flip=t.value,t.html),mounted:(t,r)=>{n(t,r.$tooltip,e.flip),e.on(\"flip\",()=>{n(t,r.$tooltip,e.flip)})}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5lAsp\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,ASPECT_RATIO:o}}=e;function n(e){return\"default\"===e?t.get(\"Default\"):e}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(\".art-setting-item\",e).find(e=>e.dataset.value===r);a&&(0,i.inverseClass)(a,\"art-current\")}return{width:a,name:\"aspect-ratio\",html:t.get(\"Aspect Ratio\"),icon:r.aspectRatio,tooltip:n(e.aspectRatio),selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.aspectRatio,html:n(t)})),onSelect:t=>(e.aspectRatio=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.aspectRatio),e.on(\"aspectRatio\",()=>{s(t,r.$tooltip,e.aspectRatio)})}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],e6hsR:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,constructor:{SETTING_ITEM_WIDTH:a,PLAYBACK_RATE:o}}=e;function n(e){return 1===e?t.get(\"Normal\"):e.toFixed(1)}function s(e,t,r){t&&(t.innerText=n(r));let a=(0,i.queryAll)(\".art-setting-item\",e).find(e=>Number(e.dataset.value)===r);a&&(0,i.inverseClass)(a,\"art-current\")}return{width:a,name:\"playback-rate\",html:t.get(\"Play Speed\"),tooltip:n(e.playbackRate),icon:r.playbackRate,selector:o.map(t=>({value:t,name:`aspect-ratio-${t}`,default:t===e.playbackRate,html:n(t)})),onSelect:t=>(e.playbackRate=t.value,t.html),mounted:(t,r)=>{s(t,r.$tooltip,e.playbackRate),e.on(\"video:ratechange\",()=>{s(t,r.$tooltip,e.playbackRate)})}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],fFNEr:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");function i(e){let{i18n:t,icons:r,constructor:a}=e;return{width:a.SETTING_ITEM_WIDTH,name:\"subtitle-offset\",html:t.get(\"Subtitle Offset\"),icon:r.subtitle,tooltip:\"0s\",range:[0,-5,5,.1],onChange:t=>(e.subtitleOffset=t.range,t.range+\"s\")}}a.defineInteropFlag(r),a.export(r,\"default\",()=>i)},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],f2Thp:[function(e,t,r){e(\"@parcel/transformer-js/src/esmodule-helpers.js\").defineInteropFlag(r),r.default=class{constructor(){this.name=\"artplayer_settings\",this.settings={}}get(e){try{let t=JSON.parse(window.localStorage.getItem(this.name))||{};return e?t[e]:t}catch(t){return e?this.settings[e]:this.settings}}set(e,t){try{let r=Object.assign({},this.get(),{[e]:t});window.localStorage.setItem(this.name,JSON.stringify(r))}catch(r){this.settings[e]=t}}del(e){try{let t=this.get();delete t[e],window.localStorage.setItem(this.name,JSON.stringify(t))}catch(t){delete this.settings[e]}}clear(){try{window.localStorage.removeItem(this.name)}catch(e){this.settings={}}}}},{\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"96ThS\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r);var i=e(\"../utils\"),o=e(\"./miniProgressBar\"),n=a.interopDefault(o),s=e(\"./autoOrientation\"),l=a.interopDefault(s),c=e(\"./autoPlayback\"),u=a.interopDefault(c),p=e(\"./fastForward\"),d=a.interopDefault(p),f=e(\"./lock\"),h=a.interopDefault(f);r.default=class{constructor(e){this.art=e,this.id=0;let{option:t}=e;t.miniProgressBar&&!t.isLive&&this.add(n.default),t.lock&&i.isMobile&&this.add(h.default),t.autoPlayback&&!t.isLive&&this.add(u.default),t.autoOrientation&&i.isMobile&&this.add(l.default),t.fastForward&&i.isMobile&&!t.isLive&&this.add(d.default);for(let e=0;ethis.next(e,t)):this.next(e,t)}next(e,t){let r=t&&t.name||e.name||`plugin${this.id}`;return(0,i.errorHandle)(!(0,i.has)(this,r),`Cannot add a plugin that already has the same name: ${r}`),(0,i.def)(this,r,{value:t}),this}}},{\"../utils\":\"h3rH9\",\"./miniProgressBar\":\"iBx4M\",\"./autoOrientation\":\"2O9qO\",\"./autoPlayback\":\"iiOc1\",\"./fastForward\":\"d9NUE\",\"./lock\":\"5dnKh\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iBx4M:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){return e.on(\"control\",t=>{t?(0,i.removeClass)(e.template.$player,\"art-mini-progress-bar\"):(0,i.addClass)(e.template.$player,\"art-mini-progress-bar\")}),{name:\"mini-progress-bar\"}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"2O9qO\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{constructor:t,template:{$player:r,$video:a}}=e;return e.on(\"fullscreenWeb\",o=>{if(o){let{videoWidth:o,videoHeight:n}=a,{clientWidth:s,clientHeight:l}=document.documentElement;(o>n&&sl)&&setTimeout(()=>{(0,i.setStyle)(r,\"width\",`${l}px`),(0,i.setStyle)(r,\"height\",`${s}px`),(0,i.setStyle)(r,\"transform-origin\",\"0 0\"),(0,i.setStyle)(r,\"transform\",`rotate(90deg) translate(0, -${s}px)`),(0,i.addClass)(r,\"art-auto-orientation\"),e.isRotate=!0,e.emit(\"resize\")},t.AUTO_ORIENTATION_TIME)}else(0,i.hasClass)(r,\"art-auto-orientation\")&&((0,i.removeClass)(r,\"art-auto-orientation\"),e.isRotate=!1,e.emit(\"resize\"))}),e.on(\"fullscreen\",async e=>{if(!screen?.orientation?.lock)return;let t=screen.orientation.type;if(e){let{videoWidth:e,videoHeight:o}=a,{clientWidth:n,clientHeight:s}=document.documentElement;if(e>o&&ns){let e=t.startsWith(\"portrait\")?\"landscape\":\"portrait\";await screen.orientation.lock(e),(0,i.addClass)(r,\"art-auto-orientation-fullscreen\")}}else(0,i.hasClass)(r,\"art-auto-orientation-fullscreen\")&&(await screen.orientation.lock(t),(0,i.removeClass)(r,\"art-auto-orientation-fullscreen\"))}),{name:\"autoOrientation\",get state(){return(0,i.hasClass)(r,\"art-auto-orientation\")}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],iiOc1:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{i18n:t,icons:r,storage:a,constructor:o,proxy:n,template:{$poster:s}}=e,l=e.layers.add({name:\"auto-playback\",html:`
`}),c=(0,i.query)(\".art-auto-playback-last\",l),u=(0,i.query)(\".art-auto-playback-jump\",l),p=(0,i.query)(\".art-auto-playback-close\",l);return e.on(\"video:timeupdate\",()=>{if(e.playing){let t=a.get(\"times\")||{},r=Object.keys(t);r.length>o.AUTO_PLAYBACK_MAX&&delete t[r[0]],t[e.option.id||e.option.url]=e.currentTime,a.set(\"times\",t)}}),e.on(\"ready\",()=>{let d=(a.get(\"times\")||{})[e.option.id||e.option.url];d&&d>=o.AUTO_PLAYBACK_MIN&&((0,i.append)(p,r.close),(0,i.setStyle)(l,\"display\",\"flex\"),c.innerText=`${t.get(\"Last Seen\")} ${(0,i.secondToTime)(d)}`,u.innerText=t.get(\"Jump Play\"),n(p,\"click\",()=>{(0,i.setStyle)(l,\"display\",\"none\")}),n(u,\"click\",()=>{e.seek=d,e.play(),(0,i.setStyle)(s,\"display\",\"none\"),(0,i.setStyle)(l,\"display\",\"none\")}),e.once(\"video:timeupdate\",()=>{setTimeout(()=>{(0,i.setStyle)(l,\"display\",\"none\")},o.AUTO_PLAYBACK_TIMEOUT)}))}),{name:\"auto-playback\",get times(){return a.get(\"times\")||{}},clear:()=>a.del(\"times\"),delete(e){let t=a.get(\"times\")||{};return delete t[e],a.set(\"times\",t),t}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],d9NUE:[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{constructor:t,proxy:r,template:{$player:a,$video:o}}=e,n=null,s=!1,l=1,c=()=>{clearTimeout(n),s&&(s=!1,e.playbackRate=l,(0,i.removeClass)(a,\"art-fast-forward\"))};return r(o,\"touchstart\",r=>{1===r.touches.length&&e.playing&&!e.isLock&&(n=setTimeout(()=>{s=!0,l=e.playbackRate,e.playbackRate=t.FAST_FORWARD_VALUE,(0,i.addClass)(a,\"art-fast-forward\")},t.FAST_FORWARD_TIME))}),r(document,\"touchmove\",c),r(document,\"touchend\",c),{name:\"fastForward\",get state(){return(0,i.hasClass)(a,\"art-fast-forward\")}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}],\"5dnKh\":[function(e,t,r){var a=e(\"@parcel/transformer-js/src/esmodule-helpers.js\");a.defineInteropFlag(r),a.export(r,\"default\",()=>o);var i=e(\"../utils\");function o(e){let{layers:t,icons:r,template:{$player:a}}=e;function o(){return(0,i.hasClass)(a,\"art-lock\")}function n(){(0,i.addClass)(a,\"art-lock\"),e.isLock=!0,e.emit(\"lock\",!0)}function s(){(0,i.removeClass)(a,\"art-lock\"),e.isLock=!1,e.emit(\"lock\",!1)}return t.add({name:\"lock\",mounted(t){let a=(0,i.append)(t,r.lock),o=(0,i.append)(t,r.unlock);(0,i.setStyle)(a,\"display\",\"none\"),e.on(\"lock\",e=>{e?((0,i.setStyle)(a,\"display\",\"inline-flex\"),(0,i.setStyle)(o,\"display\",\"none\")):((0,i.setStyle)(a,\"display\",\"none\"),(0,i.setStyle)(o,\"display\",\"inline-flex\"))})},click(){o()?s():n()}}),{name:\"lock\",get state(){return o()},set state(value){value?n():s()}}}},{\"../utils\":\"h3rH9\",\"@parcel/transformer-js/src/esmodule-helpers.js\":\"guZOB\"}]},[\"abjMI\"],\"abjMI\",\"parcelRequireb749\");","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","module.exports = {\n \"100\": \"Continue\",\n \"101\": \"Switching Protocols\",\n \"102\": \"Processing\",\n \"200\": \"OK\",\n \"201\": \"Created\",\n \"202\": \"Accepted\",\n \"203\": \"Non-Authoritative Information\",\n \"204\": \"No Content\",\n \"205\": \"Reset Content\",\n \"206\": \"Partial Content\",\n \"207\": \"Multi-Status\",\n \"208\": \"Already Reported\",\n \"226\": \"IM Used\",\n \"300\": \"Multiple Choices\",\n \"301\": \"Moved Permanently\",\n \"302\": \"Found\",\n \"303\": \"See Other\",\n \"304\": \"Not Modified\",\n \"305\": \"Use Proxy\",\n \"307\": \"Temporary Redirect\",\n \"308\": \"Permanent Redirect\",\n \"400\": \"Bad Request\",\n \"401\": \"Unauthorized\",\n \"402\": \"Payment Required\",\n \"403\": \"Forbidden\",\n \"404\": \"Not Found\",\n \"405\": \"Method Not Allowed\",\n \"406\": \"Not Acceptable\",\n \"407\": \"Proxy Authentication Required\",\n \"408\": \"Request Timeout\",\n \"409\": \"Conflict\",\n \"410\": \"Gone\",\n \"411\": \"Length Required\",\n \"412\": \"Precondition Failed\",\n \"413\": \"Payload Too Large\",\n \"414\": \"URI Too Long\",\n \"415\": \"Unsupported Media Type\",\n \"416\": \"Range Not Satisfiable\",\n \"417\": \"Expectation Failed\",\n \"418\": \"I'm a teapot\",\n \"421\": \"Misdirected Request\",\n \"422\": \"Unprocessable Entity\",\n \"423\": \"Locked\",\n \"424\": \"Failed Dependency\",\n \"425\": \"Unordered Collection\",\n \"426\": \"Upgrade Required\",\n \"428\": \"Precondition Required\",\n \"429\": \"Too Many Requests\",\n \"431\": \"Request Header Fields Too Large\",\n \"451\": \"Unavailable For Legal Reasons\",\n \"500\": \"Internal Server Error\",\n \"501\": \"Not Implemented\",\n \"502\": \"Bad Gateway\",\n \"503\": \"Service Unavailable\",\n \"504\": \"Gateway Timeout\",\n \"505\": \"HTTP Version Not Supported\",\n \"506\": \"Variant Also Negotiates\",\n \"507\": \"Insufficient Storage\",\n \"508\": \"Loop Detected\",\n \"509\": \"Bandwidth Limit Exceeded\",\n \"510\": \"Not Extended\",\n \"511\": \"Network Authentication Required\"\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = hasPropertyDescriptors && GetIntrinsic('%Object.defineProperty%', true);\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar gopd = require('gopd');\n\n/** @type {(obj: Record, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {(o: {}, p: PropertyKey) => p is keyof o} */\nmodule.exports = bind.call(call, $hasOwn);\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.mpegts=t():e.mpegts=t()}(window,(function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=14)}([function(e,t,i){\"use strict\";var n=i(6),a=i.n(n),r=function(){function e(){}return e.e=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"error\",n),e.ENABLE_ERROR&&(console.error?console.error(n):console.warn?console.warn(n):console.log(n))},e.i=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"info\",n),e.ENABLE_INFO&&(console.info?console.info(n):console.log(n))},e.w=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"warn\",n),e.ENABLE_WARN&&(console.warn?console.warn(n):console.log(n))},e.d=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"debug\",n),e.ENABLE_DEBUG&&(console.debug?console.debug(n):console.log(n))},e.v=function(t,i){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var n=\"[\"+t+\"] > \"+i;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"verbose\",n),e.ENABLE_VERBOSE&&console.log(n)},e}();r.GLOBAL_TAG=\"mpegts.js\",r.FORCE_GLOBAL_TAG=!1,r.ENABLE_ERROR=!0,r.ENABLE_INFO=!0,r.ENABLE_WARN=!0,r.ENABLE_DEBUG=!0,r.ENABLE_VERBOSE=!0,r.ENABLE_CALLBACK=!1,r.emitter=new a.a,t.a=r},function(e,t,i){\"use strict\";t.a={IO_ERROR:\"io_error\",DEMUX_ERROR:\"demux_error\",INIT_SEGMENT:\"init_segment\",MEDIA_SEGMENT:\"media_segment\",LOADING_COMPLETE:\"loading_complete\",RECOVERED_EARLY_EOF:\"recovered_early_eof\",MEDIA_INFO:\"media_info\",METADATA_ARRIVED:\"metadata_arrived\",SCRIPTDATA_ARRIVED:\"scriptdata_arrived\",TIMED_ID3_METADATA_ARRIVED:\"timed_id3_metadata_arrived\",SMPTE2038_METADATA_ARRIVED:\"smpte2038_metadata_arrived\",SCTE35_METADATA_ARRIVED:\"scte35_metadata_arrived\",PES_PRIVATE_DATA_DESCRIPTOR:\"pes_private_data_descriptor\",PES_PRIVATE_DATA_ARRIVED:\"pes_private_data_arrived\",STATISTICS_INFO:\"statistics_info\",RECOMMEND_SEEKPOINT:\"recommend_seekpoint\"}},function(e,t,i){\"use strict\";i.d(t,\"c\",(function(){return a})),i.d(t,\"b\",(function(){return r})),i.d(t,\"a\",(function(){return s}));var n=i(3),a={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},r={OK:\"OK\",EXCEPTION:\"Exception\",HTTP_STATUS_CODE_INVALID:\"HttpStatusCodeInvalid\",CONNECTING_TIMEOUT:\"ConnectingTimeout\",EARLY_EOF:\"EarlyEof\",UNRECOVERABLE_EARLY_EOF:\"UnrecoverableEarlyEof\"},s=function(){function e(e){this._type=e||\"undefined\",this._status=a.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return e.prototype.destroy=function(){this._status=a.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null},e.prototype.isWorking=function(){return this._status===a.kConnecting||this._status===a.kBuffering},Object.defineProperty(e.prototype,\"type\",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"status\",{get:function(){return this._status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"needStashBuffer\",{get:function(){return this._needStash},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onContentLengthKnown\",{get:function(){return this._onContentLengthKnown},set:function(e){this._onContentLengthKnown=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onURLRedirect\",{get:function(){return this._onURLRedirect},set:function(e){this._onURLRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDataArrival\",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onError\",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onComplete\",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),e.prototype.open=function(e,t){throw new n.c(\"Unimplemented abstract function!\")},e.prototype.abort=function(){throw new n.c(\"Unimplemented abstract function!\")},e}()},function(e,t,i){\"use strict\";i.d(t,\"d\",(function(){return r})),i.d(t,\"a\",(function(){return s})),i.d(t,\"b\",(function(){return o})),i.d(t,\"c\",(function(){return d}));var n,a=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),r=function(){function e(e){this._message=e}return Object.defineProperty(e.prototype,\"name\",{get:function(){return\"RuntimeException\"},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"message\",{get:function(){return this._message},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return this.name+\": \"+this.message},e}(),s=function(e){function t(t){return e.call(this,t)||this}return a(t,e),Object.defineProperty(t.prototype,\"name\",{get:function(){return\"IllegalStateException\"},enumerable:!1,configurable:!0}),t}(r),o=function(e){function t(t){return e.call(this,t)||this}return a(t,e),Object.defineProperty(t.prototype,\"name\",{get:function(){return\"InvalidArgumentException\"},enumerable:!1,configurable:!0}),t}(r),d=function(e){function t(t){return e.call(this,t)||this}return a(t,e),Object.defineProperty(t.prototype,\"name\",{get:function(){return\"NotImplementedException\"},enumerable:!1,configurable:!0}),t}(r)},function(e,t,i){\"use strict\";var n={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\\/([\\w.]+)/.exec(e)||/(opr)[\\/]([\\w.]+)/.exec(e)||/(chrome)[ \\/]([\\w.]+)/.exec(e)||/(iemobile)[\\/]([\\w.]+)/.exec(e)||/(version)(applewebkit)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+).*(version)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(e)||/(msie) ([\\w.]+)/.exec(e)||e.indexOf(\"trident\")>=0&&/(rv)(?::| )([\\w.]+)/.exec(e)||e.indexOf(\"compatible\")<0&&/(firefox)[ \\/]([\\w.]+)/.exec(e)||[],i=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],a={browser:t[5]||t[3]||t[1]||\"\",version:t[2]||t[4]||\"0\",majorVersion:t[4]||t[2]||\"0\",platform:i[0]||\"\"},r={};if(a.browser){r[a.browser]=!0;var s=a.majorVersion.split(\".\");r.version={major:parseInt(a.majorVersion,10),string:a.version},s.length>1&&(r.version.minor=parseInt(s[1],10)),s.length>2&&(r.version.build=parseInt(s[2],10))}if(a.platform&&(r[a.platform]=!0),(r.chrome||r.opr||r.safari)&&(r.webkit=!0),r.rv||r.iemobile){r.rv&&delete r.rv;a.browser=\"msie\",r.msie=!0}if(r.edge){delete r.edge;a.browser=\"msedge\",r.msedge=!0}if(r.opr){a.browser=\"opera\",r.opera=!0}if(r.safari&&r.android){a.browser=\"android\",r.android=!0}for(var o in r.name=a.browser,r.platform=a.platform,n)n.hasOwnProperty(o)&&delete n[o];Object.assign(n,r)}(),t.a=n},function(e,t,i){\"use strict\";t.a={OK:\"OK\",FORMAT_ERROR:\"FormatError\",FORMAT_UNSUPPORTED:\"FormatUnsupported\",CODEC_UNSUPPORTED:\"CodecUnsupported\"}},function(e,t,i){\"use strict\";var n,a=\"object\"==typeof Reflect?Reflect:null,r=a&&\"function\"==typeof a.apply?a.apply:function(e,t,i){return Function.prototype.apply.call(e,t,i)};n=a&&\"function\"==typeof a.ownKeys?a.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(i,n){function a(i){e.removeListener(t,r),n(i)}function r(){\"function\"==typeof e.removeListener&&e.removeListener(\"error\",a),i([].slice.call(arguments))}g(e,t,r,{once:!0}),\"error\"!==t&&function(e,t,i){\"function\"==typeof e.on&&g(e,\"error\",t,i)}(e,a,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var d=10;function _(e){if(\"function\"!=typeof e)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}function h(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,i,n){var a,r,s,o;if(_(i),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit(\"newListener\",t,i.listener?i.listener:i),r=e._events),s=r[t]),void 0===s)s=r[t]=i,++e._eventsCount;else if(\"function\"==typeof s?s=r[t]=n?[i,s]:[s,i]:n?s.unshift(i):s.push(i),(a=h(e))>0&&s.length>a&&!s.warned){s.warned=!0;var d=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");d.name=\"MaxListenersExceededWarning\",d.emitter=e,d.type=t,d.count=s.length,o=d,console&&console.warn&&console.warn(o)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(e,t,i){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:i},a=u.bind(n);return a.listener=i,n.wrapFn=a,a}function f(e,t,i){var n=e._events;if(void 0===n)return[];var a=n[t];return void 0===a?[]:\"function\"==typeof a?i?[a.listener||a]:[a]:i?function(e){for(var t=new Array(e.length),i=0;i0&&(s=t[0]),s instanceof Error)throw s;var o=new Error(\"Unhandled error.\"+(s?\" (\"+s.message+\")\":\"\"));throw o.context=s,o}var d=a[e];if(void 0===d)return!1;if(\"function\"==typeof d)r(d,this,t);else{var _=d.length,h=m(d,_);for(i=0;i<_;++i)r(h[i],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(this,e,t,!0)},o.prototype.once=function(e,t){return _(t),this.on(e,l(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return _(t),this.prependListener(e,l(this,e,t)),this},o.prototype.removeListener=function(e,t){var i,n,a,r,s;if(_(t),void 0===(n=this._events))return this;if(void 0===(i=n[e]))return this;if(i===t||i.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit(\"removeListener\",e,i.listener||t));else if(\"function\"!=typeof i){for(a=-1,r=i.length-1;r>=0;r--)if(i[r]===t||i[r].listener===t){s=i[r].listener,a=r;break}if(a<0)return this;0===a?i.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return f(this,e,!0)},o.prototype.rawListeners=function(e){return f(this,e,!1)},o.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,i){\"use strict\";i.d(t,\"d\",(function(){return n})),i.d(t,\"b\",(function(){return a})),i.d(t,\"a\",(function(){return r})),i.d(t,\"c\",(function(){return s}));var n=function(e,t,i,n,a){this.dts=e,this.pts=t,this.duration=i,this.originalDts=n,this.isSyncPoint=a,this.fileposition=null},a=function(){function e(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return e.prototype.appendSyncPoint=function(e){e.isSyncPoint=!0,this.syncPoints.push(e)},e}(),r=function(){function e(){this._list=[]}return e.prototype.clear=function(){this._list=[]},e.prototype.appendArray=function(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts=t[a].dts&&et[n].lastSample.originalDts&&e=t[n].lastSample.originalDts&&(n===t.length-1||n0&&(a=this._searchNearestSegmentBefore(i.originalBeginDts)+1),this._lastAppendLocation=a,this._list.splice(a,0,i)},e.prototype.getLastSegmentBefore=function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null},e.prototype.getLastSampleBefore=function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null},e.prototype.getLastSyncPointBefore=function(e){for(var t=this._searchNearestSegmentBefore(e),i=this._list[t].syncPoints;0===i.length&&t>0;)t--,i=this._list[t].syncPoints;return i.length>0?i[i.length-1]:null},e}()},function(e,t,i){\"use strict\";var n=function(){function e(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return e.prototype.isComplete=function(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&e&&t},e.prototype.isSeekable=function(){return!0===this.hasKeyframesIndex},e.prototype.getNearestKeyframe=function(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,i=this._search(t.times,e);return{index:i,milliseconds:t.times[i],fileposition:t.filepositions[i]}},e.prototype._search=function(e,t){var i=0,n=e.length-1,a=0,r=0,s=n;for(t=e[a]&&t0){var i=e.getConfig();t.emit(\"change\",i)}},e.registerListener=function(t){e.emitter.addListener(\"change\",t)},e.removeListener=function(t){e.emitter.removeListener(\"change\",t)},e.addLogListener=function(t){r.a.emitter.addListener(\"log\",t),r.a.emitter.listenerCount(\"log\")>0&&(r.a.ENABLE_CALLBACK=!0,e._notifyChange())},e.removeLogListener=function(t){r.a.emitter.removeListener(\"log\",t),0===r.a.emitter.listenerCount(\"log\")&&(r.a.ENABLE_CALLBACK=!1,e._notifyChange())},e}();s.emitter=new a.a,t.a=s},function(e,t,i){\"use strict\";var n=i(6),a=i.n(n),r=i(0),s=i(4),o=i(8);function d(e,t,i){var n=e;if(t+i=128){t.push(String.fromCharCode(65535&r)),n+=2;continue}}else if(i[n]<240){if(d(i,n,2))if((r=(15&i[n])<<12|(63&i[n+1])<<6|63&i[n+2])>=2048&&55296!=(63488&r)){t.push(String.fromCharCode(65535&r)),n+=3;continue}}else if(i[n]<248){var r;if(d(i,n,3))if((r=(7&i[n])<<18|(63&i[n+1])<<12|(63&i[n+2])<<6|63&i[n+3])>65536&&r<1114112){r-=65536,t.push(String.fromCharCode(r>>>10|55296)),t.push(String.fromCharCode(1023&r|56320)),n+=4;continue}}t.push(String.fromCharCode(65533)),++n}return t.join(\"\")},c=i(3),u=(_=new ArrayBuffer(2),new DataView(_).setInt16(0,256,!0),256===new Int16Array(_)[0]),l=function(){function e(){}return e.parseScriptData=function(t,i,n){var a={};try{var s=e.parseValue(t,i,n),o=e.parseValue(t,i+s.size,n-s.size);a[s.data]=o.data}catch(e){r.a.e(\"AMF\",e.toString())}return a},e.parseObject=function(t,i,n){if(n<3)throw new c.a(\"Data not enough when parse ScriptDataObject\");var a=e.parseString(t,i,n),r=e.parseValue(t,i+a.size,n-a.size),s=r.objectEnd;return{data:{name:a.data,value:r.data},size:a.size+r.size,objectEnd:s}},e.parseVariable=function(t,i,n){return e.parseObject(t,i,n)},e.parseString=function(e,t,i){if(i<2)throw new c.a(\"Data not enough when parse String\");var n=new DataView(e,t,i).getUint16(0,!u);return{data:n>0?h(new Uint8Array(e,t+2,n)):\"\",size:2+n}},e.parseLongString=function(e,t,i){if(i<4)throw new c.a(\"Data not enough when parse LongString\");var n=new DataView(e,t,i).getUint32(0,!u);return{data:n>0?h(new Uint8Array(e,t+4,n)):\"\",size:4+n}},e.parseDate=function(e,t,i){if(i<10)throw new c.a(\"Data size invalid when parse Date\");var n=new DataView(e,t,i),a=n.getFloat64(0,!u),r=n.getInt16(8,!u);return{data:new Date(a+=60*r*1e3),size:10}},e.parseValue=function(t,i,n){if(n<1)throw new c.a(\"Data not enough when parse Value\");var a,s=new DataView(t,i,n),o=1,d=s.getUint8(0),_=!1;try{switch(d){case 0:a=s.getFloat64(1,!u),o+=8;break;case 1:a=!!s.getUint8(1),o+=1;break;case 2:var h=e.parseString(t,i+1,n-1);a=h.data,o+=h.size;break;case 3:a={};var l=0;for(9==(16777215&s.getUint32(n-4,!u))&&(l=3);o32)throw new c.b(\"ExpGolomb: readBits() bits exceeded max 32bits!\");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var i=this._current_word_bits_left?this._current_word:0;i>>>=32-this._current_word_bits_left;var n=e-this._current_word_bits_left;this._fillCurrentWord();var a=Math.min(n,this._current_word_bits_left),r=this._current_word>>>32-a;return this._current_word<<=a,this._current_word_bits_left-=a,i=i<>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()},e.prototype.readUEG=function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1},e.prototype.readSEG=function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)},e}(),p=function(){function e(){}return e._ebsp2rbsp=function(e){for(var t=e,i=t.byteLength,n=new Uint8Array(i),a=0,r=0;r=2&&3===t[r]&&0===t[r-1]&&0===t[r-2]||(n[a]=t[r],a++);return new Uint8Array(n.buffer,0,a)},e.parseSPS=function(t){for(var i=t.subarray(1,4),n=\"avc1.\",a=0;a<3;a++){var r=i[a].toString(16);r.length<2&&(r=\"0\"+r),n+=r}var s=e._ebsp2rbsp(t),o=new f(s);o.readByte();var d=o.readByte();o.readByte();var _=o.readByte();o.readUEG();var h=e.getProfileString(d),c=e.getLevelString(_),u=1,l=420,p=8,m=8;if((100===d||110===d||122===d||244===d||44===d||83===d||86===d||118===d||128===d||138===d||144===d)&&(3===(u=o.readUEG())&&o.readBits(1),u<=3&&(l=[0,420,422,444][u]),p=o.readUEG()+8,m=o.readUEG()+8,o.readBits(1),o.readBool()))for(var g=3!==u?8:12,v=0;v0&&M<16?(D=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][M-1],C=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][M-1]):255===M&&(D=o.readByte()<<8|o.readByte(),C=o.readByte()<<8|o.readByte())}if(o.readBool()&&o.readBool(),o.readBool()&&(o.readBits(4),o.readBool()&&o.readBits(24)),o.readBool()&&(o.readUEG(),o.readUEG()),o.readBool()){var x=o.readBits(32),U=o.readBits(32);I=o.readBool(),B=(O=U)/(P=2*x)}}var N=1;1===D&&1===C||(N=D/C);var G=0,V=0;0===u?(G=1,V=2-R):(G=3===u?1:2,V=(1===u?2:1)*(2-R));var F=16*(E+1),j=16*(A+1)*(2-R);F-=(T+L)*G,j-=(w+k)*V;var z=Math.ceil(F*N);return o.destroy(),o=null,{codec_mimetype:n,profile_idc:d,level_idc:_,profile_string:h,level_string:c,chroma_format_idc:u,bit_depth:p,bit_depth_luma:p,bit_depth_chroma:m,ref_frames:S,chroma_format:l,chroma_format_string:e.getChromaFormatString(l),frame_rate:{fixed:I,fps:B,fps_den:P,fps_num:O},sar_ratio:{width:D,height:C},codec_size:{width:F,height:j},present_size:{width:z,height:j}}},e._skipScalingList=function(e,t){for(var i=8,n=8,a=0;a=2&&3===t[r]&&0===t[r-1]&&0===t[r-2]||(n[a]=t[r],a++);return new Uint8Array(n.buffer,0,a)},e.parseVPS=function(t){var i=e._ebsp2rbsp(t),n=new f(i);n.readByte(),n.readByte();n.readBits(4);n.readBits(2);n.readBits(6);return{num_temporal_layers:n.readBits(3)+1,temporal_id_nested:n.readBool()}},e.parseSPS=function(t){var i=e._ebsp2rbsp(t),n=new f(i);n.readByte(),n.readByte();for(var a=0,r=0,s=0,o=0,d=(n.readBits(4),n.readBits(3)),_=(n.readBool(),n.readBits(2)),h=n.readBool(),c=n.readBits(5),u=n.readByte(),l=n.readByte(),p=n.readByte(),m=n.readByte(),g=n.readByte(),v=n.readByte(),y=n.readByte(),b=n.readByte(),S=n.readByte(),E=n.readByte(),A=n.readByte(),R=[],T=[],L=0;L0)for(L=d;L<8;L++)n.readBits(2);for(L=0;L1&&n.readSEG();for(L=0;L0&&Q<=16?(W=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][Q-1],X=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][Q-1]):255===Q&&(W=n.readBits(16),X=n.readBits(16))}if(n.readBool()&&n.readBool(),n.readBool())n.readBits(3),n.readBool(),n.readBool()&&(n.readByte(),n.readByte(),n.readByte());n.readBool()&&(n.readUEG(),n.readUEG());n.readBool(),n.readBool(),n.readBool();if(n.readBool()&&(n.readUEG(),n.readUEG(),n.readUEG(),n.readUEG()),n.readBool())if(J=n.readBits(32),Z=n.readBits(32),n.readBool())if(n.readUEG(),n.readBool()){var $=!1,ee=!1,te=!1;if($=n.readBool(),ee=n.readBool(),$||ee){(te=n.readBool())&&(n.readByte(),n.readBits(5),n.readBool(),n.readBits(5));n.readBits(4),n.readBits(4);te&&n.readBits(4),n.readBits(5),n.readBits(5),n.readBits(5)}for(L=0;L<=d;L++){var ie=n.readBool();Y=ie;var ne=!1,ae=1;ie||(ne=n.readBool());var re=!1;if(ne?n.readSEG():re=n.readBool(),re||(ae=n.readUEG()+1),$)for(V=0;V>>2!=0,s=0!=(1&t[4]),o=(n=t)[a=5]<<24|n[a+1]<<16|n[a+2]<<8|n[a+3];return o<9?i:{match:!0,consumed:o,dataOffset:o,hasAudioTrack:r,hasVideoTrack:s}},e.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},Object.defineProperty(e.prototype,\"onTrackMetadata\",{get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMediaInfo\",{get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMetaDataArrived\",{get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onScriptDataArrived\",{get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onError\",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDataAvailable\",{get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"timestampBase\",{get:function(){return this._timestampBase},set:function(e){this._timestampBase=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"overridedDuration\",{get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"overridedHasAudio\",{set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"overridedHasVideo\",{set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e},enumerable:!1,configurable:!0}),e.prototype.resetMediaInfo=function(){this._mediaInfo=new o.a},e.prototype._isInitialMetadataDispatched=function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched},e.prototype.parseChunks=function(t,i){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new c.a(\"Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified\");var n=0,a=this._littleEndian;if(0===i){if(!(t.byteLength>13))return 0;n=e.probe(t).dataOffset}this._firstParse&&(this._firstParse=!1,i+n!==this._dataOffset&&r.a.w(this.TAG,\"First time parsing but chunk byteStart invalid!\"),0!==(s=new DataView(t,n)).getUint32(0,!a)&&r.a.w(this.TAG,\"PrevTagSize0 !== 0 !!!\"),n+=4);for(;nt.byteLength)break;var o=s.getUint8(0),d=16777215&s.getUint32(0,!a);if(n+11+d+4>t.byteLength)break;if(8===o||9===o||18===o){var _=s.getUint8(4),h=s.getUint8(5),u=s.getUint8(6)|h<<8|_<<16|s.getUint8(7)<<24;0!==(16777215&s.getUint32(7,!a))&&r.a.w(this.TAG,\"Meet tag which has StreamID != 0!\");var l=n+11;switch(o){case 8:this._parseAudioData(t,l,d,u);break;case 9:this._parseVideoData(t,l,d,u,i+n);break;case 18:this._parseScriptData(t,l,d)}var f=s.getUint32(11+d,!a);f!==11+d&&r.a.w(this.TAG,\"Invalid PrevTagSize \"+f),n+=11+d+4}else r.a.w(this.TAG,\"Unsupported tag type \"+o+\", skipped\"),n+=11+d+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),n},e.prototype._parseScriptData=function(e,t,i){var n=l.parseScriptData(e,t,i);if(n.hasOwnProperty(\"onMetaData\")){if(null==n.onMetaData||\"object\"!=typeof n.onMetaData)return void r.a.w(this.TAG,\"Invalid onMetaData structure!\");this._metadata&&r.a.w(this.TAG,\"Found another onMetaData tag!\"),this._metadata=n;var a=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},a)),\"boolean\"==typeof a.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=a.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),\"boolean\"==typeof a.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=a.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),\"number\"==typeof a.audiodatarate&&(this._mediaInfo.audioDataRate=a.audiodatarate),\"number\"==typeof a.videodatarate&&(this._mediaInfo.videoDataRate=a.videodatarate),\"number\"==typeof a.width&&(this._mediaInfo.width=a.width),\"number\"==typeof a.height&&(this._mediaInfo.height=a.height),\"number\"==typeof a.duration){if(!this._durationOverrided){var s=Math.floor(a.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if(\"number\"==typeof a.framerate){var o=Math.floor(1e3*a.framerate);if(o>0){var d=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=d,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=d}}if(\"object\"==typeof a.keyframes){this._mediaInfo.hasKeyframesIndex=!0;var _=a.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(_),a.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=a,r.a.v(this.TAG,\"Parsed onMetaData\"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(n).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},n))},e.prototype._parseKeyframesIndex=function(e){for(var t=[],i=[],n=1;n>>4;if(2===s||10===s){var o=0,d=(12&a)>>>2;if(d>=0&&d<=4){o=this._flvSoundRateTable[d];var _=1&a,h=this._audioMetadata,c=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),(h=this._audioMetadata={}).type=\"audio\",h.id=c.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===_?1:2),10===s){var u=this._parseAACAudioData(e,t+1,i-1);if(null==u)return;if(0===u.packetType){if(h.config){if(S(u.data.config,h.config))return;r.a.w(this.TAG,\"AudioSpecificConfig has been changed, re-generate initialization segment\")}var l=u.data;h.audioSampleRate=l.samplingRate,h.channelCount=l.channelCount,h.codec=l.codec,h.originalCodec=l.originalCodec,h.config=l.config,h.refSampleDuration=1024/h.audioSampleRate*h.timescale,r.a.v(this.TAG,\"Parsed AudioSpecificConfig\"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata(\"audio\",h),(g=this._mediaInfo).audioCodec=h.originalCodec,g.audioSampleRate=h.audioSampleRate,g.audioChannelCount=h.channelCount,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs=\"'+g.videoCodec+\",\"+g.audioCodec+'\"'):g.mimeType='video/x-flv; codecs=\"'+g.audioCodec+'\"',g.isComplete()&&this._onMediaInfo(g)}else if(1===u.packetType){var f=this._timestampBase+n,p={unit:u.data,length:u.data.byteLength,dts:f,pts:f};c.samples.push(p),c.length+=u.data.length}else r.a.e(this.TAG,\"Flv: Unsupported AAC data type \"+u.packetType)}else if(2===s){if(!h.codec){var g;if(null==(l=this._parseMP3AudioData(e,t+1,i-1,!0)))return;h.audioSampleRate=l.samplingRate,h.channelCount=l.channelCount,h.codec=l.codec,h.originalCodec=l.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,r.a.v(this.TAG,\"Parsed MPEG Audio Frame Header\"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata(\"audio\",h),(g=this._mediaInfo).audioCodec=h.codec,g.audioSampleRate=h.audioSampleRate,g.audioChannelCount=h.channelCount,g.audioDataRate=l.bitRate,g.hasVideo?null!=g.videoCodec&&(g.mimeType='video/x-flv; codecs=\"'+g.videoCodec+\",\"+g.audioCodec+'\"'):g.mimeType='video/x-flv; codecs=\"'+g.audioCodec+'\"',g.isComplete()&&this._onMediaInfo(g)}var v=this._parseMP3AudioData(e,t+1,i-1,!1);if(null==v)return;f=this._timestampBase+n;var y={unit:v,length:v.byteLength,dts:f,pts:f};c.samples.push(y),c.length+=v.length}}else this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid audio sample rate idx: \"+d)}else this._onError(m.a.CODEC_UNSUPPORTED,\"Flv: Unsupported audio codec idx: \"+s)}},e.prototype._parseAACAudioData=function(e,t,i){if(!(i<=1)){var n={},a=new Uint8Array(e,t,i);return n.packetType=a[0],0===a[0]?n.data=this._parseAACAudioSpecificConfig(e,t+1,i-1):n.data=a.subarray(1),n}r.a.w(this.TAG,\"Flv: Invalid AAC packet, missing AACPacketType or/and Data!\")},e.prototype._parseAACAudioSpecificConfig=function(e,t,i){var n,a,r=new Uint8Array(e,t,i),s=null,o=0,d=null;if(o=n=r[0]>>>3,(a=(7&r[0])<<1|r[1]>>>7)<0||a>=this._mpegSamplingRates.length)this._onError(m.a.FORMAT_ERROR,\"Flv: AAC invalid sampling frequency index!\");else{var _=this._mpegSamplingRates[a],h=(120&r[1])>>>3;if(!(h<0||h>=8)){5===o&&(d=(7&r[1])<<1|r[2]>>>7,(124&r[2])>>>2);var c=self.navigator.userAgent.toLowerCase();return-1!==c.indexOf(\"firefox\")?a>=6?(o=5,s=new Array(4),d=a-3):(o=2,s=new Array(2),d=a):-1!==c.indexOf(\"android\")?(o=2,s=new Array(2),d=a):(o=5,d=a,s=new Array(4),a>=6?d=a-3:1===h&&(o=2,s=new Array(2),d=a)),s[0]=o<<3,s[0]|=(15&a)>>>1,s[1]=(15&a)<<7,s[1]|=(15&h)<<3,5===o&&(s[1]|=(15&d)>>>1,s[2]=(1&d)<<7,s[2]|=8,s[3]=0),{config:s,samplingRate:_,channelCount:h,codec:\"mp4a.40.\"+o,originalCodec:\"mp4a.40.\"+n}}this._onError(m.a.FORMAT_ERROR,\"Flv: AAC invalid channel configuration\")}},e.prototype._parseMP3AudioData=function(e,t,i,n){if(!(i<4)){this._littleEndian;var a=new Uint8Array(e,t,i),s=null;if(n){if(255!==a[0])return;var o=a[1]>>>3&3,d=(6&a[1])>>1,_=(240&a[2])>>>4,h=(12&a[2])>>>2,c=3!==(a[3]>>>6&3)?2:1,u=0,l=0;switch(o){case 0:u=this._mpegAudioV25SampleRateTable[h];break;case 2:u=this._mpegAudioV20SampleRateTable[h];break;case 3:u=this._mpegAudioV10SampleRateTable[h]}switch(d){case 1:34,_>>4;if(0!=(128&s)){var d=15&s,_=String.fromCharCode.apply(String,new Uint8Array(e,t,i).slice(1,5));if(\"hvc1\"!==_)return void this._onError(m.a.CODEC_UNSUPPORTED,\"Flv: Unsupported codec in video frame: \"+_);this._parseEnhancedHEVCVideoPacket(e,t+5,i-5,n,a,o,d)}else{var h=15&s;if(7===h)this._parseAVCVideoPacket(e,t+1,i-1,n,a,o);else{if(12!==h)return void this._onError(m.a.CODEC_UNSUPPORTED,\"Flv: Unsupported codec in video frame: \"+h);this._parseHEVCVideoPacket(e,t+1,i-1,n,a,o)}}}},e.prototype._parseAVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.a.w(this.TAG,\"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime\");else{var o=this._littleEndian,d=new DataView(e,t,i),_=d.getUint8(0),h=(16777215&d.getUint32(0,!o))<<8>>8;if(0===_)this._parseAVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===_)this._parseAVCVideoData(e,t+4,i-4,n,a,s,h);else if(2!==_)return void this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid video packet type \"+_)}},e.prototype._parseHEVCVideoPacket=function(e,t,i,n,a,s){if(i<4)r.a.w(this.TAG,\"Flv: Invalid HEVC packet, missing HEVCPacketType or/and CompositionTime\");else{var o=this._littleEndian,d=new DataView(e,t,i),_=d.getUint8(0),h=(16777215&d.getUint32(0,!o))<<8>>8;if(0===_)this._parseHEVCDecoderConfigurationRecord(e,t+4,i-4);else if(1===_)this._parseHEVCVideoData(e,t+4,i-4,n,a,s,h);else if(2!==_)return void this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid video packet type \"+_)}},e.prototype._parseEnhancedHEVCVideoPacket=function(e,t,i,n,a,s,o){if(i<4)r.a.w(this.TAG,\"Flv: Invalid HEVC packet, missing HEVCPacketType or/and CompositionTime\");else{var d=this._littleEndian,_=new DataView(e,t,i);if(0===o)this._parseHEVCDecoderConfigurationRecord(e,t,i);else if(1===o){var h=(4294967040&_.getUint32(0,!d))>>8;this._parseHEVCVideoData(e,t+3,i-3,n,a,s,h)}else if(3===o)this._parseHEVCVideoData(e,t,i,n,a,s,0);else if(2!==o)return void this._onError(m.a.FORMAT_ERROR,\"Flv: Invalid video packet type \"+o)}},e.prototype._parseAVCDecoderConfigurationRecord=function(e,t,i){if(i<7)r.a.w(this.TAG,\"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!\");else{var n=this._videoMetadata,a=this._videoTrack,s=this._littleEndian,o=new DataView(e,t,i);if(n){if(void 0!==n.avcc){var d=new Uint8Array(e,t,i);if(S(d,n.avcc))return;r.a.w(this.TAG,\"AVCDecoderConfigurationRecord has been changed, re-generate initialization segment\")}}else!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),(n=this._videoMetadata={}).type=\"video\",n.id=a.id,n.timescale=this._timescale,n.duration=this._duration;var _=o.getUint8(0),h=o.getUint8(1);o.getUint8(2),o.getUint8(3);if(1===_&&0!==h)if(this._naluLengthSize=1+(3&o.getUint8(4)),3===this._naluLengthSize||4===this._naluLengthSize){var c=31&o.getUint8(5);if(0!==c){c>1&&r.a.w(this.TAG,\"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = \"+c);for(var u=6,l=0;l1&&r.a.w(this.TAG,\"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = \"+w),u++;for(l=0;l=i){r.a.w(this.TAG,\"Malformed Nalu near timestamp \"+f+\", offset = \"+u+\", dataSize = \"+i);break}var m=_.getUint32(u,!d);if(3===l&&(m>>>=8),m>i-l)return void r.a.w(this.TAG,\"Malformed Nalus near timestamp \"+f+\", NaluSize > DataSize!\");var g=31&_.getUint8(u+l);5===g&&(p=!0);var v=new Uint8Array(e,t+u,l+m),y={type:g,data:v};h.push(y),c+=v.byteLength,u+=l+m}if(h.length){var b=this._videoTrack,S={units:h,length:c,isKeyframe:p,dts:f,cts:o,pts:f+o};p&&(S.fileposition=a),b.samples.push(S),b.length+=c}},e.prototype._parseHEVCVideoData=function(e,t,i,n,a,s,o){for(var d=this._littleEndian,_=new DataView(e,t,i),h=[],c=0,u=0,l=this._naluLengthSize,f=this._timestampBase+n,p=1===s;u=i){r.a.w(this.TAG,\"Malformed Nalu near timestamp \"+f+\", offset = \"+u+\", dataSize = \"+i);break}var m=_.getUint32(u,!d);if(3===l&&(m>>>=8),m>i-l)return void r.a.w(this.TAG,\"Malformed Nalus near timestamp \"+f+\", NaluSize > DataSize!\");var g=31&_.getUint8(u+l);19!==g&&20!==g||(p=!0);var v=new Uint8Array(e,t+u,l+m),y={type:g,data:v};h.push(y),c+=v.byteLength,u+=l+m}if(h.length){var b=this._videoTrack,S={units:h,length:c,isKeyframe:p,dts:f,cts:o,pts:f+o};p&&(S.fileposition=a),b.samples.push(S),b.length+=c}},e}(),R=function(){function e(){}return e.prototype.destroy=function(){this.onError=null,this.onMediaInfo=null,this.onMetaDataArrived=null,this.onTrackMetadata=null,this.onDataAvailable=null,this.onTimedID3Metadata=null,this.onSMPTE2038Metadata=null,this.onSCTE35Metadata=null,this.onPESPrivateData=null,this.onPESPrivateDataDescriptor=null},e}(),T=function(){this.program_pmt_pid={}};!function(e){e[e.kMPEG1Audio=3]=\"kMPEG1Audio\",e[e.kMPEG2Audio=4]=\"kMPEG2Audio\",e[e.kPESPrivateData=6]=\"kPESPrivateData\",e[e.kADTSAAC=15]=\"kADTSAAC\",e[e.kLOASAAC=17]=\"kLOASAAC\",e[e.kAC3=129]=\"kAC3\",e[e.kID3=21]=\"kID3\",e[e.kSCTE35=134]=\"kSCTE35\",e[e.kH264=27]=\"kH264\",e[e.kH265=36]=\"kH265\"}(E||(E={}));var L,w=function(){this.pid_stream_type={},this.common_pids={h264:void 0,h265:void 0,adts_aac:void 0,loas_aac:void 0,opus:void 0,ac3:void 0,mp3:void 0},this.pes_private_data_pids={},this.timed_id3_pids={},this.scte_35_pids={},this.smpte2038_pids={}},k=function(){},D=function(){},C=function(){this.slices=[],this.total_length=0,this.expected_length=0,this.file_position=0};!function(e){e[e.kUnspecified=0]=\"kUnspecified\",e[e.kSliceNonIDR=1]=\"kSliceNonIDR\",e[e.kSliceDPA=2]=\"kSliceDPA\",e[e.kSliceDPB=3]=\"kSliceDPB\",e[e.kSliceDPC=4]=\"kSliceDPC\",e[e.kSliceIDR=5]=\"kSliceIDR\",e[e.kSliceSEI=6]=\"kSliceSEI\",e[e.kSliceSPS=7]=\"kSliceSPS\",e[e.kSlicePPS=8]=\"kSlicePPS\",e[e.kSliceAUD=9]=\"kSliceAUD\",e[e.kEndOfSequence=10]=\"kEndOfSequence\",e[e.kEndOfStream=11]=\"kEndOfStream\",e[e.kFiller=12]=\"kFiller\",e[e.kSPSExt=13]=\"kSPSExt\",e[e.kReserved0=14]=\"kReserved0\"}(L||(L={}));var B,I,O=function(){},P=function(e){var t=e.data.byteLength;this.type=e.type,this.data=new Uint8Array(4+t),new DataView(this.data.buffer).setUint32(0,t),this.data.set(e.data,4)},M=function(){function e(e){this.TAG=\"H264AnnexBParser\",this.current_startcode_offset_=0,this.eof_flag_=!1,this.data_=e,this.current_startcode_offset_=this.findNextStartCodeOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not find H264 startcode until payload end!\")}return e.prototype.findNextStartCodeOffset=function(e){for(var t=e,i=this.data_;;){if(t+3>=i.byteLength)return this.eof_flag_=!0,i.byteLength;var n=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],a=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===n||1===a)return t;t++}},e.prototype.readNextNaluPayload=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_startcode_offset_,n=31&e[i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3],a=(128&e[i])>>>7,r=this.findNextStartCodeOffset(i);if(this.current_startcode_offset_=r,!(n>=L.kReserved0)&&0===a){var s=e.subarray(i,r);(t=new O).type=n,t.data=s}}return t},e}(),x=function(){function e(e,t,i){var n=8+e.byteLength+1+2+t.byteLength,a=!1;66!==e[3]&&77!==e[3]&&88!==e[3]&&(a=!0,n+=4);var r=this.data=new Uint8Array(n);r[0]=1,r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=255,r[5]=225;var s=e.byteLength;r[6]=s>>>8,r[7]=255&s;var o=8;r.set(e,8),r[o+=s]=1;var d=t.byteLength;r[o+1]=d>>>8,r[o+2]=255&d,r.set(t,o+3),o+=3+d,a&&(r[o]=252|i.chroma_format_idc,r[o+1]=248|i.bit_depth_luma-8,r[o+2]=248|i.bit_depth_chroma-8,r[o+3]=0,o+=4)}return e.prototype.getData=function(){return this.data},e}();!function(e){e[e.kNull=0]=\"kNull\",e[e.kAACMain=1]=\"kAACMain\",e[e.kAAC_LC=2]=\"kAAC_LC\",e[e.kAAC_SSR=3]=\"kAAC_SSR\",e[e.kAAC_LTP=4]=\"kAAC_LTP\",e[e.kAAC_SBR=5]=\"kAAC_SBR\",e[e.kAAC_Scalable=6]=\"kAAC_Scalable\",e[e.kLayer1=32]=\"kLayer1\",e[e.kLayer2=33]=\"kLayer2\",e[e.kLayer3=34]=\"kLayer3\"}(B||(B={})),function(e){e[e.k96000Hz=0]=\"k96000Hz\",e[e.k88200Hz=1]=\"k88200Hz\",e[e.k64000Hz=2]=\"k64000Hz\",e[e.k48000Hz=3]=\"k48000Hz\",e[e.k44100Hz=4]=\"k44100Hz\",e[e.k32000Hz=5]=\"k32000Hz\",e[e.k24000Hz=6]=\"k24000Hz\",e[e.k22050Hz=7]=\"k22050Hz\",e[e.k16000Hz=8]=\"k16000Hz\",e[e.k12000Hz=9]=\"k12000Hz\",e[e.k11025Hz=10]=\"k11025Hz\",e[e.k8000Hz=11]=\"k8000Hz\",e[e.k7350Hz=12]=\"k7350Hz\"}(I||(I={}));var U,N,G=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],V=(U=function(e,t){return(U=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}U(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),F=function(){},j=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return V(t,e),t}(F),z=function(){function e(e){this.TAG=\"AACADTSParser\",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not found ADTS syncword until payload end\")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+7>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(4095===(i[t+0]<<8|i[t+1])>>>4)return t;t++}},e.prototype.readNextAACFrame=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_syncword_offset_,n=(8&e[i+1])>>>3,a=(6&e[i+1])>>>1,r=1&e[i+1],s=(192&e[i+2])>>>6,o=(60&e[i+2])>>>2,d=(1&e[i+2])<<2|(192&e[i+3])>>>6,_=(3&e[i+3])<<11|e[i+4]<<3|(224&e[i+5])>>>5;e[i+6];if(i+_>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var h=1===r?7:9,c=_-h;i+=h;var u=this.findNextSyncwordOffset(i+c);if(this.current_syncword_offset_=u,(0===n||1===n)&&0===a){var l=e.subarray(i,i+c);(t=new F).audio_object_type=s+1,t.sampling_freq_index=o,t.sampling_frequency=G[o],t.channel_config=d,t.data=l}}return t},e.prototype.hasIncompleteData=function(){return this.has_last_incomplete_data},e.prototype.getIncompleteData=function(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null},e}(),H=function(){function e(e){this.TAG=\"AACLOASParser\",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not found LOAS syncword until payload end\")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+1>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(695===(i[t+0]<<3|i[t+1]>>>5))return t;t++}},e.prototype.getLATMValue=function(e){for(var t=e.readBits(2),i=0,n=0;n<=t;n++)i<<=8,i|=e.readByte();return i},e.prototype.readNextAACFrame=function(e){for(var t=this.data_,i=null;null==i&&!this.eof_flag_;){var n=this.current_syncword_offset_,a=(31&t[n+1])<<8|t[n+2];if(n+3+a>=this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var s=new f(t.subarray(n+3,n+3+a)),o=null;if(s.readBool()){if(null==e){r.a.w(this.TAG,\"StreamMuxConfig Missing\"),this.current_syncword_offset_=this.findNextSyncwordOffset(n+3+a),s.destroy();continue}o=e}else{var d=s.readBool();if(d&&s.readBool()){r.a.e(this.TAG,\"audioMuxVersionA is Not Supported\"),s.destroy();break}if(d&&this.getLATMValue(s),!s.readBool()){r.a.e(this.TAG,\"allStreamsSameTimeFraming zero is Not Supported\"),s.destroy();break}if(0!==s.readBits(6)){r.a.e(this.TAG,\"more than 2 numSubFrames Not Supported\"),s.destroy();break}if(0!==s.readBits(4)){r.a.e(this.TAG,\"more than 2 numProgram Not Supported\"),s.destroy();break}if(0!==s.readBits(3)){r.a.e(this.TAG,\"more than 2 numLayer Not Supported\"),s.destroy();break}var _=d?this.getLATMValue(s):0,h=s.readBits(5);_-=5;var c=s.readBits(4);_-=4;var u=s.readBits(4);_-=4,s.readBits(3),(_-=3)>0&&s.readBits(_);var l=s.readBits(3);if(0!==l){r.a.e(this.TAG,\"frameLengthType = \"+l+\". Only frameLengthType = 0 Supported\"),s.destroy();break}s.readByte();var p=s.readBool();if(p)if(d)this.getLATMValue(s);else{for(var m=0;;){m<<=8;var g=s.readBool();if(m+=s.readByte(),!g)break}console.log(m)}s.readBool()&&s.readByte(),(o=new j).audio_object_type=h,o.sampling_freq_index=c,o.sampling_frequency=G[o.sampling_freq_index],o.channel_config=u,o.other_data_present=p}for(var v=0;;){var y=s.readByte();if(v+=y,255!==y)break}for(var b=new Uint8Array(v),S=0;S=6?(n=5,t=new Array(4),s=a-3):(n=2,t=new Array(2),s=a):-1!==o.indexOf(\"android\")?(n=2,t=new Array(2),s=a):(n=5,s=a,t=new Array(4),a>=6?s=a-3:1===r&&(n=2,t=new Array(2),s=a)),t[0]=n<<3,t[0]|=(15&a)>>>1,t[1]=(15&a)<<7,t[1]|=(15&r)<<3,5===n&&(t[1]|=(15&s)>>>1,t[2]=(1&s)<<7,t[2]|=8,t[3]=0),this.config=t,this.sampling_rate=G[a],this.channel_count=r,this.codec_mimetype=\"mp4a.40.\"+n,this.original_codec_mimetype=\"mp4a.40.\"+i},K=function(){},W=function(){};!function(e){e[e.kSpliceNull=0]=\"kSpliceNull\",e[e.kSpliceSchedule=4]=\"kSpliceSchedule\",e[e.kSpliceInsert=5]=\"kSpliceInsert\",e[e.kTimeSignal=6]=\"kTimeSignal\",e[e.kBandwidthReservation=7]=\"kBandwidthReservation\",e[e.kPrivateCommand=255]=\"kPrivateCommand\"}(N||(N={}));var X,Y=function(e){var t=e.readBool();return t?(e.readBits(6),{time_specified_flag:t,pts_time:4*e.readBits(31)+e.readBits(2)}):(e.readBits(7),{time_specified_flag:t})},J=function(e){var t=e.readBool();return e.readBits(6),{auto_return:t,duration:4*e.readBits(31)+e.readBits(2)}},Z=function(e,t){var i=t.readBits(8);return e?{component_tag:i}:{component_tag:i,splice_time:Y(t)}},Q=function(e){return{component_tag:e.readBits(8),utc_splice_time:e.readBits(32)}},$=function(e){var t=e.readBits(32),i=e.readBool();e.readBits(7);var n={splice_event_id:t,splice_event_cancel_indicator:i};if(i)return n;if(n.out_of_network_indicator=e.readBool(),n.program_splice_flag=e.readBool(),n.duration_flag=e.readBool(),e.readBits(5),n.program_splice_flag)n.utc_splice_time=e.readBits(32);else{n.component_count=e.readBits(8),n.components=[];for(var a=0;a=i.byteLength)return this.eof_flag_=!0,i.byteLength;var n=i[t+0]<<24|i[t+1]<<16|i[t+2]<<8|i[t+3],a=i[t+0]<<16|i[t+1]<<8|i[t+2];if(1===n||1===a)return t;t++}},e.prototype.readNextNaluPayload=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_startcode_offset_,n=e[i+=1===(e[i]<<24|e[i+1]<<16|e[i+2]<<8|e[i+3])?4:3]>>1&63,a=(128&e[i])>>>7,r=this.findNextStartCodeOffset(i);if(this.current_startcode_offset_=r,0===a){var s=e.subarray(i,r);(t=new de).type=n,t.data=s}}return t},e}(),ce=function(){function e(e,t,i,n){var a=23+(5+e.byteLength)+(5+t.byteLength)+(5+i.byteLength),r=this.data=new Uint8Array(a);r[0]=1,r[1]=(3&n.general_profile_space)<<6|(n.general_tier_flag?1:0)<<5|31&n.general_profile_idc,r[2]=n.general_profile_compatibility_flags_1,r[3]=n.general_profile_compatibility_flags_2,r[4]=n.general_profile_compatibility_flags_3,r[5]=n.general_profile_compatibility_flags_4,r[6]=n.general_constraint_indicator_flags_1,r[7]=n.general_constraint_indicator_flags_2,r[8]=n.general_constraint_indicator_flags_3,r[9]=n.general_constraint_indicator_flags_4,r[10]=n.general_constraint_indicator_flags_5,r[11]=n.general_constraint_indicator_flags_6,r[12]=n.general_level_idc,r[13]=240|(3840&n.min_spatial_segmentation_idc)>>8,r[14]=255&n.min_spatial_segmentation_idc,r[15]=252|3&n.parallelismType,r[16]=252|3&n.chroma_format_idc,r[17]=248|7&n.bit_depth_luma_minus8,r[18]=248|7&n.bit_depth_chroma_minus8,r[19]=0,r[20]=0,r[21]=(3&n.constant_frame_rate)<<6|(7&n.num_temporal_layers)<<3|(n.temporal_id_nested?1:0)<<2|3,r[22]=3,r[23]=128|X.kSliceVPS,r[24]=0,r[25]=1,r[26]=(65280&e.byteLength)>>8,r[27]=(255&e.byteLength)>>0,r.set(e,28),r[23+(5+e.byteLength)+0]=128|X.kSliceSPS,r[23+(5+e.byteLength)+1]=0,r[23+(5+e.byteLength)+2]=1,r[23+(5+e.byteLength)+3]=(65280&t.byteLength)>>8,r[23+(5+e.byteLength)+4]=(255&t.byteLength)>>0,r.set(t,23+(5+e.byteLength)+5),r[23+(5+e.byteLength+5+t.byteLength)+0]=128|X.kSlicePPS,r[23+(5+e.byteLength+5+t.byteLength)+1]=0,r[23+(5+e.byteLength+5+t.byteLength)+2]=1,r[23+(5+e.byteLength+5+t.byteLength)+3]=(65280&i.byteLength)>>8,r[23+(5+e.byteLength+5+t.byteLength)+4]=(255&i.byteLength)>>0,r.set(i,23+(5+e.byteLength+5+t.byteLength)+5)}return e.prototype.getData=function(){return this.data},e}(),ue=function(){},le=function(){},fe=function(){},pe=[[64,64,80,80,96,96,112,112,128,128,160,160,192,192,224,224,256,256,320,320,384,384,448,448,512,512,640,640,768,768,896,896,1024,1024,1152,1152,1280,1280],[69,70,87,88,104,105,121,122,139,140,174,175,208,209,243,244,278,279,348,349,417,418,487,488,557,558,696,697,835,836,975,976,1114,1115,1253,1254,1393,1394],[96,96,120,120,144,144,168,168,192,192,240,240,288,288,336,336,384,384,480,480,576,576,672,672,768,768,960,960,1152,1152,1344,1344,1536,1536,1728,1728,1920,1920]],me=function(){function e(e){this.TAG=\"AC3Parser\",this.data_=e,this.current_syncword_offset_=this.findNextSyncwordOffset(0),this.eof_flag_&&r.a.e(this.TAG,\"Could not found AC3 syncword until payload end\")}return e.prototype.findNextSyncwordOffset=function(e){for(var t=e,i=this.data_;;){if(t+7>=i.byteLength)return this.eof_flag_=!0,i.byteLength;if(2935===(i[t+0]<<8|i[t+1]<<0))return t;t++}},e.prototype.readNextAC3Frame=function(){for(var e=this.data_,t=null;null==t&&!this.eof_flag_;){var i=this.current_syncword_offset_,n=e[i+4]>>6,a=[48e3,44200,33e3][n],r=63&e[i+4],s=2*pe[n][r];if(i+s>this.data_.byteLength){this.eof_flag_=!0,this.has_last_incomplete_data=!0;break}var o=this.findNextSyncwordOffset(i+s);this.current_syncword_offset_=o;var d=e[i+5]>>3,_=7&e[i+5],h=e[i+6]>>5,c=0;0!=(1&h)&&1!==h&&(c+=2),0!=(4&h)&&(c+=2),2===h&&(c+=2);var u=(e[i+6]<<8|e[i+7]<<0)>>12-c&1,l=[2,1,2,3,3,4,4,5][h]+u;(t=new fe).sampling_frequency=a,t.channel_count=l,t.channel_mode=h,t.bit_stream_identification=d,t.low_frequency_effects_channel_on=u,t.bit_stream_mode=_,t.frame_size_code=r,t.data=e.subarray(i,i+s)}return t},e.prototype.hasIncompleteData=function(){return this.has_last_incomplete_data},e.prototype.getIncompleteData=function(){return this.has_last_incomplete_data?this.data_.subarray(this.current_syncword_offset_):null},e}(),ge=function(e){var t;t=[e.sampling_rate_code<<6|e.bit_stream_identification<<1|e.bit_stream_mode>>2,(3&e.bit_stream_mode)<<6|e.channel_mode<<3|e.low_frequency_effects_channel_on<<2|e.frame_size_code>>4,e.frame_size_code<<4&224],this.config=t,this.sampling_rate=e.sampling_frequency,this.bit_stream_identification=e.bit_stream_identification,this.bit_stream_mode=e.bit_stream_mode,this.low_frequency_effects_channel_on=e.low_frequency_effects_channel_on,this.channel_count=e.channel_count,this.channel_mode=e.channel_mode,this.codec_mimetype=\"ac-3\",this.original_codec_mimetype=\"ac-3\"},ve=function(){var e=function(t,i){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(t,i)};return function(t,i){function n(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),ye=function(){return(ye=Object.assign||function(e){for(var t,i=1,n=arguments.length;i=4?(r.a.v(\"TSDemuxer\",\"ts_packet_size = 192, m2ts mode\"),i-=4):204===n&&r.a.v(\"TSDemuxer\",\"ts_packet_size = 204, RS encoded MPEG2-TS stream\"),{match:!0,consumed:0,ts_packet_size:n,sync_offset:i})},t.prototype.bindDataSource=function(e){return e.onDataArrival=this.parseChunks.bind(this),this},t.prototype.resetMediaInfo=function(){this.media_info_=new o.a},t.prototype.parseChunks=function(e,t){if(!(this.onError&&this.onMediaInfo&&this.onTrackMetadata&&this.onDataAvailable))throw new c.a(\"onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified\");var i=0;for(this.first_parse_&&(this.first_parse_=!1,i=this.sync_offset_);i+this.ts_packet_size_<=e.byteLength;){var n=t+i;192===this.ts_packet_size_&&(i+=4);var a=new Uint8Array(e,i,188),s=a[0];if(71!==s){r.a.e(this.TAG,\"sync_byte = \"+s+\", not 0x47\");break}var o=(64&a[1])>>>6,d=(a[1],(31&a[1])<<8|a[2]),_=(48&a[3])>>>4,h=15&a[3],u={},l=4;if(2==_||3==_){var f=a[4];if(5+f===188){i+=188,204===this.ts_packet_size_&&(i+=16);continue}f>0&&(u=this.parseAdaptationField(e,i+4,1+f)),l=5+f}if(1==_||3==_)if(0===d||d===this.current_pmt_pid_||null!=this.pmt_&&this.pmt_.pid_stream_type[d]===E.kSCTE35){var p=188-l;this.handleSectionSlice(e,i+l,p,{pid:d,file_position:n,payload_unit_start_indicator:o,continuity_conunter:h,random_access_indicator:u.random_access_indicator})}else if(null!=this.pmt_&&null!=this.pmt_.pid_stream_type[d]){p=188-l;var m=this.pmt_.pid_stream_type[d];d!==this.pmt_.common_pids.h264&&d!==this.pmt_.common_pids.h265&&d!==this.pmt_.common_pids.adts_aac&&d!==this.pmt_.common_pids.loas_aac&&d!==this.pmt_.common_pids.ac3&&d!==this.pmt_.common_pids.opus&&d!==this.pmt_.common_pids.mp3&&!0!==this.pmt_.pes_private_data_pids[d]&&!0!==this.pmt_.timed_id3_pids[d]||this.handlePESSlice(e,i+l,p,{pid:d,stream_type:m,file_position:n,payload_unit_start_indicator:o,continuity_conunter:h,random_access_indicator:u.random_access_indicator})}i+=188,204===this.ts_packet_size_&&(i+=16)}return this.dispatchAudioVideoMediaSegment(),i},t.prototype.parseAdaptationField=function(e,t,i){var n=new Uint8Array(e,t,i),a=n[0];return a>0?a>183?(r.a.w(this.TAG,\"Illegal adaptation_field_length: \"+a),{}):{discontinuity_indicator:(128&n[1])>>>7,random_access_indicator:(64&n[1])>>>6,elementary_stream_priority_indicator:(32&n[1])>>>5}:{}},t.prototype.handleSectionSlice=function(e,t,i,n){var a=new Uint8Array(e,t,i),r=this.section_slice_queues_[n.pid];if(n.payload_unit_start_indicator){var s=a[0];if(null!=r&&0!==r.total_length){var o=new Uint8Array(e,t+1,Math.min(i,s));r.slices.push(o),r.total_length+=o.byteLength,r.total_length===r.expected_length?this.emitSectionSlices(r,n):this.clearSlices(r,n)}for(var d=1+s;d=r.expected_length&&this.clearSlices(r,n),d+=o.byteLength}}else if(null!=r&&0!==r.total_length){o=new Uint8Array(e,t,Math.min(i,r.expected_length-r.total_length));r.slices.push(o),r.total_length+=o.byteLength,r.total_length===r.expected_length?this.emitSectionSlices(r,n):r.total_length>=r.expected_length&&this.clearSlices(r,n)}},t.prototype.handlePESSlice=function(e,t,i,n){var a=new Uint8Array(e,t,i),s=a[0]<<16|a[1]<<8|a[2],o=(a[3],a[4]<<8|a[5]);if(n.payload_unit_start_indicator){if(1!==s)return void r.a.e(this.TAG,\"handlePESSlice: packet_start_code_prefix should be 1 but with value \"+s);var d=this.pes_slice_queues_[n.pid];d&&(0===d.expected_length||d.expected_length===d.total_length?this.emitPESSlices(d,n):this.clearSlices(d,n)),this.pes_slice_queues_[n.pid]=new C,this.pes_slice_queues_[n.pid].file_position=n.file_position,this.pes_slice_queues_[n.pid].random_access_indicator=n.random_access_indicator}if(null!=this.pes_slice_queues_[n.pid]){var _=this.pes_slice_queues_[n.pid];_.slices.push(a),n.payload_unit_start_indicator&&(_.expected_length=0===o?0:o+6),_.total_length+=a.byteLength,_.expected_length>0&&_.expected_length===_.total_length?this.emitPESSlices(_,n):_.expected_length>0&&_.expected_length<_.total_length&&this.clearSlices(_,n)}},t.prototype.emitSectionSlices=function(e,t){for(var i=new Uint8Array(e.total_length),n=0,a=0;n>>6,o=t[8],d=void 0,_=void 0;2!==s&&3!==s||(d=536870912*(14&t[9])+4194304*(255&t[10])+16384*(254&t[11])+128*(255&t[12])+(254&t[13])/2,_=3===s?536870912*(14&t[14])+4194304*(255&t[15])+16384*(254&t[16])+128*(255&t[17])+(254&t[18])/2:d);var h=9+o,c=void 0;if(0!==a){if(a<3+o)return void r.a.v(this.TAG,\"Malformed PES: PES_packet_length < 3 + PES_header_data_length\");c=a-3-o}else c=t.byteLength-h;var u=t.subarray(h,h+c);switch(e.stream_type){case E.kMPEG1Audio:case E.kMPEG2Audio:this.parseMP3Payload(u,d);break;case E.kPESPrivateData:this.pmt_.common_pids.opus===e.pid?this.parseOpusPayload(u,d):this.pmt_.common_pids.ac3===e.pid?this.parseAC3Payload(u,d):this.pmt_.smpte2038_pids[e.pid]?this.parseSMPTE2038MetadataPayload(u,d,_,e.pid,n):this.parsePESPrivateDataPayload(u,d,_,e.pid,n);break;case E.kADTSAAC:this.parseADTSAACPayload(u,d);break;case E.kLOASAAC:this.parseLOASAACPayload(u,d);break;case E.kAC3:this.parseAC3Payload(u,d);break;case E.kID3:this.parseTimedID3MetadataPayload(u,d,_,e.pid,n);break;case E.kH264:this.parseH264Payload(u,d,_,e.file_position,e.random_access_indicator);break;case E.kH265:this.parseH265Payload(u,d,_,e.file_position,e.random_access_indicator)}}else if((188===n||191===n||240===n||241===n||255===n||242===n||248===n)&&e.stream_type===E.kPESPrivateData){h=6,c=void 0;c=0!==a?a:t.byteLength-h;u=t.subarray(h,h+c);this.parsePESPrivateDataPayload(u,void 0,void 0,e.pid,n)}}else r.a.e(this.TAG,\"parsePES: packet_start_code_prefix should be 1 but with value \"+i)},t.prototype.parsePAT=function(e){var t=e[0];if(0===t){var i=(15&e[1])<<8|e[2],n=(e[3],e[4],(62&e[5])>>>1),a=1&e[5],s=e[6],o=(e[7],null);if(1===a&&0===s)(o=new T).version_number=n;else if(null==(o=this.pat_))return;for(var d=i-5-4,_=-1,h=-1,c=8;c<8+d;c+=4){var u=e[c]<<8|e[c+1],l=(31&e[c+2])<<8|e[c+3];0===u?o.network_pid=l:(o.program_pmt_pid[u]=l,-1===_&&(_=u),-1===h&&(h=l))}1===a&&0===s&&(null==this.pat_&&r.a.v(this.TAG,\"Parsed first PAT: \"+JSON.stringify(o)),this.pat_=o,this.current_program_=_,this.current_pmt_pid_=h)}else r.a.e(this.TAG,\"parsePAT: table_id \"+t+\" is not corresponded to PAT!\")},t.prototype.parsePMT=function(e){var t=e[0];if(2===t){var i=(15&e[1])<<8|e[2],n=e[3]<<8|e[4],a=(62&e[5])>>>1,s=1&e[5],o=e[6],d=(e[7],null);if(1===s&&0===o)(d=new w).program_number=n,d.version_number=a,this.program_pmt_map_[n]=d;else if(null==(d=this.program_pmt_map_[n]))return;e[8],e[9];for(var _=(15&e[10])<<8|e[11],h=12+_,c=i-9-_-4,u=h;u0){for(var v=u+5;v1&&(r.a.w(this.TAG,\"AAC: Detected pts overlapped, expected: \"+s+\"ms, PES pts: \"+a+\"ms\"),a=s)}}for(var o,d=new z(e),_=null,h=a;null!=(_=d.readNextAACFrame());){n=1024/_.sampling_frequency*1e3;var c={codec:\"aac\",data:_};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:\"aac\",audio_object_type:_.audio_object_type,sampling_freq_index:_.sampling_freq_index,sampling_frequency:_.sampling_frequency,channel_config:_.channel_config},this.dispatchAudioInitSegment(c)):this.detectAudioMetadataChange(c)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(c)),o=h;var u=Math.floor(h),l={unit:_.data,length:_.data.byteLength,pts:u,dts:u};this.audio_track_.samples.push(l),this.audio_track_.length+=_.data.byteLength,h+=n}d.hasIncompleteData()&&(this.aac_last_incomplete_data_=d.getIncompleteData()),o&&(this.aac_last_sample_pts_=o)}},t.prototype.parseLOASAACPayload=function(e,t){var i;if(!this.has_video_||this.video_init_segment_dispatched_){if(this.aac_last_incomplete_data_){var n=new Uint8Array(e.byteLength+this.aac_last_incomplete_data_.byteLength);n.set(this.aac_last_incomplete_data_,0),n.set(e,this.aac_last_incomplete_data_.byteLength),e=n}var a,s;if(null!=t&&(s=t/this.timescale_),\"aac\"===this.audio_metadata_.codec){if(null==t&&null!=this.aac_last_sample_pts_)a=1024/this.audio_metadata_.sampling_frequency*1e3,s=this.aac_last_sample_pts_+a;else if(null==t)return void r.a.w(this.TAG,\"AAC: Unknown pts\");if(this.aac_last_incomplete_data_&&this.aac_last_sample_pts_){a=1024/this.audio_metadata_.sampling_frequency*1e3;var o=this.aac_last_sample_pts_+a;Math.abs(o-s)>1&&(r.a.w(this.TAG,\"AAC: Detected pts overlapped, expected: \"+o+\"ms, PES pts: \"+s+\"ms\"),s=o)}}for(var d,_=new H(e),h=null,c=s;null!=(h=_.readNextAACFrame(null!==(i=this.loas_previous_frame)&&void 0!==i?i:void 0));){this.loas_previous_frame=h,a=1024/h.sampling_frequency*1e3;var u={codec:\"aac\",data:h};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:\"aac\",audio_object_type:h.audio_object_type,sampling_freq_index:h.sampling_freq_index,sampling_frequency:h.sampling_frequency,channel_config:h.channel_config},this.dispatchAudioInitSegment(u)):this.detectAudioMetadataChange(u)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(u)),d=c;var l=Math.floor(c),f={unit:h.data,length:h.data.byteLength,pts:l,dts:l};this.audio_track_.samples.push(f),this.audio_track_.length+=h.data.byteLength,c+=a}_.hasIncompleteData()&&(this.aac_last_incomplete_data_=_.getIncompleteData()),d&&(this.aac_last_sample_pts_=d)}},t.prototype.parseAC3Payload=function(e,t){if(!this.has_video_||this.video_init_segment_dispatched_){var i,n;if(null!=t&&(n=t/this.timescale_),\"ac-3\"===this.audio_metadata_.codec)if(null==t&&null!=this.aac_last_sample_pts_)i=1536/this.audio_metadata_.sampling_frequency*1e3,n=this.aac_last_sample_pts_+i;else if(null==t)return void r.a.w(this.TAG,\"Opus: Unknown pts\");for(var a,s=new me(e),o=null,d=n;null!=(o=s.readNextAC3Frame());){i=1536/o.sampling_frequency*1e3;var _={codec:\"ac-3\",data:o};0==this.audio_init_segment_dispatched_?(this.audio_metadata_={codec:\"ac-3\",sampling_frequency:o.sampling_frequency,bit_stream_identification:o.bit_stream_identification,bit_stream_mode:o.bit_stream_mode,low_frequency_effects_channel_on:o.low_frequency_effects_channel_on,channel_mode:o.channel_mode},console.log(JSON.stringify(this.audio_metadata_)),this.dispatchAudioInitSegment(_)):this.detectAudioMetadataChange(_)&&(this.dispatchAudioMediaSegment(),this.dispatchAudioInitSegment(_)),a=d;var h=Math.floor(d),c={unit:o.data,length:o.data.byteLength,pts:h,dts:h};this.audio_track_.samples.push(c),this.audio_track_.length+=o.data.byteLength,d+=i}a&&(this.aac_last_sample_pts_=a)}},t.prototype.parseOpusPayload=function(e,t){if(!this.has_video_||this.video_init_segment_dispatched_){var i,n;if(null!=t&&(n=t/this.timescale_),\"opus\"===this.audio_metadata_.codec)if(null==t&&null!=this.aac_last_sample_pts_)i=20,n=this.aac_last_sample_pts_+i;else if(null==t)return void r.a.w(this.TAG,\"Opus: Unknown pts\");for(var a,s=n,o=0;o>>3&3,s=(6&e[1])>>1,o=(240&e[2])>>>4,d=(12&e[2])>>>2,_=3!==(e[3]>>>6&3)?2:1,h=0,c=34;switch(r){case 0:h=[11025,12e3,8e3,0][d];break;case 2:h=[22050,24e3,16e3,0][d];break;case 3:h=[44100,48e3,32e3,0][d]}switch(s){case 1:c=34,o>>24&255,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i.set(e,4);var s=8;for(r=0;r>>24&255,t>>>16&255,t>>>8&255,255&t,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))},e.trak=function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))},e.tkhd=function(t){var i=t.id,n=t.duration,a=t.presentWidth,r=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,a>>>8&255,255&a,0,0,r>>>8&255,255&r,0,0]))},e.mdia=function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))},e.mdhd=function(t){var i=t.timescale,n=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,n>>>24&255,n>>>16&255,n>>>8&255,255&n,85,196,0,0]))},e.hdlr=function(t){var i=null;return i=\"audio\"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,i)},e.minf=function(t){var i=null;return i=\"audio\"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,i,e.dinf(),e.stbl(t))},e.dinf=function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))},e.stbl=function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))},e.stsd=function(t){return\"audio\"===t.type?\"mp3\"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):\"ac-3\"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.ac3(t)):\"opus\"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.Opus(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):\"video\"===t.type&&t.codec.startsWith(\"hvc1\")?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.hvc1(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))},e.mp3=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[\".mp3\"],a)},e.mp4a=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.mp4a,a,e.esds(t))},e.ac3=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types[\"ac-3\"],a,e.box(e.types.dac3,new Uint8Array(t.config)))},e.esds=function(t){var i=t.config||[],n=i.length,a=new Uint8Array([0,0,0,0,3,23+n,0,1,0,4,15+n,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([n]).concat(i).concat([6,1,2]));return e.box(e.types.esds,a)},e.Opus=function(t){var i=t.channelCount,n=t.audioSampleRate,a=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,i,0,16,0,0,0,0,n>>>8&255,255&n,0,0]);return e.box(e.types.Opus,a,e.dOps(t))},e.dOps=function(t){var i=t.channelCount,n=t.channelConfigCode,a=t.audioSampleRate;if(t.config)return e.box(e.types.dOps,s);var r=[];switch(n){case 1:case 2:r=[0];break;case 0:r=[255,1,1,0,1];break;case 128:r=[255,2,0,0,1];break;case 3:r=[1,2,1,0,2,1];break;case 4:r=[1,2,2,0,1,2,3];break;case 5:r=[1,3,2,0,4,1,2,3];break;case 6:r=[1,4,2,0,4,1,2,3,5];break;case 7:r=[1,4,2,0,4,1,2,3,5,6];break;case 8:r=[1,5,3,0,6,1,2,3,4,5,7];break;case 130:r=[1,1,2,0,1];break;case 131:r=[1,1,3,0,1,2];break;case 132:r=[1,1,4,0,1,2,3];break;case 133:r=[1,1,5,0,1,2,3,4];break;case 134:r=[1,1,6,0,1,2,3,4,5];break;case 135:r=[1,1,7,0,1,2,3,4,5,6];break;case 136:r=[1,1,8,0,1,2,3,4,5,6,7]}var s=new Uint8Array(Se([0,i,0,0,a>>>24&255,a>>>17&255,a>>>8&255,a>>>0&255,0,0],r));return e.box(e.types.dOps,s)},e.avc1=function(t){var i=t.avcc,n=t.codecWidth,a=t.codecHeight,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,a>>>8&255,255&a,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,r,e.box(e.types.avcC,i))},e.hvc1=function(t){var i=t.hvcc,n=t.codecWidth,a=t.codecHeight,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>>8&255,255&n,a>>>8&255,255&a,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.hvc1,r,e.box(e.types.hvcC,i))},e.mvex=function(t){return e.box(e.types.mvex,e.trex(t))},e.trex=function(t){var i=t.id,n=new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,n)},e.moof=function(t,i){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,i))},e.mfhd=function(t){var i=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,i)},e.traf=function(t,i){var n=t.id,a=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),r=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.sdtp(t),o=e.trun(t,s.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,a,r,o,s)},e.sdtp=function(t){for(var i=t.samples||[],n=i.length,a=new Uint8Array(4+n),r=0;r>>24&255,a>>>16&255,a>>>8&255,255&a,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0);for(var o=0;o>>24&255,d>>>16&255,d>>>8&255,255&d,_>>>24&255,_>>>16&255,_>>>8&255,255&_,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.isNonSync,0,0,c>>>24&255,c>>>16&255,c>>>8&255,255&c],12+16*o)}return e.box(e.types.trun,s)},e.mdat=function(t){return e.box(e.types.mdat,t)},e}();Ee.init();var Ae=Ee,Re=function(){function e(){}return e.getSilentFrame=function(e,t){if(\"mp4a.40.2\"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null},e}(),Te=i(7),Le=function(){function e(e){this.TAG=\"MP4Remuxer\",this._config=e,this._isLive=!0===e.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new Te.c(\"audio\"),this._videoSegmentInfoList=new Te.c(\"video\"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!s.a.chrome||!(s.a.version.major<50||50===s.a.version.major&&s.a.version.build<2661)),this._fillSilentAfterSeek=s.a.msedge||s.a.msie,this._mp3UseMpegAudio=!s.a.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return e.prototype.destroy=function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null},e.prototype.bindDataSource=function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this},Object.defineProperty(e.prototype,\"onInitSegment\",{get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onMediaSegment\",{get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e},enumerable:!1,configurable:!0}),e.prototype.insertDiscontinuity=function(){this._audioNextDts=this._videoNextDts=void 0},e.prototype.seek=function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()},e.prototype.remux=function(e,t){if(!this._onMediaSegment)throw new c.a(\"MP4Remuxer: onMediaSegment callback must be specificed!\");this._dtsBaseInited||this._calculateDtsBase(e,t),t&&this._remuxVideo(t),e&&this._remuxAudio(e)},e.prototype._onTrackMetadataReceived=function(e,t){var i=null,n=\"mp4\",a=t.codec;if(\"audio\"===e)this._audioMeta=t,\"mp3\"===t.codec&&this._mp3UseMpegAudio?(n=\"mpeg\",a=\"\",i=new Uint8Array):i=Ae.generateInitSegment(t);else{if(\"video\"!==e)return;this._videoMeta=t,i=Ae.generateInitSegment(t)}if(!this._onInitSegment)throw new c.a(\"MP4Remuxer: onInitSegment callback must be specified!\");this._onInitSegment(e,{type:e,data:i.buffer,codec:a,container:e+\"/\"+n,mediaDuration:t.duration})},e.prototype._calculateDtsBase=function(e,t){this._dtsBaseInited||(e&&e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t&&t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)},e.prototype.getTimestampBase=function(){if(this._dtsBaseInited)return this._dtsBase},e.prototype.flushStashedSamples=function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,i={type:\"video\",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(i.samples.push(e),i.length=e.length);var n={type:\"audio\",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(n.samples.push(t),n.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(i,!0),this._remuxAudio(n,!0)},e.prototype._remuxAudio=function(e,t){if(null!=this._audioMeta){var i,n=e,a=n.samples,o=void 0,d=-1,_=this._audioMeta.refSampleDuration,h=\"mp3\"===this._audioMeta.codec&&this._mp3UseMpegAudio,c=this._dtsBaseInited&&void 0===this._audioNextDts,u=!1;if(a&&0!==a.length&&(1!==a.length||t)){var l=0,f=null,p=0;h?(l=0,p=n.length):(l=8,p=8+n.length);var m=null;if(a.length>1&&(p-=(m=a.pop()).length),null!=this._audioStashedLastSample){var g=this._audioStashedLastSample;this._audioStashedLastSample=null,a.unshift(g),p+=g.length}null!=m&&(this._audioStashedLastSample=m);var v=a[0].dts-this._dtsBase;if(this._audioNextDts)o=v-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())o=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&\"mp3\"!==this._audioMeta.originalCodec&&(u=!0);else{var y=this._audioSegmentInfoList.getLastSampleBefore(v);if(null!=y){var b=v-(y.originalDts+y.duration);b<=3&&(b=0),o=v-(y.dts+y.duration+b)}else o=0}if(u){var S=v-o,E=this._videoSegmentInfoList.getLastSegmentBefore(v);if(null!=E&&E.beginDts=3*_&&this._fillAudioTimestampGap&&!s.a.safari){D=!0;var O,P=Math.floor(o/_);r.a.w(this.TAG,\"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\\noriginalDts: \"+k+\" ms, curRefDts: \"+I+\" ms, dtsCorrection: \"+Math.round(o)+\" ms, generate: \"+P+\" frames\"),A=Math.floor(I),B=Math.floor(I+_)-A,null==(O=Re.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount))&&(r.a.w(this.TAG,\"Unable to generate silent frame for \"+this._audioMeta.originalCodec+\" with \"+this._audioMeta.channelCount+\" channels, repeat last frame\"),O=w),C=[];for(var M=0;M=1?T[T.length-1].duration:Math.floor(_);this._audioNextDts=A+B}-1===d&&(d=A),T.push({dts:A,pts:A,cts:0,unit:g.unit,size:g.unit.byteLength,duration:B,originalDts:k,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),D&&T.push.apply(T,C)}}if(0===T.length)return n.samples=[],void(n.length=0);h?f=new Uint8Array(p):((f=new Uint8Array(p))[0]=p>>>24&255,f[1]=p>>>16&255,f[2]=p>>>8&255,f[3]=255&p,f.set(Ae.types.mdat,4));for(L=0;L1&&(c-=(u=r.pop()).length),null!=this._videoStashedLastSample){var l=this._videoStashedLastSample;this._videoStashedLastSample=null,r.unshift(l),c+=l.length}null!=u&&(this._videoStashedLastSample=u);var f=r[0].dts-this._dtsBase;if(this._videoNextDts)s=f-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())s=0;else{var p=this._videoSegmentInfoList.getLastSampleBefore(f);if(null!=p){var m=f-(p.originalDts+p.duration);m<=3&&(m=0),s=f-(p.dts+p.duration+m)}else s=0}for(var g=new Te.b,v=[],y=0;y=1?v[v.length-1].duration:Math.floor(this._videoMeta.refSampleDuration);if(S){var L=new Te.d(E,R,T,l.dts,!0);L.fileposition=l.fileposition,g.appendSyncPoint(L)}v.push({dts:E,pts:R,cts:A,units:l.units,size:l.length,isKeyframe:S,duration:T,originalDts:b,flags:{isLeading:0,dependsOn:S?2:1,isDependedOn:S?1:0,hasRedundancy:0,isNonSync:S?0:1}})}(h=new Uint8Array(c))[0]=c>>>24&255,h[1]=c>>>16&255,h[2]=c>>>8&255,h[3]=255&c,h.set(Ae.types.mdat,4);for(y=0;y0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,n=this._demuxer.parseChunks(e,t);else{var a=null;(a=A.probe(e)).match&&(this._setupFLVDemuxerRemuxer(a),n=this._demuxer.parseChunks(e,t)),a.match||a.needMoreData||(a=be.probe(e)).match&&(this._setupTSDemuxerRemuxer(a),n=this._demuxer.parseChunks(e,t)),a.match||a.needMoreData||(a=null,r.a.e(this.TAG,\"Non MPEG-TS/FLV, Unsupported media type!\"),Promise.resolve().then((function(){i._internalAbort()})),this._emitter.emit(ke.a.DEMUX_ERROR,m.a.FORMAT_UNSUPPORTED,\"Non MPEG-TS/FLV, Unsupported media type!\"))}return n},e.prototype._setupFLVDemuxerRemuxer=function(e){this._demuxer=new A(e,this._config),this._remuxer||(this._remuxer=new Le(this._config));var t=this._mediaDataSource;null==t.duration||isNaN(t.duration)||(this._demuxer.overridedDuration=t.duration),\"boolean\"==typeof t.hasAudio&&(this._demuxer.overridedHasAudio=t.hasAudio),\"boolean\"==typeof t.hasVideo&&(this._demuxer.overridedHasVideo=t.hasVideo),this._demuxer.timestampBase=t.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this)},e.prototype._setupTSDemuxerRemuxer=function(e){var t=this._demuxer=new be(e,this._config);this._remuxer||(this._remuxer=new Le(this._config)),t.onError=this._onDemuxException.bind(this),t.onMediaInfo=this._onMediaInfo.bind(this),t.onMetaDataArrived=this._onMetaDataArrived.bind(this),t.onTimedID3Metadata=this._onTimedID3Metadata.bind(this),t.onSMPTE2038Metadata=this._onSMPTE2038Metadata.bind(this),t.onSCTE35Metadata=this._onSCTE35Metadata.bind(this),t.onPESPrivateDataDescriptor=this._onPESPrivateDataDescriptor.bind(this),t.onPESPrivateData=this._onPESPrivateData.bind(this),this._remuxer.bindDataSource(this._demuxer),this._demuxer.bindDataSource(this._ioctl),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this)},e.prototype._onMediaInfo=function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,o.a.prototype));var i=Object.assign({},e);Object.setPrototypeOf(i,o.a.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=i,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then((function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)}))},e.prototype._onMetaDataArrived=function(e){this._emitter.emit(ke.a.METADATA_ARRIVED,e)},e.prototype._onScriptDataArrived=function(e){this._emitter.emit(ke.a.SCRIPTDATA_ARRIVED,e)},e.prototype._onTimedID3Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(ke.a.TIMED_ID3_METADATA_ARRIVED,e))},e.prototype._onSMPTE2038Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.dts&&(e.dts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),this._emitter.emit(ke.a.SMPTE2038_METADATA_ARRIVED,e))},e.prototype._onSCTE35Metadata=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),this._emitter.emit(ke.a.SCTE35_METADATA_ARRIVED,e))},e.prototype._onPESPrivateDataDescriptor=function(e){this._emitter.emit(ke.a.PES_PRIVATE_DATA_DESCRIPTOR,e)},e.prototype._onPESPrivateData=function(e){var t=this._remuxer.getTimestampBase();null!=t&&(null!=e.pts&&(e.pts-=t),null!=e.nearest_pts&&(e.nearest_pts-=t),null!=e.dts&&(e.dts-=t),this._emitter.emit(ke.a.PES_PRIVATE_DATA_ARRIVED,e))},e.prototype._onIOSeeked=function(){this._remuxer.insertDiscontinuity()},e.prototype._onIOComplete=function(e){var t=e+1;t0&&i[0].originalDts===n&&(n=i[0].pts),this._emitter.emit(ke.a.RECOMMEND_SEEKPOINT,n)}},e.prototype._enableStatisticsReporter=function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))},e.prototype._disableStatisticsReporter=function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype._reportSegmentMediaInfo=function(e){var t=this._mediaInfo.segments[e],i=Object.assign({},t);i.duration=this._mediaInfo.duration,i.segmentCount=this._mediaInfo.segmentCount,delete i.segments,delete i.keyframesIndex,this._emitter.emit(ke.a.MEDIA_INFO,i)},e.prototype._reportStatisticsInfo=function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(ke.a.STATISTICS_INFO,e)},e}();t.a=De},function(e,t,i){\"use strict\";var n,a=i(0),r=function(){function e(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return e.prototype.reset=function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0},e.prototype.addBytes=function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())},Object.defineProperty(e.prototype,\"currentKBps\",{get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"lastSecondKBps\",{get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"averageKBps\",{get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024},enumerable:!1,configurable:!0}),e}(),s=i(2),o=i(4),d=i(3),_=(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},function(e,t){function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),h=function(e){function t(t,i){var n=e.call(this,\"fetch-stream-loader\")||this;return n.TAG=\"FetchStreamLoader\",n._seekHandler=t,n._config=i,n._needStash=!0,n._requestAbort=!1,n._abortController=null,n._contentLength=null,n._receivedLength=0,n}return _(t,e),t.isSupported=function(){try{var e=o.a.msedge&&o.a.version.minor>=15048,t=!o.a.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}},t.prototype.destroy=function(){this.isWorking()&&this.abort(),e.prototype.destroy.call(this)},t.prototype.open=function(e,t){var i=this;this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&null!=e.redirectedURL&&(n=e.redirectedURL);var a=this._seekHandler.getConfig(n,t),r=new self.Headers;if(\"object\"==typeof a.headers){var o=a.headers;for(var _ in o)o.hasOwnProperty(_)&&r.append(_,o[_])}var h={method:\"GET\",headers:r,mode:\"cors\",cache:\"default\",referrerPolicy:\"no-referrer-when-downgrade\"};if(\"object\"==typeof this._config.headers)for(var _ in this._config.headers)r.append(_,this._config.headers[_]);!1===e.cors&&(h.mode=\"same-origin\"),e.withCredentials&&(h.credentials=\"include\"),e.referrerPolicy&&(h.referrerPolicy=e.referrerPolicy),self.AbortController&&(this._abortController=new self.AbortController,h.signal=this._abortController.signal),this._status=s.c.kConnecting,self.fetch(a.url,h).then((function(e){if(i._requestAbort)return i._status=s.c.kIdle,void e.body.cancel();if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==a.url&&i._onURLRedirect){var t=i._seekHandler.removeURLParameters(e.url);i._onURLRedirect(t)}var n=e.headers.get(\"Content-Length\");return null!=n&&(i._contentLength=parseInt(n),0!==i._contentLength&&i._onContentLengthKnown&&i._onContentLengthKnown(i._contentLength)),i._pump.call(i,e.body.getReader())}if(i._status=s.c.kError,!i._onError)throw new d.d(\"FetchStreamLoader: Http code invalid, \"+e.status+\" \"+e.statusText);i._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})})).catch((function(e){if(!i._abortController||!i._abortController.signal.aborted){if(i._status=s.c.kError,!i._onError)throw e;i._onError(s.b.EXCEPTION,{code:-1,msg:e.message})}}))},t.prototype.abort=function(){if(this._requestAbort=!0,(this._status!==s.c.kBuffering||!o.a.chrome)&&this._abortController)try{this._abortController.abort()}catch(e){}},t.prototype._pump=function(e){var t=this;return e.read().then((function(i){if(i.done)if(null!==t._contentLength&&t._receivedLength299)){if(this._status=s.c.kError,!this._onError)throw new d.d(\"MozChunkedLoader: Http code invalid, \"+t.status+\" \"+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=s.c.kBuffering}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,i=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,i,this._receivedLength)}},t.prototype._onLoadEnd=function(e){!0!==this._requestAbort?this._status!==s.c.kError&&(this._status=s.c.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)):this._requestAbort=!1},t.prototype._onXhrError=function(e){this._status=s.c.kError;var t=0,i=null;if(this._contentLength&&e.loaded=this._contentLength&&(i=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:i},this._internalOpen(this._dataSource,this._currentRequestRange)},t.prototype._internalOpen=function(e,t){this._lastTimeLoaded=0;var i=e.url;this._config.reuseRedirectedURL&&(null!=this._currentRedirectedURL?i=this._currentRedirectedURL:null!=e.redirectedURL&&(i=e.redirectedURL));var n=this._seekHandler.getConfig(i,t);this._currentRequestURL=n.url;var a=this._xhr=new XMLHttpRequest;if(a.open(\"GET\",n.url,!0),a.responseType=\"arraybuffer\",a.onreadystatechange=this._onReadyStateChange.bind(this),a.onprogress=this._onProgress.bind(this),a.onload=this._onLoad.bind(this),a.onerror=this._onXhrError.bind(this),e.withCredentials&&(a.withCredentials=!0),\"object\"==typeof n.headers){var r=n.headers;for(var s in r)r.hasOwnProperty(s)&&a.setRequestHeader(s,r[s])}if(\"object\"==typeof this._config.headers){r=this._config.headers;for(var s in r)r.hasOwnProperty(s)&&a.setRequestHeader(s,r[s])}a.send()},t.prototype.abort=function(){this._requestAbort=!0,this._internalAbort(),this._status=s.c.kComplete},t.prototype._internalAbort=function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)},t.prototype._onReadyStateChange=function(e){var t=e.target;if(2===t.readyState){if(null!=t.responseURL){var i=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&i!==this._currentRedirectedURL&&(this._currentRedirectedURL=i,this._onURLRedirect&&this._onURLRedirect(i))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=s.c.kBuffering}else{if(this._status=s.c.kError,!this._onError)throw new d.d(\"RangeLoader: Http code invalid, \"+t.status+\" \"+t.statusText);this._onError(s.b.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}},t.prototype._onProgress=function(e){if(this._status!==s.c.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var i=e.total;this._internalAbort(),null!=i&0!==i&&(this._totalLength=i)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var n=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(n)}},t.prototype._normalizeSpeed=function(e){var t=this._chunkSizeKBList,i=t.length-1,n=0,a=0,r=i;if(e=t[n]&&e=3&&(t=this._speedSampler.currentKBps)),0!==t){var i=this._normalizeSpeed(t);this._currentSpeedNormalized!==i&&(this._currentSpeedNormalized=i,this._currentChunkSizeKB=i)}var n=e.target.response,a=this._range.from+this._receivedLength;this._receivedLength+=n.byteLength;var r=!1;null!=this._contentLength&&this._receivedLength0&&this._receivedLength0)for(var r=i.split(\"&\"),s=0;s0;o[0]!==this._startName&&o[0]!==this._endName&&(d&&(a+=\"&\"),a+=r[s])}return 0===a.length?t:t+\"?\"+a},e}(),y=function(){function e(e,t,i){this.TAG=\"IOController\",this._config=t,this._extraData=i,this._stashInitialSize=65536,null!=t.stashInitialSize&&t.stashInitialSize>0&&(this._stashInitialSize=t.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===t.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=e,this._isWebSocketURL=/wss?:\\/\\/(.+?)/.test(e.url),this._refTotalLength=e.filesize?e.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new r,this._speedNormalizeList=[32,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return e.prototype.destroy=function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null},e.prototype.isWorking=function(){return this._loader&&this._loader.isWorking()&&!this._paused},e.prototype.isPaused=function(){return this._paused},Object.defineProperty(e.prototype,\"status\",{get:function(){return this._loader.status},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"extraData\",{get:function(){return this._extraData},set:function(e){this._extraData=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onDataArrival\",{get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onSeeked\",{get:function(){return this._onSeeked},set:function(e){this._onSeeked=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onError\",{get:function(){return this._onError},set:function(e){this._onError=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onComplete\",{get:function(){return this._onComplete},set:function(e){this._onComplete=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onRedirect\",{get:function(){return this._onRedirect},set:function(e){this._onRedirect=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"onRecoveredEarlyEof\",{get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentURL\",{get:function(){return this._dataSource.url},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasRedirect\",{get:function(){return null!=this._redirectedURL||null!=this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentRedirectedURL\",{get:function(){return this._redirectedURL||this._dataSource.redirectedURL},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentSpeed\",{get:function(){return this._loaderClass===f?this._loader.currentSpeed:this._speedSampler.lastSecondKBps},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"loaderType\",{get:function(){return this._loader.type},enumerable:!1,configurable:!0}),e.prototype._selectSeekHandler=function(){var e=this._config;if(\"range\"===e.seekType)this._seekHandler=new g(this._config.rangeLoadZeroStart);else if(\"param\"===e.seekType){var t=e.seekParamStart||\"bstart\",i=e.seekParamEnd||\"bend\";this._seekHandler=new v(t,i)}else{if(\"custom\"!==e.seekType)throw new d.b(\"Invalid seekType in config: \"+e.seekType);if(\"function\"!=typeof e.customSeekHandler)throw new d.b(\"Custom seekType specified in config but invalid customSeekHandler!\");this._seekHandler=new e.customSeekHandler}},e.prototype._selectLoader=function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=m;else if(h.isSupported())this._loaderClass=h;else if(u.isSupported())this._loaderClass=u;else{if(!f.isSupported())throw new d.d(\"Your browser doesn't support xhr with arraybuffer responseType!\");this._loaderClass=f}},e.prototype._createLoader=function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)},e.prototype.open=function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))},e.prototype.abort=function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)},e.prototype.pause=function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)},e.prototype.resume=function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}},e.prototype.seek=function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)},e.prototype._internalSeek=function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var i={from:e,to:-1};this._currentRange={from:i.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,i),this._onSeeked&&this._onSeeked()},e.prototype.updateUrl=function(e){if(!e||\"string\"!=typeof e||0===e.length)throw new d.b(\"Url must be a non-empty string!\");this._dataSource.url=e},e.prototype._expandBuffer=function(e){for(var t=this._stashSize;t+10485760){var n=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(i,0,t).set(n,0)}this._stashBuffer=i,this._bufferSize=t}},e.prototype._normalizeSpeed=function(e){var t=this._speedNormalizeList,i=t.length-1,n=0,a=0,r=i;if(e=t[n]&&e=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var i=1024*t+1048576;this._bufferSize0){var r=this._stashBuffer.slice(0,this._stashUsed);if((_=this._dispatchChunks(r,this._stashByteStart))0){h=new Uint8Array(r,_);o.set(h,0),this._stashUsed=h.byteLength,this._stashByteStart+=_}}else this._stashUsed=0,this._stashByteStart+=_;this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{if((_=this._dispatchChunks(e,t))this._bufferSize&&(this._expandBuffer(s),o=new Uint8Array(this._stashBuffer,0,this._bufferSize)),o.set(new Uint8Array(e,_),0),this._stashUsed+=s,this._stashByteStart=t+_}}else if(0===this._stashUsed){var s;if((_=this._dispatchChunks(e,t))this._bufferSize&&this._expandBuffer(s),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e,_),0),this._stashUsed+=s,this._stashByteStart=t+_}else{var o,_;if(this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength),(o=new Uint8Array(this._stashBuffer,0,this._bufferSize)).set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength,(_=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart))0){var h=new Uint8Array(this._stashBuffer,_);o.set(h,0)}this._stashUsed-=_,this._stashByteStart+=_}}},e.prototype._flushStashBuffer=function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),i=this._dispatchChunks(t,this._stashByteStart),n=t.byteLength-i;if(i0){var r=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,i);r.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=i}return 0}a.a.w(this.TAG,n+\" bytes unconsumed data remain when flush buffer, dropped\")}return this._stashUsed=0,this._stashByteStart=0,n}return 0},e.prototype._onLoaderComplete=function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)},e.prototype._onLoaderError=function(e,t){switch(a.a.e(this.TAG,\"Loader error, code = \"+t.code+\", msg = \"+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=s.b.UNRECOVERABLE_EARLY_EOF),e){case s.b.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var i=this._currentRange.to+1;return void(i0}),!1)}e.exports=function(e,t){t=t||{};var a={main:i.m},o=t.all?{main:Object.keys(a.main)}:function(e,t){for(var i={main:[t]},n={main:[]},a={main:{}};s(i);)for(var o=Object.keys(i),d=0;d1)for(var i=1;i0&&(n+=\";codecs=\"+i.codec);var a=!1;if(c.a.v(this.TAG,\"Received Initialization Segment, mimeType: \"+n),this._lastInitSegments[i.type]=i,n!==this._mimeTypes[i.type]){if(this._mimeTypes[i.type])c.a.v(this.TAG,\"Notice: \"+i.type+\" mimeType changed, origin: \"+this._mimeTypes[i.type]+\", target: \"+n);else{a=!0;try{var r=this._sourceBuffers[i.type]=this._mediaSource.addSourceBuffer(n);r.addEventListener(\"error\",this.e.onSourceBufferError),r.addEventListener(\"updateend\",this.e.onSourceBufferUpdateEnd)}catch(e){return c.a.e(this.TAG,e.message),void this._emitter.emit(S.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[i.type]=n}t||this._pendingSegments[i.type].push(i),a||this._sourceBuffers[i.type]&&!this._sourceBuffers[i.type].updating&&this._doAppendSegments(),u.a.safari&&\"audio/mpeg\"===i.container&&i.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=i.mediaDuration/1e3,this._updateMediaSourceDuration())},e.prototype.appendMediaSegment=function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var i=this._sourceBuffers[t.type];!i||i.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()},e.prototype.seek=function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var i=this._sourceBuffers[t];if(\"open\"===this._mediaSource.readyState)try{i.abort()}catch(e){c.a.e(this.TAG,e.message)}this._idrList.clear();var n=this._pendingSegments[t];if(n.splice(0,n.length),\"closed\"!==this._mediaSource.readyState){for(var a=0;a=1&&e-n.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1},e.prototype._doCleanupSourceBuffer=function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var i=this._sourceBuffers[t];if(i){for(var n=i.buffered,a=!1,r=0;r=this._config.autoCleanupMaxBackwardDuration){a=!0;var d=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:s,end:d})}}else o0&&(isNaN(t)||i>t)&&(c.a.v(this.TAG,\"Update MediaSource duration from \"+t+\" to \"+i),this._mediaSource.duration=i),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}},e.prototype._doRemoveRanges=function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],i=this._pendingRemoveRanges[e];i.length&&!t.updating;){var n=i.shift();t.remove(n.start,n.end)}},e.prototype._doAppendSegments=function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var i=e[t].shift();if(i.timestampOffset){var n=this._sourceBuffers[t].timestampOffset,a=i.timestampOffset/1e3;Math.abs(n-a)>.1&&(c.a.v(this.TAG,\"Update MPEG audio timestampOffset from \"+n+\" to \"+a),this._sourceBuffers[t].timestampOffset=a),delete i.timestampOffset}if(!i.data||0===i.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(i.data),this._isBufferFull=!1,\"video\"===t&&i.hasOwnProperty(\"info\")&&this._idrList.appendArray(i.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(i),22===e.code?(this._isBufferFull||this._emitter.emit(S.BUFFER_FULL),this._isBufferFull=!0):(c.a.e(this.TAG,e.message),this._emitter.emit(S.ERROR,{code:e.code,msg:e.message}))}}},e.prototype._onSourceOpen=function(){if(c.a.v(this.TAG,\"MediaSource onSourceOpen\"),this._mediaSource.removeEventListener(\"sourceopen\",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(S.SOURCE_OPEN)},e.prototype._onSourceEnded=function(){c.a.v(this.TAG,\"MediaSource onSourceEnded\")},e.prototype._onSourceClose=function(){c.a.v(this.TAG,\"MediaSource onSourceClose\"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener(\"sourceopen\",this.e.onSourceOpen),this._mediaSource.removeEventListener(\"sourceended\",this.e.onSourceEnded),this._mediaSource.removeEventListener(\"sourceclose\",this.e.onSourceClose))},e.prototype._hasPendingSegments=function(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0},e.prototype._hasPendingRemoveRanges=function(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0},e.prototype._onSourceBufferUpdateEnd=function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(S.UPDATE_END)},e.prototype._onSourceBufferError=function(e){c.a.e(this.TAG,\"SourceBuffer Error: \"+e)},e}(),T=i(5),L={NETWORK_ERROR:\"NetworkError\",MEDIA_ERROR:\"MediaError\",OTHER_ERROR:\"OtherError\"},w={NETWORK_EXCEPTION:d.b.EXCEPTION,NETWORK_STATUS_CODE_INVALID:d.b.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:d.b.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:d.b.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:\"MediaMSEError\",MEDIA_FORMAT_ERROR:T.a.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:T.a.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:T.a.CODEC_UNSUPPORTED},k=function(){function e(e,t){this.TAG=\"MSEPlayer\",this._type=\"MSEPlayer\",this._emitter=new h.a,this._config=s(),\"object\"==typeof t&&Object.assign(this._config,t);var i=e.type.toLowerCase();if(\"mse\"!==i&&\"mpegts\"!==i&&\"m2ts\"!==i&&\"flv\"!==i)throw new A.b(\"MSEPlayer requires an mpegts/m2ts/flv MediaDataSource input!\");!0===e.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=e,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var n=u.a.chrome&&(u.a.version.major<50||50===u.a.version.major&&u.a.version.build<2661);this._alwaysSeekKeyframe=!!(n||u.a.msedge||u.a.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return e.prototype.destroy=function(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null},e.prototype.on=function(e,t){var i=this;e===l.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then((function(){i._emitter.emit(l.MEDIA_INFO,i.mediaInfo)})):e===l.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then((function(){i._emitter.emit(l.STATISTICS_INFO,i.statisticsInfo)})),this._emitter.addListener(e,t)},e.prototype.off=function(e,t){this._emitter.removeListener(e,t)},e.prototype.attachMediaElement=function(e){var t=this;if(this._mediaElement=e,e.addEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),e.addEventListener(\"seeking\",this.e.onvSeeking),e.addEventListener(\"canplay\",this.e.onvCanPlay),e.addEventListener(\"stalled\",this.e.onvStalled),e.addEventListener(\"progress\",this.e.onvProgress),this._msectl=new R(this._config),this._msectl.on(S.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(S.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(S.SOURCE_OPEN,(function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())})),this._msectl.on(S.ERROR,(function(e){t._emitter.emit(l.ERROR,L.MEDIA_ERROR,w.MEDIA_MSE_ERROR,e)})),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}},e.prototype.detachMediaElement=function(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener(\"seeking\",this.e.onvSeeking),this._mediaElement.removeEventListener(\"canplay\",this.e.onvCanPlay),this._mediaElement.removeEventListener(\"stalled\",this.e.onvStalled),this._mediaElement.removeEventListener(\"progress\",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)},e.prototype.load=function(){var e=this;if(!this._mediaElement)throw new A.a(\"HTMLMediaElement must be attached before load()!\");if(this._transmuxer)throw new A.a(\"MSEPlayer.load() has been called, please call unload() first!\");this._hasPendingLoad||(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened?this._hasPendingLoad=!0:(this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new b(this._mediaDataSource,this._config),this._transmuxer.on(v.a.INIT_SEGMENT,(function(t,i){e._msectl.appendInitSegment(i)})),this._transmuxer.on(v.a.MEDIA_SEGMENT,(function(t,i){if(e._msectl.appendMediaSegment(i),e._config.lazyLoad&&!e._config.isLive){var n=e._mediaElement.currentTime;i.info.endDts>=1e3*(n+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(c.a.v(e.TAG,\"Maximum buffering duration exceeded, suspend transmuxing task\"),e._suspendTransmuxer())}})),this._transmuxer.on(v.a.LOADING_COMPLETE,(function(){e._msectl.endOfStream(),e._emitter.emit(l.LOADING_COMPLETE)})),this._transmuxer.on(v.a.RECOVERED_EARLY_EOF,(function(){e._emitter.emit(l.RECOVERED_EARLY_EOF)})),this._transmuxer.on(v.a.IO_ERROR,(function(t,i){e._emitter.emit(l.ERROR,L.NETWORK_ERROR,t,i)})),this._transmuxer.on(v.a.DEMUX_ERROR,(function(t,i){e._emitter.emit(l.ERROR,L.MEDIA_ERROR,t,{code:-1,msg:i})})),this._transmuxer.on(v.a.MEDIA_INFO,(function(t){e._mediaInfo=t,e._emitter.emit(l.MEDIA_INFO,Object.assign({},t))})),this._transmuxer.on(v.a.METADATA_ARRIVED,(function(t){e._emitter.emit(l.METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SCRIPTDATA_ARRIVED,(function(t){e._emitter.emit(l.SCRIPTDATA_ARRIVED,t)})),this._transmuxer.on(v.a.TIMED_ID3_METADATA_ARRIVED,(function(t){e._emitter.emit(l.TIMED_ID3_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SMPTE2038_METADATA_ARRIVED,(function(t){e._emitter.emit(l.SMPTE2038_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.SCTE35_METADATA_ARRIVED,(function(t){e._emitter.emit(l.SCTE35_METADATA_ARRIVED,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_DESCRIPTOR,(function(t){e._emitter.emit(l.PES_PRIVATE_DATA_DESCRIPTOR,t)})),this._transmuxer.on(v.a.PES_PRIVATE_DATA_ARRIVED,(function(t){e._emitter.emit(l.PES_PRIVATE_DATA_ARRIVED,t)})),this._transmuxer.on(v.a.STATISTICS_INFO,(function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(l.STATISTICS_INFO,Object.assign({},e._statisticsInfo))})),this._transmuxer.on(v.a.RECOMMEND_SEEKPOINT,(function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)})),this._transmuxer.open()))},e.prototype.unload=function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,\"type\",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"buffered\",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"duration\",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"volume\",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"muted\",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentTime\",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mediaInfo\",{get:function(){return Object.assign({},this._mediaInfo)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"statisticsInfo\",{get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)},enumerable:!1,configurable:!0}),e.prototype._fillStatisticsInfo=function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var a=this._mediaElement.getVideoPlaybackQuality();i=a.totalVideoFrames,n=a.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},e.prototype._onmseUpdateEnd=function(){var e=this._mediaElement.buffered,t=this._mediaElement.currentTime;if(this._config.isLive&&this._config.liveBufferLatencyChasing&&e.length>0&&!this._mediaElement.paused){var i=e.end(e.length-1);if(i>this._config.liveBufferLatencyMaxLatency&&i-t>this._config.liveBufferLatencyMaxLatency){var n=i-this._config.liveBufferLatencyMinRemain;this.currentTime=n}}if(this._config.lazyLoad&&!this._config.isLive){for(var a=0,r=0;r=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(c.a.v(this.TAG,\"Maximum buffering duration exceeded, suspend transmuxing task\"),this._suspendTransmuxer())}},e.prototype._onmseBufferFull=function(){c.a.v(this.TAG,\"MSE SourceBuffer is full, suspend transmuxing task\"),null==this._progressChecker&&this._suspendTransmuxer()},e.prototype._suspendTransmuxer=function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))},e.prototype._checkProgressAndResume=function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,i=!1,n=0;n=a&&e=r-this._config.lazyLoadRecoverDuration&&(i=!0);break}}i&&(window.clearInterval(this._progressChecker),this._progressChecker=null,i&&(c.a.v(this.TAG,\"Continue loading from paused position\"),this._transmuxer.resume()))},e.prototype._isTimepointBuffered=function(e){for(var t=this._mediaElement.buffered,i=0;i=n&&e0){var a=this._mediaElement.buffered.start(0);(a<1&&e0&&t.currentTime0){var n=i.start(0);if(n<1&&t0&&(this._mediaElement.currentTime=0),this._mediaElement.preload=\"auto\",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)},e.prototype.unload=function(){this._mediaElement&&(this._mediaElement.src=\"\",this._mediaElement.removeAttribute(\"src\")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)},e.prototype.play=function(){return this._mediaElement.play()},e.prototype.pause=function(){this._mediaElement.pause()},Object.defineProperty(e.prototype,\"type\",{get:function(){return this._type},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"buffered\",{get:function(){return this._mediaElement.buffered},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"duration\",{get:function(){return this._mediaElement.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"volume\",{get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"muted\",{get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"currentTime\",{get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"mediaInfo\",{get:function(){var e={mimeType:(this._mediaElement instanceof HTMLAudioElement?\"audio/\":\"video/\")+this._mediaDataSource.type};return this._mediaElement&&(e.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(e.width=this._mediaElement.videoWidth,e.height=this._mediaElement.videoHeight)),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"statisticsInfo\",{get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,i=0,n=0;if(this._mediaElement.getVideoPlaybackQuality){var a=this._mediaElement.getVideoPlaybackQuality();i=a.totalVideoFrames,n=a.droppedVideoFrames}else null!=this._mediaElement.webkitDecodedFrameCount?(i=this._mediaElement.webkitDecodedFrameCount,n=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=i,e.droppedFrames=n),e},enumerable:!1,configurable:!0}),e.prototype._onvLoadedMetadata=function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(l.MEDIA_INFO,this.mediaInfo)},e.prototype._reportStatisticsInfo=function(){this._emitter.emit(l.STATISTICS_INFO,this.statisticsInfo)},e}();n.a.install();var C={createPlayer:function(e,t){var i=e;if(null==i||\"object\"!=typeof i)throw new A.b(\"MediaDataSource must be an javascript object!\");if(!i.hasOwnProperty(\"type\"))throw new A.b(\"MediaDataSource must has type field to indicate video file type!\");switch(i.type){case\"mse\":case\"mpegts\":case\"m2ts\":case\"flv\":return new k(i,t);default:return new D(i,t)}},isSupported:function(){return o.supportMSEH264Playback()},getFeatureList:function(){return o.getFeatureList()}};C.BaseLoader=d.a,C.LoaderStatus=d.c,C.LoaderErrors=d.b,C.Events=l,C.ErrorTypes=L,C.ErrorDetails=w,C.MSEPlayer=k,C.NativePlayer=D,C.LoggingControl=m.a,Object.defineProperty(C,\"version\",{enumerable:!0,get:function(){return\"1.7.3\"}});t.default=C}])}));\n//# sourceMappingURL=mpegts.js.map","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $floor = GetIntrinsic('%Math.floor%');\n\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(fn, 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(fn, 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","var ClientRequest = require('./lib/request')\nvar response = require('./lib/response')\nvar extend = require('xtend')\nvar statusCodes = require('builtin-status-codes')\nvar url = require('url')\n\nvar http = exports\n\nhttp.request = function (opts, cb) {\n\tif (typeof opts === 'string')\n\t\topts = url.parse(opts)\n\telse\n\t\topts = extend(opts)\n\n\t// Normally, the page is loaded from http or https, so not specifying a protocol\n\t// will result in a (valid) protocol-relative url. However, this won't work if\n\t// the protocol is something else, like 'file:'\n\tvar defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''\n\n\tvar protocol = opts.protocol || defaultProtocol\n\tvar host = opts.hostname || opts.host\n\tvar port = opts.port\n\tvar path = opts.path || '/'\n\n\t// Necessary for IPv6 addresses\n\tif (host && host.indexOf(':') !== -1)\n\t\thost = '[' + host + ']'\n\n\t// This may be a relative url. The browser should always be able to interpret it correctly.\n\topts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path\n\topts.method = (opts.method || 'GET').toUpperCase()\n\topts.headers = opts.headers || {}\n\n\t// Also valid opts.auth, opts.mode\n\n\tvar req = new ClientRequest(opts)\n\tif (cb)\n\t\treq.on('response', cb)\n\treturn req\n}\n\nhttp.get = function get (opts, cb) {\n\tvar req = http.request(opts, cb)\n\treq.end()\n\treturn req\n}\n\nhttp.ClientRequest = ClientRequest\nhttp.IncomingMessage = response.IncomingMessage\n\nhttp.Agent = function () {}\nhttp.Agent.defaultMaxSockets = 4\n\nhttp.globalAgent = new http.Agent()\n\nhttp.STATUS_CODES = statusCodes\n\nhttp.METHODS = [\n\t'CHECKOUT',\n\t'CONNECT',\n\t'COPY',\n\t'DELETE',\n\t'GET',\n\t'HEAD',\n\t'LOCK',\n\t'M-SEARCH',\n\t'MERGE',\n\t'MKACTIVITY',\n\t'MKCOL',\n\t'MOVE',\n\t'NOTIFY',\n\t'OPTIONS',\n\t'PATCH',\n\t'POST',\n\t'PROPFIND',\n\t'PROPPATCH',\n\t'PURGE',\n\t'PUT',\n\t'REPORT',\n\t'SEARCH',\n\t'SUBSCRIBE',\n\t'TRACE',\n\t'UNLOCK',\n\t'UNSUBSCRIBE'\n]","exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)\n\nexports.writableStream = isFunction(global.WritableStream)\n\nexports.abortController = isFunction(global.AbortController)\n\n// The xhr request to example.com may violate some restrictive CSP configurations,\n// so if we're running in a browser that supports `fetch`, avoid calling getXHR()\n// and assume support for certain features below.\nvar xhr\nfunction getXHR () {\n\t// Cache the xhr value\n\tif (xhr !== undefined) return xhr\n\n\tif (global.XMLHttpRequest) {\n\t\txhr = new global.XMLHttpRequest()\n\t\t// If XDomainRequest is available (ie only, where xhr might not work\n\t\t// cross domain), use the page location. Otherwise use example.com\n\t\t// Note: this doesn't actually make an http request.\n\t\ttry {\n\t\t\txhr.open('GET', global.XDomainRequest ? '/' : 'https://example.com')\n\t\t} catch(e) {\n\t\t\txhr = null\n\t\t}\n\t} else {\n\t\t// Service workers don't have XHR\n\t\txhr = null\n\t}\n\treturn xhr\n}\n\nfunction checkTypeSupport (type) {\n\tvar xhr = getXHR()\n\tif (!xhr) return false\n\ttry {\n\t\txhr.responseType = type\n\t\treturn xhr.responseType === type\n\t} catch (e) {}\n\treturn false\n}\n\n// If fetch is supported, then arraybuffer will be supported too. Skip calling\n// checkTypeSupport(), since that calls getXHR().\nexports.arraybuffer = exports.fetch || checkTypeSupport('arraybuffer')\n\n// These next two tests unavoidably show warnings in Chrome. Since fetch will always\n// be used if it's available, just return false for these to avoid the warnings.\nexports.msstream = !exports.fetch && checkTypeSupport('ms-stream')\nexports.mozchunkedarraybuffer = !exports.fetch && checkTypeSupport('moz-chunked-arraybuffer')\n\n// If fetch is supported, then overrideMimeType will be supported too. Skip calling\n// getXHR().\nexports.overrideMimeType = exports.fetch || (getXHR() ? isFunction(getXHR().overrideMimeType) : false)\n\nfunction isFunction (value) {\n\treturn typeof value === 'function'\n}\n\nxhr = null // Help gc\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar response = require('./response')\nvar stream = require('readable-stream')\n\nvar IncomingMessage = response.IncomingMessage\nvar rStates = response.readyStates\n\nfunction decideMode (preferBinary, useFetch) {\n\tif (capability.fetch && useFetch) {\n\t\treturn 'fetch'\n\t} else if (capability.mozchunkedarraybuffer) {\n\t\treturn 'moz-chunked-arraybuffer'\n\t} else if (capability.msstream) {\n\t\treturn 'ms-stream'\n\t} else if (capability.arraybuffer && preferBinary) {\n\t\treturn 'arraybuffer'\n\t} else {\n\t\treturn 'text'\n\t}\n}\n\nvar ClientRequest = module.exports = function (opts) {\n\tvar self = this\n\tstream.Writable.call(self)\n\n\tself._opts = opts\n\tself._body = []\n\tself._headers = {}\n\tif (opts.auth)\n\t\tself.setHeader('Authorization', 'Basic ' + Buffer.from(opts.auth).toString('base64'))\n\tObject.keys(opts.headers).forEach(function (name) {\n\t\tself.setHeader(name, opts.headers[name])\n\t})\n\n\tvar preferBinary\n\tvar useFetch = true\n\tif (opts.mode === 'disable-fetch' || ('requestTimeout' in opts && !capability.abortController)) {\n\t\t// If the use of XHR should be preferred. Not typically needed.\n\t\tuseFetch = false\n\t\tpreferBinary = true\n\t} else if (opts.mode === 'prefer-streaming') {\n\t\t// If streaming is a high priority but binary compatibility and\n\t\t// the accuracy of the 'content-type' header aren't\n\t\tpreferBinary = false\n\t} else if (opts.mode === 'allow-wrong-content-type') {\n\t\t// If streaming is more important than preserving the 'content-type' header\n\t\tpreferBinary = !capability.overrideMimeType\n\t} else if (!opts.mode || opts.mode === 'default' || opts.mode === 'prefer-fast') {\n\t\t// Use binary if text streaming may corrupt data or the content-type header, or for speed\n\t\tpreferBinary = true\n\t} else {\n\t\tthrow new Error('Invalid value for opts.mode')\n\t}\n\tself._mode = decideMode(preferBinary, useFetch)\n\tself._fetchTimer = null\n\tself._socketTimeout = null\n\tself._socketTimer = null\n\n\tself.on('finish', function () {\n\t\tself._onFinish()\n\t})\n}\n\ninherits(ClientRequest, stream.Writable)\n\nClientRequest.prototype.setHeader = function (name, value) {\n\tvar self = this\n\tvar lowerName = name.toLowerCase()\n\t// This check is not necessary, but it prevents warnings from browsers about setting unsafe\n\t// headers. To be honest I'm not entirely sure hiding these warnings is a good thing, but\n\t// http-browserify did it, so I will too.\n\tif (unsafeHeaders.indexOf(lowerName) !== -1)\n\t\treturn\n\n\tself._headers[lowerName] = {\n\t\tname: name,\n\t\tvalue: value\n\t}\n}\n\nClientRequest.prototype.getHeader = function (name) {\n\tvar header = this._headers[name.toLowerCase()]\n\tif (header)\n\t\treturn header.value\n\treturn null\n}\n\nClientRequest.prototype.removeHeader = function (name) {\n\tvar self = this\n\tdelete self._headers[name.toLowerCase()]\n}\n\nClientRequest.prototype._onFinish = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\tvar opts = self._opts\n\n\tif ('timeout' in opts && opts.timeout !== 0) {\n\t\tself.setTimeout(opts.timeout)\n\t}\n\n\tvar headersObj = self._headers\n\tvar body = null\n\tif (opts.method !== 'GET' && opts.method !== 'HEAD') {\n body = new Blob(self._body, {\n type: (headersObj['content-type'] || {}).value || ''\n });\n }\n\n\t// create flattened list of headers\n\tvar headersList = []\n\tObject.keys(headersObj).forEach(function (keyName) {\n\t\tvar name = headersObj[keyName].name\n\t\tvar value = headersObj[keyName].value\n\t\tif (Array.isArray(value)) {\n\t\t\tvalue.forEach(function (v) {\n\t\t\t\theadersList.push([name, v])\n\t\t\t})\n\t\t} else {\n\t\t\theadersList.push([name, value])\n\t\t}\n\t})\n\n\tif (self._mode === 'fetch') {\n\t\tvar signal = null\n\t\tif (capability.abortController) {\n\t\t\tvar controller = new AbortController()\n\t\t\tsignal = controller.signal\n\t\t\tself._fetchAbortController = controller\n\n\t\t\tif ('requestTimeout' in opts && opts.requestTimeout !== 0) {\n\t\t\t\tself._fetchTimer = global.setTimeout(function () {\n\t\t\t\t\tself.emit('requestTimeout')\n\t\t\t\t\tif (self._fetchAbortController)\n\t\t\t\t\t\tself._fetchAbortController.abort()\n\t\t\t\t}, opts.requestTimeout)\n\t\t\t}\n\t\t}\n\n\t\tglobal.fetch(self._opts.url, {\n\t\t\tmethod: self._opts.method,\n\t\t\theaders: headersList,\n\t\t\tbody: body || undefined,\n\t\t\tmode: 'cors',\n\t\t\tcredentials: opts.withCredentials ? 'include' : 'same-origin',\n\t\t\tsignal: signal\n\t\t}).then(function (response) {\n\t\t\tself._fetchResponse = response\n\t\t\tself._resetTimers(false)\n\t\t\tself._connect()\n\t\t}, function (reason) {\n\t\t\tself._resetTimers(true)\n\t\t\tif (!self._destroyed)\n\t\t\t\tself.emit('error', reason)\n\t\t})\n\t} else {\n\t\tvar xhr = self._xhr = new global.XMLHttpRequest()\n\t\ttry {\n\t\t\txhr.open(self._opts.method, self._opts.url, true)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Can't set responseType on really old browsers\n\t\tif ('responseType' in xhr)\n\t\t\txhr.responseType = self._mode\n\n\t\tif ('withCredentials' in xhr)\n\t\t\txhr.withCredentials = !!opts.withCredentials\n\n\t\tif (self._mode === 'text' && 'overrideMimeType' in xhr)\n\t\t\txhr.overrideMimeType('text/plain; charset=x-user-defined')\n\n\t\tif ('requestTimeout' in opts) {\n\t\t\txhr.timeout = opts.requestTimeout\n\t\t\txhr.ontimeout = function () {\n\t\t\t\tself.emit('requestTimeout')\n\t\t\t}\n\t\t}\n\n\t\theadersList.forEach(function (header) {\n\t\t\txhr.setRequestHeader(header[0], header[1])\n\t\t})\n\n\t\tself._response = null\n\t\txhr.onreadystatechange = function () {\n\t\t\tswitch (xhr.readyState) {\n\t\t\t\tcase rStates.LOADING:\n\t\t\t\tcase rStates.DONE:\n\t\t\t\t\tself._onXHRProgress()\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// Necessary for streaming in Firefox, since xhr.response is ONLY defined\n\t\t// in onprogress, not in onreadystatechange with xhr.readyState = 3\n\t\tif (self._mode === 'moz-chunked-arraybuffer') {\n\t\t\txhr.onprogress = function () {\n\t\t\t\tself._onXHRProgress()\n\t\t\t}\n\t\t}\n\n\t\txhr.onerror = function () {\n\t\t\tif (self._destroyed)\n\t\t\t\treturn\n\t\t\tself._resetTimers(true)\n\t\t\tself.emit('error', new Error('XHR error'))\n\t\t}\n\n\t\ttry {\n\t\t\txhr.send(body)\n\t\t} catch (err) {\n\t\t\tprocess.nextTick(function () {\n\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\n/**\n * Checks if xhr.status is readable and non-zero, indicating no error.\n * Even though the spec says it should be available in readyState 3,\n * accessing it throws an exception in IE8\n */\nfunction statusValid (xhr) {\n\ttry {\n\t\tvar status = xhr.status\n\t\treturn (status !== null && status !== 0)\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\nClientRequest.prototype._onXHRProgress = function () {\n\tvar self = this\n\n\tself._resetTimers(false)\n\n\tif (!statusValid(self._xhr) || self._destroyed)\n\t\treturn\n\n\tif (!self._response)\n\t\tself._connect()\n\n\tself._response._onXHRProgress(self._resetTimers.bind(self))\n}\n\nClientRequest.prototype._connect = function () {\n\tvar self = this\n\n\tif (self._destroyed)\n\t\treturn\n\n\tself._response = new IncomingMessage(self._xhr, self._fetchResponse, self._mode, self._resetTimers.bind(self))\n\tself._response.on('error', function(err) {\n\t\tself.emit('error', err)\n\t})\n\n\tself.emit('response', self._response)\n}\n\nClientRequest.prototype._write = function (chunk, encoding, cb) {\n\tvar self = this\n\n\tself._body.push(chunk)\n\tcb()\n}\n\nClientRequest.prototype._resetTimers = function (done) {\n\tvar self = this\n\n\tglobal.clearTimeout(self._socketTimer)\n\tself._socketTimer = null\n\n\tif (done) {\n\t\tglobal.clearTimeout(self._fetchTimer)\n\t\tself._fetchTimer = null\n\t} else if (self._socketTimeout) {\n\t\tself._socketTimer = global.setTimeout(function () {\n\t\t\tself.emit('timeout')\n\t\t}, self._socketTimeout)\n\t}\n}\n\nClientRequest.prototype.abort = ClientRequest.prototype.destroy = function (err) {\n\tvar self = this\n\tself._destroyed = true\n\tself._resetTimers(true)\n\tif (self._response)\n\t\tself._response._destroyed = true\n\tif (self._xhr)\n\t\tself._xhr.abort()\n\telse if (self._fetchAbortController)\n\t\tself._fetchAbortController.abort()\n\n\tif (err)\n\t\tself.emit('error', err)\n}\n\nClientRequest.prototype.end = function (data, encoding, cb) {\n\tvar self = this\n\tif (typeof data === 'function') {\n\t\tcb = data\n\t\tdata = undefined\n\t}\n\n\tstream.Writable.prototype.end.call(self, data, encoding, cb)\n}\n\nClientRequest.prototype.setTimeout = function (timeout, cb) {\n\tvar self = this\n\n\tif (cb)\n\t\tself.once('timeout', cb)\n\n\tself._socketTimeout = timeout\n\tself._resetTimers(false)\n}\n\nClientRequest.prototype.flushHeaders = function () {}\nClientRequest.prototype.setNoDelay = function () {}\nClientRequest.prototype.setSocketKeepAlive = function () {}\n\n// Taken from http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader%28%29-method\nvar unsafeHeaders = [\n\t'accept-charset',\n\t'accept-encoding',\n\t'access-control-request-headers',\n\t'access-control-request-method',\n\t'connection',\n\t'content-length',\n\t'cookie',\n\t'cookie2',\n\t'date',\n\t'dnt',\n\t'expect',\n\t'host',\n\t'keep-alive',\n\t'origin',\n\t'referer',\n\t'te',\n\t'trailer',\n\t'transfer-encoding',\n\t'upgrade',\n\t'via'\n]\n","var capability = require('./capability')\nvar inherits = require('inherits')\nvar stream = require('readable-stream')\n\nvar rStates = exports.readyStates = {\n\tUNSENT: 0,\n\tOPENED: 1,\n\tHEADERS_RECEIVED: 2,\n\tLOADING: 3,\n\tDONE: 4\n}\n\nvar IncomingMessage = exports.IncomingMessage = function (xhr, response, mode, resetTimers) {\n\tvar self = this\n\tstream.Readable.call(self)\n\n\tself._mode = mode\n\tself.headers = {}\n\tself.rawHeaders = []\n\tself.trailers = {}\n\tself.rawTrailers = []\n\n\t// Fake the 'close' event, but only once 'end' fires\n\tself.on('end', function () {\n\t\t// The nextTick is necessary to prevent the 'request' module from causing an infinite loop\n\t\tprocess.nextTick(function () {\n\t\t\tself.emit('close')\n\t\t})\n\t})\n\n\tif (mode === 'fetch') {\n\t\tself._fetchResponse = response\n\n\t\tself.url = response.url\n\t\tself.statusCode = response.status\n\t\tself.statusMessage = response.statusText\n\t\t\n\t\tresponse.headers.forEach(function (header, key){\n\t\t\tself.headers[key.toLowerCase()] = header\n\t\t\tself.rawHeaders.push(key, header)\n\t\t})\n\n\t\tif (capability.writableStream) {\n\t\t\tvar writable = new WritableStream({\n\t\t\t\twrite: function (chunk) {\n\t\t\t\t\tresetTimers(false)\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tif (self._destroyed) {\n\t\t\t\t\t\t\treject()\n\t\t\t\t\t\t} else if(self.push(Buffer.from(chunk))) {\n\t\t\t\t\t\t\tresolve()\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself._resumeFetch = resolve\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t\tclose: function () {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.push(null)\n\t\t\t\t},\n\t\t\t\tabort: function (err) {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t}\n\t\t\t})\n\n\t\t\ttry {\n\t\t\t\tresponse.body.pipeTo(writable).catch(function (err) {\n\t\t\t\t\tresetTimers(true)\n\t\t\t\t\tif (!self._destroyed)\n\t\t\t\t\t\tself.emit('error', err)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t} catch (e) {} // pipeTo method isn't defined. Can't find a better way to feature test this\n\t\t}\n\t\t// fallback for when writableStream or pipeTo aren't available\n\t\tvar reader = response.body.getReader()\n\t\tfunction read () {\n\t\t\treader.read().then(function (result) {\n\t\t\t\tif (self._destroyed)\n\t\t\t\t\treturn\n\t\t\t\tresetTimers(result.done)\n\t\t\t\tif (result.done) {\n\t\t\t\t\tself.push(null)\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tself.push(Buffer.from(result.value))\n\t\t\t\tread()\n\t\t\t}).catch(function (err) {\n\t\t\t\tresetTimers(true)\n\t\t\t\tif (!self._destroyed)\n\t\t\t\t\tself.emit('error', err)\n\t\t\t})\n\t\t}\n\t\tread()\n\t} else {\n\t\tself._xhr = xhr\n\t\tself._pos = 0\n\n\t\tself.url = xhr.responseURL\n\t\tself.statusCode = xhr.status\n\t\tself.statusMessage = xhr.statusText\n\t\tvar headers = xhr.getAllResponseHeaders().split(/\\r?\\n/)\n\t\theaders.forEach(function (header) {\n\t\t\tvar matches = header.match(/^([^:]+):\\s*(.*)/)\n\t\t\tif (matches) {\n\t\t\t\tvar key = matches[1].toLowerCase()\n\t\t\t\tif (key === 'set-cookie') {\n\t\t\t\t\tif (self.headers[key] === undefined) {\n\t\t\t\t\t\tself.headers[key] = []\n\t\t\t\t\t}\n\t\t\t\t\tself.headers[key].push(matches[2])\n\t\t\t\t} else if (self.headers[key] !== undefined) {\n\t\t\t\t\tself.headers[key] += ', ' + matches[2]\n\t\t\t\t} else {\n\t\t\t\t\tself.headers[key] = matches[2]\n\t\t\t\t}\n\t\t\t\tself.rawHeaders.push(matches[1], matches[2])\n\t\t\t}\n\t\t})\n\n\t\tself._charset = 'x-user-defined'\n\t\tif (!capability.overrideMimeType) {\n\t\t\tvar mimeType = self.rawHeaders['mime-type']\n\t\t\tif (mimeType) {\n\t\t\t\tvar charsetMatch = mimeType.match(/;\\s*charset=([^;])(;|$)/)\n\t\t\t\tif (charsetMatch) {\n\t\t\t\t\tself._charset = charsetMatch[1].toLowerCase()\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!self._charset)\n\t\t\t\tself._charset = 'utf-8' // best guess\n\t\t}\n\t}\n}\n\ninherits(IncomingMessage, stream.Readable)\n\nIncomingMessage.prototype._read = function () {\n\tvar self = this\n\n\tvar resolve = self._resumeFetch\n\tif (resolve) {\n\t\tself._resumeFetch = null\n\t\tresolve()\n\t}\n}\n\nIncomingMessage.prototype._onXHRProgress = function (resetTimers) {\n\tvar self = this\n\n\tvar xhr = self._xhr\n\n\tvar response = null\n\tswitch (self._mode) {\n\t\tcase 'text':\n\t\t\tresponse = xhr.responseText\n\t\t\tif (response.length > self._pos) {\n\t\t\t\tvar newData = response.substr(self._pos)\n\t\t\t\tif (self._charset === 'x-user-defined') {\n\t\t\t\t\tvar buffer = Buffer.alloc(newData.length)\n\t\t\t\t\tfor (var i = 0; i < newData.length; i++)\n\t\t\t\t\t\tbuffer[i] = newData.charCodeAt(i) & 0xff\n\n\t\t\t\t\tself.push(buffer)\n\t\t\t\t} else {\n\t\t\t\t\tself.push(newData, self._charset)\n\t\t\t\t}\n\t\t\t\tself._pos = response.length\n\t\t\t}\n\t\t\tbreak\n\t\tcase 'arraybuffer':\n\t\t\tif (xhr.readyState !== rStates.DONE || !xhr.response)\n\t\t\t\tbreak\n\t\t\tresponse = xhr.response\n\t\t\tself.push(Buffer.from(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'moz-chunked-arraybuffer': // take whole\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING || !response)\n\t\t\t\tbreak\n\t\t\tself.push(Buffer.from(new Uint8Array(response)))\n\t\t\tbreak\n\t\tcase 'ms-stream':\n\t\t\tresponse = xhr.response\n\t\t\tif (xhr.readyState !== rStates.LOADING)\n\t\t\t\tbreak\n\t\t\tvar reader = new global.MSStreamReader()\n\t\t\treader.onprogress = function () {\n\t\t\t\tif (reader.result.byteLength > self._pos) {\n\t\t\t\t\tself.push(Buffer.from(new Uint8Array(reader.result.slice(self._pos))))\n\t\t\t\t\tself._pos = reader.result.byteLength\n\t\t\t\t}\n\t\t\t}\n\t\t\treader.onload = function () {\n\t\t\t\tresetTimers(true)\n\t\t\t\tself.push(null)\n\t\t\t}\n\t\t\t// reader.onerror = ??? // TODO: this\n\t\t\treader.readAsArrayBuffer(response)\n\t\t\tbreak\n\t}\n\n\t// The ms-stream case handles end separately in reader.onload()\n\tif (self._xhr.readyState === rStates.DONE && self._mode !== 'ms-stream') {\n\t\tresetTimers(true)\n\t\tself.push(null)\n\t}\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjczOTc5NTQ2Mjk4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI1MzkiIGlkPSJteF9uXzE2NzM5Nzk1NDYyOTkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTUxMiA3MTkuMzZjNy42OCAwIDEyLjgtMi41NiAxNy45Mi03LjY4bDE4MS43Ni0xODEuNzZjMTAuMjQtMTAuMjQgMTAuMjQtMjUuNiAwLTM1Ljg0bC0xODEuNzYtMTgxLjc2Yy01LjEyLTUuMTItMTIuOC03LjY4LTE3LjkyLTcuNjhzLTEyLjggMi41Ni0xNy45MiA3LjY4bC0xODEuNzYgMTgxLjc2Yy0xMC4yNCAxMC4yNC0xMC4yNCAyNS42IDAgMzUuODRsMTgxLjc2IDE4MS43NmM1LjEyIDUuMTIgMTAuMjQgNy42OCAxNy45MiA3LjY4eiBtMC0zNTMuMjhsMTQ1LjkyIDE0NS45Mi0xNDUuOTIgMTQ1LjkyLTE0NS45Mi0xNDUuOTIgMTQ1LjkyLTE0NS45MnoiIHAtaWQ9IjI1NDAiIGZpbGw9IiNlNmU2ZTYiPjwvcGF0aD48cGF0aCBkPSJNNTEyIDUxLjJjLTEwMi40IDAtMjAyLjI0IDMzLjI4LTI4MS42IDk3LjI4VjEwMi40YzAtMTIuOC0xMC4yNC0yNS42LTI1LjYtMjUuNi0xMi44IDAtMjUuNiAxMC4yNC0yNS42IDI1LjZ2OTkuODRjMCA3LjY4IDIuNTYgMTUuMzYgNy42OCAyMC40OCAyLjU2IDIuNTYgNS4xMiA1LjEyIDEwLjI0IDUuMTIgMi41NiAwIDUuMTIgMi41NiA3LjY4IDIuNTZoMTAyLjRjMTIuOCAwIDI1LjYtMTAuMjQgMjUuNi0yNS42IDAtMTIuOC0xMC4yNC0yNS42LTI1LjYtMjUuNmgtMzMuMjhjNjkuMTItNDguNjQgMTUxLjA0LTc2LjggMjM4LjA4LTc2LjggMjI1LjI4IDAgNDA5LjYgMTg0LjMyIDQwOS42IDQwOS42IDAgMTUuMzYgMTAuMjQgMjUuNiAyNS42IDI1LjZzMjUuNi0xMC4yNCAyNS42LTI1LjZjMC0yNTMuNDQtMjA3LjM2LTQ2MC44LTQ2MC44LTQ2MC44ek04MzcuMTIgODAxLjI4Yy01LjEyLTUuMTItMTIuOC03LjY4LTIwLjQ4LTcuNjhoLTEwMi40Yy0xMi44IDAtMjUuNiAxMC4yNC0yNS42IDI1LjYgMCAxMi44IDEwLjI0IDI1LjYgMjUuNiAyNS42aDMzLjI4Yy02OS4xMiA0OC42NC0xNTEuMDQgNzYuOC0yMzguMDggNzYuOC0yMjUuMjggMC00MDkuNi0xODQuMzItNDA5LjYtNDA5LjYgMC0xNS4zNi0xMC4yNC0yNS42LTI1LjYtMjUuNnMtMjUuNiAxMC4yNC0yNS42IDI1LjZjMCAyNTMuNDQgMjA3LjM2IDQ2MC44IDQ2MC44IDQ2MC44IDEwMi40IDAgMjAyLjI0LTMzLjI4IDI4MS42LTk3LjI4djQ2LjA4YzAgMTIuOCAxMC4yNCAyNS42IDI1LjYgMjUuNiAxMi44IDAgMjUuNi0xMC4yNCAyNS42LTI1LjZ2LTEwMi40YzIuNTYtNS4xMiAwLTEyLjgtNS4xMi0xNy45MnoiIHAtaWQ9IjI1NDEiIGZpbGw9IiNlNmU2ZTYiPjwvcGF0aD48L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiI+DQogICAgPHBhdGggZD0iTTE2LjExOCAzLjY2N2guMzgyYTMuNjY3IDMuNjY3IDAgMDEzLjY2NyAzLjY2N3Y3LjMzM2EzLjY2NyAzLjY2NyAwIDAxLTMuNjY3IDMuNjY3aC0xMWEzLjY2NyAzLjY2NyAwIDAxLTMuNjY3LTMuNjY3VjcuMzMzQTMuNjY3IDMuNjY3IDAgMDE1LjUgMy42NjZoLjM4Mkw0Ljk1IDIuMDUzYTEuMSAxLjEgMCAwMTEuOTA2LTEuMWwxLjU2NyAyLjcxNGg1LjE1NkwxNS4xNDYuOTUzYTEuMTAxIDEuMTAxIDAgMDExLjkwNiAxLjFsLS45MzQgMS42MTR6IiBmaWxsPSIjMzMzIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTUuNTYxIDUuMTk0aDEwLjg3OGEyLjIgMi4yIDAgMDEyLjIgMi4ydjcuMjExYTIuMiAyLjIgMCAwMS0yLjIgMi4ySDUuNTYxYTIuMiAyLjIgMCAwMS0yLjItMi4yVjcuMzk0YTIuMiAyLjIgMCAwMTIuMi0yLjJ6IiBmaWxsPSIjZmZmIj48L3BhdGg+DQogICAgPHBhdGggZD0iTTYuOTY3IDguNTU2YTEuMSAxLjEgMCAwMTEuMSAxLjF2Mi42ODlhMS4xIDEuMSAwIDExLTIuMiAwVjkuNjU2YTEuMSAxLjEgMCAwMTEuMS0xLjF6TTE1LjAzMyA4LjU1NmExLjEgMS4xIDAgMDExLjEgMS4xdjIuNjg5YTEuMSAxLjEgMCAxMS0yLjIgMFY5LjY1NmExLjEgMS4xIDAgMDExLjEtMS4xeiIgZmlsbD0iIzMzMyI+PC9wYXRoPg0KPC9zdmc+\"","export default \"data:image/gif;base64,R0lGODlhWgBaALMOAHR0dAICAnd3dwEBAXh4eAMDAwkJCQ0NDQsLCxwcHA4ODggICHl5eQAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYWE1ODg5ZS1jN2RmLTRmZmUtYjkzOS0wMmVkMTZhNmNjZDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0I2ODI2NjA1NzhGMTFFNkEyMEVDNzhEOUY1RkQxRjgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0I2ODI2NUY1NzhGMTFFNkEyMEVDNzhEOUY1RkQxRjgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjljYjgzNjY2LWYxYWUtNGMyZi1hMGEwLThhODJmYjIxM2U0MyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmU1NDE3YzFmLTllODAtMTE3OS04NjdiLWUy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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQsAAAELCAYAAADOVaNSAAAACXBIWXMAAC4jAAAuIwF4pT92AAAGaGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTktMDUtMDZUMjE6Mzk6MzErMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE5LTA1LTA2VDIxOjQwOjU1KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE5LTA1LTA2VDIxOjQwOjU1KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNhN2I0MGQwLTlkN2ItNDAwOS04YmMwLTY1NjZmY2I2OGQ5MyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjllYTQ0NDEzLTA5YWMtNGE0YS05OGI4LTZmMjQ1ZTViYmI4NiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjlmZmM1YzJkLTA4ODEtNGU2My1hYTdhLWJmMDhiZTU3YzQ5ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OWZmYzVjMmQtMDg4MS00ZTYzLWFhN2EtYmYwOGJlNTdjNDllIiBzdEV2dDp3aGVuPSIyMDE5LTA1LTA2VDIxOjM5OjMxKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozYTdiNDBkMC05ZDdiLTQwMDktOGJjMC02NTY2ZmNiNjhkOTMiIHN0RXZ0OndoZW49IjIwMTktMDUtMDZUMjE6NDA6NTUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ph7aCJkAADakSURBVHic7Z15mBTV1f+/VdVd3T09+8DAMMzCNjAgDPu+CQgq/lzAgBolRN8YQUTDi7yuPC4JwdckAhoNcUtIBH0TFMH4aCIGBRQBwxNBEFDRwCCLCA7M0vvv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\"","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","import Artplayer from 'artplayer';\r\nimport mpegts from 'mpegts.js';\r\nimport artplayerPluginDanmuku from 'artplayer-plugin-danmuku';\r\n\r\nimport ploading from \"./img/ploading.gif\";\r\nimport state from \"./img/state.png\";\r\nimport indicator from \"./img/indicator.svg\";\r\nimport filp from \"./img/filp.svg\";\r\nimport http from \"stream-http\";\r\n\r\n(() => {\r\n class FIFO {\r\n #indexedDB;\r\n #ok=false;\r\n #db;\r\n #size=0;\r\n #cu=1;\r\n #dbN=\"FIFO\"+new Date().getTime();\r\n #objN=\"fifo\"+new Date().getTime();\r\n\r\n constructor(okf = (_)=>{}) {\r\n const that = this;\r\n this.#indexedDB = window.indexedDB;\r\n if (!this.#indexedDB) {\r\n console.error(\"IndexedDB could not be found in this browser.\");\r\n }\r\n\r\n this.close().catch();\r\n\r\n const request = this.#indexedDB.open(this.#dbN, 1);\r\n\r\n request.onerror = function (event) {\r\n console.error(\"An error occurred with IndexedDB\");\r\n console.error(event);\r\n };\r\n \r\n request.onupgradeneeded = function () {\r\n that.#db = request.result;\r\n that.#db.createObjectStore(that.#objN, { keyPath: \"id\", autoIncrement: true });\r\n };\r\n \r\n request.onsuccess = function () {\r\n console.log(\"Database opened successfully\");\r\n that.#db = request.result;\r\n that.#ok = true;\r\n if(okf)okf(that);\r\n };\r\n }\r\n\r\n #getTx(mode,func) {\r\n if(!this.#ok)return;\r\n const transaction = this.#db.transaction(this.#objN, mode);\r\n transaction.onerror = (event) => {\r\n console.error(\"An error occurred with put\");\r\n console.error(event);\r\n };\r\n transaction.oncomplete = function () {};\r\n return func(transaction, transaction.objectStore(this.#objN));\r\n }\r\n\r\n #stillTx(transaction,func) {\r\n return func(transaction, transaction.objectStore(this.#objN));\r\n }\r\n\r\n size(){\r\n return new Promise((resolve) => resolve(this.#size));\r\n }\r\n\r\n showSize(){\r\n return this.#getTx(\"readonly\", (transaction, store)=>{\r\n const idQuery = store.count();\r\n idQuery.onsuccess = function () {\r\n console.log(this.#size);\r\n };\r\n });\r\n }\r\n\r\n put(data){\r\n const that = this;\r\n return this.#getTx(\"readwrite\", (transaction, store)=>{\r\n return new Promise((resolve) => {\r\n store.put({ data: data });\r\n that.#size += 1;\r\n resolve(that.#size);\r\n });\r\n });\r\n }\r\n\r\n get(){\r\n const that = this;\r\n return this.#getTx(\"readwrite\", (transaction, store)=>{\r\n return new Promise((resolve, reject) => {\r\n const idQuery = store.get(that.#cu);\r\n idQuery.onsuccess = async function () {\r\n if(idQuery.result){\r\n that.#size -= 1;\r\n that.#cu += 1;\r\n await that.#stillTx(transaction, (transaction, store)=>{\r\n return new Promise((resolve) => {\r\n transaction.oncomplete = function () {\r\n resolve();\r\n };\r\n store.delete(idQuery.result.id)\r\n });\r\n });\r\n resolve({size: that.#size, data: idQuery.result.data});\r\n } else reject();\r\n };\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * @returns .then(e=>{}).catch(e=>{});\r\n */\r\n close(){\r\n if(this.#ok)this.#db.close();\r\n return new Promise((resolve, reject) => {\r\n const DBDeleteRequest = this.#indexedDB.deleteDatabase(this.#dbN);\r\n DBDeleteRequest.onerror = (event) => {\r\n reject(\"Error deleting database.\");\r\n };\r\n\r\n DBDeleteRequest.onsuccess = (event) => {\r\n if(event.result===undefined)resolve(\"Database deleted successfully.\");\r\n else reject(\"Error deleting fail.\");\r\n };\r\n });\r\n }\r\n\r\n deleteOnExit() {\r\n let that = this;\r\n window.addEventListener('beforeunload', function (e) {\r\n that.close().catch(()=>{});\r\n });\r\n }\r\n\r\n static test() {\r\n new FIFO(async fifo=>{\r\n fifo.put(1).then(size=>size!=1?console.error(\"size:1 \",size):console.log(\"1ok\"));\r\n fifo.put(2).then(size=>size!=2?console.error(\"size:2 \",size):console.log(\"2ok\"));\r\n fifo.put(3).then(size=>size!=3?console.error(\"size:3 \",size):console.log(\"3ok\"));\r\n fifo.put(4).then(size=>size!=4?console.error(\"size:4 \",size):console.log(\"4ok\"));\r\n fifo.size().then(size=>size!=4?console.error(\"size:4 \",size):console.log(\"5ok\"));\r\n console.log('1!')\r\n await fifo.get().then(result=>result.id!=1?console.error(result):console.log(\"6ok\")).catch(()=>{});\r\n console.log('2!')\r\n await fifo.get().then(result=>result.id!=2?console.error(result):console.log(\"7ok\")).catch(()=>{});\r\n console.log('3!')\r\n fifo.close().then(r=>console.log(r)).catch(result=>console.error(result));\r\n console.log(\"fin\");\r\n });\r\n }\r\n }\r\n\r\n class EventPromise {\r\n #eventEL = document.createElement(\"_\");\r\n \r\n eventCall(name, data = undefined, el = this.#eventEL){\r\n let e = new Event(name, {bubbles: true, cancelable: false})\r\n e.detail = data;\r\n el.dispatchEvent(e);\r\n }\r\n\r\n promise(name, bootFunc = ({event: event})=>{}){\r\n return EventPromise.toPromise(this, name, bootFunc);\r\n }\r\n\r\n /**\r\n * cover event listener to promise\r\n * @param {*} object \r\n * @param {*} event name \r\n * @param {*} bootFunc {event: event} => {}\r\n * @returns .then(({event: event, data: data}) => {}).catch(({event: event, error: error}) => {})\r\n */\r\n static toPromise(object, name, bootFunc = ({event: event})=>{}){\r\n return new Promise((resolve, reject) => {\r\n let event = object.addEventListener(name, data =>{\r\n object.removeEventListener(name, event);\r\n resolve({object:object, name:name, event: event, data: data});\r\n });\r\n try {\r\n bootFunc({event: event});\r\n } catch (error) {\r\n object.removeEventListener(name, event);\r\n reject({object:object, name:name, event: event, error: error});\r\n }\r\n });\r\n }\r\n\r\n addEventListener(name, func, el = this.#eventEL){\r\n let eventFunc = e=>func(e.detail);\r\n el.addEventListener(name, eventFunc);\r\n return eventFunc;\r\n }\r\n\r\n removeEventListener(name, eventFunc, el = this.#eventEL){\r\n el.addEventListener(name, eventFunc);\r\n }\r\n\r\n constructor(name){\r\n this.#eventEL = document.createElement(name);\r\n }\r\n\r\n static test(){\r\n let ep = new EventPromise();\r\n ep.addEventListener(\"test\", data=>{\r\n if (data==\"ss\")console.log(\"event ok\");\r\n else console.error(data);\r\n });\r\n ep.promise(\"test\").then(data=>{\r\n if (data==\"ss\")console.log(\"promise ok\");\r\n else console.error(data);\r\n });\r\n ep.eventCall('test','ss');\r\n }\r\n }\r\n\r\n class MSC extends EventPromise {\r\n #fetchDone = false;\r\n #forceExit = false;\r\n #exit = () => this.#forceExit || this.#bufLen <= 1 && this.#fifoL == 0 && this.#fetchDone;\r\n #fifo;\r\n\r\n #id = new Date().getTime();\r\n #url = \"\";\r\n #loadedRange = 0;\r\n #video;\r\n #fifoL = 0;\r\n #bufLen = 0;\r\n #sourceBuffer;\r\n #mediaSource;\r\n\r\n #mp4LoadFromDB = 20;\r\n #mp4StopFromDB = 30;\r\n #mp4LoadFromWeb = 1000;\r\n #mp4StopFromWeb = 2000;\r\n\r\n #loopIfFalse(f, miliSec = 1000, rejectFail = false){\r\n return new Promise((reslove, reject)=>{\r\n if(f())return reslove();\r\n let l = () => setTimeout(()=>{\r\n if(f())return reslove();\r\n else if(rejectFail)return reject();\r\n else return l();\r\n },miliSec);\r\n l();\r\n });\r\n }\r\n\r\n #fetchLoop = () => {\r\n let that = this;\r\n var reqHeaders = new Headers();\r\n reqHeaders.append(\"Range\", \"bytes=\"+that.#loadedRange+\"-\");\r\n\r\n fetch(new Request(that.#url,{\r\n method: \"GET\",\r\n headers: reqHeaders,\r\n mode: \"cors\",\r\n cache: \"default\",\r\n }))\r\n .then((response) => {\r\n const reader = response.body.getReader();\r\n reader.read().then(function pump({ done, value }) {\r\n if(done)return that.eventCall(\"fetch.done\", \"ok\");\r\n if(that.#exit())return;\r\n \r\n that.#loadedRange += value.length;\r\n that.#fifo.put(value).then(tfifoL=>{that.#fifoL = tfifoL;});\r\n\r\n if(that.#fifoL>that.#mp4StopFromWeb){\r\n reader.cancel();\r\n return that.#loopIfFalse(()=>that.#exit() || that.#fifoLthat.#fetchLoop());\r\n }\r\n return reader.read().then(pump);\r\n });\r\n })\r\n .catch(({event: event, error: error}) => that.eventCall(\"error\", {altmsg: error}));\r\n }\r\n\r\n #sourceBufferLoop = () => {\r\n let that = this;\r\n let deal = () => {\r\n\r\n if(that.#mediaSource.sourceBuffers.length != 0 && that.#sourceBuffer.buffered.length != 0)\r\n that.#bufLen = that.#sourceBuffer.buffered.end(that.#sourceBuffer.buffered.length-1) - that.#video.currentTime;\r\n else that.#bufLen = 0;\r\n\r\n if(that.#exit()){\r\n try {\r\n that.eventCall(\"mediaSource.sourceended\");\r\n that.#mediaSource.endOfStream();\r\n } catch {}\r\n return;\r\n }\r\n\r\n if(that.#bufLen{\r\n that.#fifoL = size;\r\n that.#sourceBuffer.appendBuffer(data);\r\n })\r\n .catch(()=>setTimeout(deal, 1000));\r\n } else {\r\n return that.#loopIfFalse(()=>{\r\n if(that.#mediaSource.sourceBuffers.length != 0 && that.#sourceBuffer.buffered.length != 0)\r\n that.#bufLen = that.#sourceBuffer.buffered.end(that.#sourceBuffer.buffered.length-1) - that.#video.currentTime;\r\n else that.#bufLen = 0;\r\n return that.#exit() || that.#bufLen{\r\n if(that.#exit())return;\r\n console.log(\"[%s] fifo: %d buf: %d\", that.#id, that.#fifoL, that.#bufLen);\r\n that.#stateLoop();\r\n }, 2000);\r\n }\r\n\r\n #watchExit(){\r\n let exitf = (o) => {\r\n this.#forceExit = true;\r\n this.removeEventListener(\"mediaSource.sourceended\", exitf);\r\n this.removeEventListener(\"beforeunload\", exitf, window);\r\n this.removeEventListener(\"mediaSource.error\", exitf);\r\n this.removeEventListener(\"error\", exitf, this.#video);\r\n this.removeEventListener(\"error\", exitf, this.#sourceBuffer);\r\n if(o.event && o.event.name && o.event.name.indexOf(\"error\") != -1)console.error(o);\r\n else console.log(o);\r\n if(o.event && o.event.altmsg)alert(o.altmsg);\r\n }\r\n this.promise(\"mediaSource.sourceended\").then(exitf).catch(()=>{});\r\n this.promise(\"mediaSource.error\").then(exitf).catch(()=>{});\r\n EventPromise.toPromise(window, \"beforeunload\").then(exitf).catch(()=>{});\r\n EventPromise.toPromise(this.#video, \"error\").then(exitf).catch(()=>{});\r\n EventPromise.toPromise(this.#sourceBuffer, \"error\").then(exitf).catch(()=>{});\r\n }\r\n\r\n constructor({\r\n video: video, \r\n url: url, \r\n mimeType: mimeType = 'video/mp4; codecs=\"avc1.640032,mp4a.40.2\"', \r\n mode: mode = \"sequence\",\r\n mp4LoadFromDB = 20,\r\n mp4StopFromDB = 30,\r\n mp4LoadFromWeb = 1000,\r\n mp4StopFromWeb = 2000\r\n }){\r\n super();\r\n\r\n let that = this;\r\n that.#url = url;\r\n that.#video = video;\r\n that.#mp4LoadFromDB = mp4LoadFromDB;\r\n that.#mp4StopFromDB = mp4StopFromDB;\r\n that.#mp4LoadFromWeb = mp4LoadFromWeb;\r\n that.#mp4StopFromWeb = mp4StopFromWeb;\r\n\r\n if (!MediaSource.isTypeSupported(mimeType)) {\r\n that.eventCall(\"mediaSource.error\", {altmsg: mimeType+\" not Supported\"});\r\n return;\r\n }\r\n\r\n this.#mediaSource = new MediaSource();\r\n this.#mediaSource.addEventListener('sourceopen', () => {\r\n\r\n that.eventCall(\"mediaSource.sourceopen\");\r\n\r\n that.#sourceBuffer = that.#mediaSource.addSourceBuffer(mimeType);\r\n that.#sourceBuffer.mode = mode;\r\n\r\n if(that.#mediaSource.sourceBuffers.length == 0){\r\n that.eventCall(\"mediaSource.error\", {altmsg: \"addSourceBuffer error\"});\r\n return;\r\n }\r\n\r\n this.promise(\"fetch.done\").then(()=>{\r\n that.#fetchDone = true;\r\n console.log(\"[%s] fetch.done\", that.#id);\r\n });\r\n\r\n that.#watchExit();\r\n\r\n that.#stateLoop();\r\n\r\n that.#sourceBufferLoop();\r\n\r\n that.#fetchLoop();\r\n });\r\n\r\n new FIFO(fifo => {\r\n console.log(that);\r\n fifo.deleteOnExit();\r\n that.#fifo = fifo;\r\n that.#video.src = URL.createObjectURL(that.#mediaSource);\r\n });\r\n }\r\n }\r\n\r\n console.log(\"init 31\");\r\n let player,\r\n flvPlayer,\r\n config = {\r\n conn: undefined,\r\n container: '.artplayer-app',\r\n url: \"../stream?_=\" + new Date().getTime()+\"&ref=\"+new URL(window.location.href).searchParams.get(\"ref\"),\r\n title: \"\" + new Date().getTime(),\r\n type: new URL(window.location.href).searchParams.get(\"format\")||\"flv\",\r\n volume: 0.5,\r\n hotkey: true,\r\n isLive: true,\r\n muted: false,\r\n autoplay: true,\r\n autoMini: true,\r\n screenshot: true,\r\n setting: true,\r\n loop: false,\r\n flip: true,\r\n playbackRate: true,\r\n aspectRatio: true,\r\n fullscreen: true,\r\n fullscreenWeb: true,\r\n subtitleOffset: true,\r\n miniProgressBar: true,\r\n mutex: true,\r\n backdrop: true,\r\n playsInline: true,\r\n autoPlayback: true,\r\n theme: '#23ade5',\r\n lang: navigator.language.toLowerCase(),\r\n whitelist: ['*'],\r\n moreVideoAttr: {\r\n crossOrigin: 'anonymous',\r\n },\r\n settings: [],\r\n contextmenu: [],\r\n layers: [],\r\n quality: [],\r\n thumbnails: {},\r\n subtitle: {},\r\n highlight: [],\r\n controls: [\r\n {\r\n name: '翻转',\r\n index: 10,\r\n position: 'right',\r\n html: '',\r\n click: function (...args) {\r\n let f = function(...e){\r\n // if(e)alert(e);\r\n rotate(document.querySelector('.art-video'));\r\n rotate(document.querySelector('.art-danmuku'));\r\n }, rotate = function(element) {\r\n if(element.style.transform == 'rotateZ(0deg)' || element.style.transform == ''){\r\n element.style.transform = 'rotateZ(180deg)';\r\n }\r\n else {\r\n element.style.transform = 'rotateZ(0deg)';\r\n }\r\n };\r\n\r\n switch (screen.orientation.type) {\r\n case \"landscape-primary\":\r\n screen.orientation.lock(\"landscape-secondary\").catch(e=>{f(e);});\r\n break;\r\n case \"landscape-secondary\":\r\n screen.orientation.lock(\"landscape-primary\").catch(e=>{f(e);});\r\n break;\r\n case \"portrait-secondary\":\r\n screen.orientation.lock(\"portrait-primary\").catch(e=>{f(e);});\r\n break;\r\n case \"portrait-primary\":\r\n screen.orientation.lock(\"portrait-secondary\").catch(e=>{f(e);});\r\n break;\r\n default:\r\n f();\r\n }\r\n },\r\n }\r\n ],\r\n plugins: [\r\n artplayerPluginDanmuku({\r\n danmuku: [],\r\n speed: 7,\r\n opacity: 0.7,\r\n }),\r\n ],\r\n icons: {\r\n loading: '',\r\n state: '',\r\n indicator: '',\r\n },\r\n customType: {\r\n mp4: (video, url) => {\r\n if(url.indexOf(\"now\")!=-1)new MSC({video: video, url: url});\r\n else video.src = url;\r\n },\r\n flv: function (video, url) {\r\n var needUnload = true;\r\n if(flvPlayer){\r\n needUnload = false;\r\n flvPlayer.destroy();\r\n }\r\n if (mpegts.getFeatureList().mseLivePlayback) {\r\n flvPlayer = mpegts.createPlayer({\r\n type: 'flv', // could also be mpegts, m2ts, flv\r\n isLive: true,\r\n url: url\r\n });\r\n flvPlayer.attachMediaElement(video);\r\n flvPlayer.load();\r\n flvPlayer.on(\"error\", function(){\r\n flvPlayer.destroy();\r\n var c = config;\r\n c.type=\"mp4\";\r\n initPlay(c);\r\n })\r\n if(needUnload){\r\n setTimeout(function(){\r\n if(flvPlayer.paused)flvPlayer.unload();\r\n },1000);\r\n }\r\n }\r\n },\r\n },\r\n };\r\n \r\n /**\r\n * ws 收发\r\n */\r\n function ws(player) {\r\n if (window[\"WebSocket\"]) {\r\n var conn = new WebSocket(\"ws://\" + window.location.host + window.location.pathname+\"ws?ref=\"+new URL(window.location.href).searchParams.get(\"ref\"));\r\n let interval_handle = undefined;\r\n player.on('video:error', conn.close);\r\n conn.onclose = function (evt) {\r\n clearInterval(interval_handle)\r\n };\r\n conn.onmessage = function (evt) {\r\n try {\r\n let data = JSON.parse(evt.data)\r\n player.plugins.artplayerPluginDanmuku.emit({\r\n text: data.text,\r\n color: data.style.color,\r\n border: data.style.border,\r\n mode: data.style.mode,\r\n });\r\n if(!interval_handle)interval_handle = setInterval(()=>{\r\n if(conn && player && player.currentTime)conn.send(player.currentTime);\r\n },3000);\r\n } catch (e) {\r\n console.log(e)\r\n console.log(evt.data)\r\n }\r\n };\r\n conn.onerror = () => {\r\n clearInterval(interval_handle)\r\n };\r\n conn.onopen = function () {\r\n conn.send(`pause`);\r\n config.conn = conn;\r\n };\r\n }\r\n }\r\n\r\n function initPlay(config) {\r\n if(player != undefined && player.destroy != undefined)player.destroy();\r\n player = new Artplayer(config);\r\n ws(player);\r\n player.on('ready', () => {\r\n player.autoHeight();\r\n });\r\n player.on('resize', () => {\r\n player.autoHeight();\r\n });\r\n player.on('video:play', (...args) => {\r\n if(config.conn != undefined)config.conn.send(`play`);\r\n });\r\n player.on('pause', (...args) => {\r\n if(config.conn != undefined)config.conn.send(`pause`);\r\n });\r\n player.on('video:error', (...args) => {\r\n console.log(\"clear danmu\");\r\n player.plugins.artplayerPluginDanmuku.config({\r\n danmuku: [],\r\n speed: 7,\r\n opacity: 0.7,\r\n });\r\n player.plugins.artplayerPluginDanmuku.load();\r\n if(config.conn != undefined){\r\n config.conn.close();\r\n config.conn = undefined;\r\n }\r\n ws(player);\r\n });\r\n player.on('video:ended', (...args) => {\r\n if(config.conn != undefined){\r\n config.conn.close();\r\n config.conn = undefined;\r\n }\r\n if(flvPlayer)flvPlayer.unload();\r\n });\r\n player.on('artplayerPluginDanmuku:visible', (danmu) => {\r\n danmu.$ref.innerHTML = danmu.$ref.innerText.replace(/(\\[.*\\])/,\"\\\"$1\\\"\");\r\n });\r\n player.on('artplayerPluginDanmuku:emit', (danmu) => {\r\n if(config.conn != undefined)config.conn.send(\"%S\"+danmu.text);\r\n });\r\n document.addEventListener(\"resize\", player.autoSize);\r\n // window.addEventListener('beforeunload', function (e) {\r\n // tabUnload = true;\r\n // });\r\n }\r\n\r\n http.get('../keepAlive', function (res) {\r\n res.on('data', function (buf) {\r\n config.url += \"&key=\"+buf;\r\n initPlay(config);\r\n let i = setInterval(function () {\r\n http.get('../keepAlive?key='+buf, function (res) {\r\n if (res.statusCode>=300)clearInterval(i);\r\n })\r\n },15000);\r\n });\r\n })\r\n})();"],"names":[],"sourceRoot":""} \ No newline at end of file -- 2.39.2